Error map
PKCE verification failed OAuth PKCE error: invalid_grant — PKCE verification failed / code_verifier does not match code_challenge / code_challenge required
Authentication · layer 4, Application & API
Centre: this error. First ring: errors it is linked with (8). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.
Directly related (8)
OAuth 2.0 Error: invalid_grant
The authorization code, refresh token or credentials sent to the token endpoint are invalid, expired, already used or were issued…
Firebase Auth: auth/popup-closed-by-user / auth/popup-blocked / auth/cancelled-popup-request
The OAuth popup for Google/GitHub sign-in was closed, blocked by the browser, or replaced by another popup request.
OAuth 2.0 Error: invalid_request (missing or invalid parameter)
The authorization or token request is malformed — a required parameter is missing, duplicated, or has an invalid value.
OAuth callback error: state mismatch / Unable to verify authorization request state / State cookie was missing
The state value returned to the callback doesn’t match what the app stored before redirecting — the CSRF protection for OAuth fai…
GitHub OAuth: {"error":"bad_verification_code","error_description":"The code passed is incorrect or expired."}
The authorization code sent to GitHub’s token endpoint was already used, expired (10 minutes), or belongs to another OAuth app.
Google OAuth: Error 401: deleted_client — The OAuth client was deleted
The OAuth client ID used in the request has been deleted from the Google Cloud project.
Firebase Auth: auth/unauthorized-domain — This domain is not authorized for OAuth operations for your Firebase project
The site’s domain isn’t listed in Firebase Authentication → Settings → Authorized domains.
OAuth 2.0 Error: unsupported_response_type
The authorize request asked for a response_type the client or server doesn’t allow — e.g. token (implicit) when only code is enab…
Two steps away (24)
Azure AD (Entra ID): AADSTS700016 Application not found in the directory
The client ID in your sign-in request doesn’t exist in the tenant you’re authenticating against.
HTTP 400 Bad Request
The server could not understand the request because its syntax, headers or body are malformed or invalid.
HTTP 401 Unauthorized
The request has no valid authentication credentials — you need to log in or send a valid token.
TypeError: Failed to fetch / NetworkError when attempting to fetch resource
The browser couldn’t complete the request at the network level — CORS, DNS, offline, blocked mixed content, or the server refused…
OAuth Error: redirect_uri_mismatch
The redirect URI in your OAuth request doesn’t exactly match one registered for the client in the provider’s console.
OAuth 2.0 Error: invalid_client
The OAuth server couldn’t authenticate your application — wrong client ID/secret, wrong auth method, or the client doesn’t exist…
API Error: Missing required parameter (parameter_missing / "x" is required)
The API rejected the request because a field it requires — in the query string, path, headers or JSON body — wasn’t sent or was e…
API Error: Invalid type — expected integer, received string
A request field has the wrong data type — a string where the API expects a number, a number where it expects a boolean, an object…
API Error: Invalid parameter value — must be one of the allowed values / out of range
The field has the right type but a value the API doesn’t allow — not in the list of accepted options, too small or large, too lon…
HTTP 431 Request Header Fields Too Large
The request headers — almost always cookies — exceed the server’s size limit.
Laravel: 419 Page Expired (CSRF token mismatch)
Laravel rejected a POST because the CSRF token was missing, expired or didn’t match the session.
Forbidden (403) CSRF verification failed. Request aborted.
Django rejected a POST because the CSRF token was missing, wrong, or the request origin isn’t trusted.
OAuth 2.0 Error: invalid_scope / insufficient_scope
The requested scope is unknown or not allowed for this client — or the token lacks the scope the API endpoint requires.
AADSTS500113: No reply address is registered for the application
The app registration has no redirect URI for the platform being used, so Entra ID has nowhere to send the response.
OAuth 2.0 Error: access_denied (The user or authorization server denied the request)
The authorization request was refused — the user clicked Cancel/Deny on the consent screen, or a policy denied access.
OAuth 2.0 Error: unauthorized_client (client not allowed to use this grant type)
The client exists, but isn’t allowed to use the requested flow (grant type or response type).
OAuth 2.0 Error: unsupported_grant_type
The token endpoint didn’t recognise grant_type — usually because the body wasn’t sent as application/x-www-form-urlencoded, or th…
Google OAuth: Error 403: access_denied — The developer hasn't given you access to this app / has not completed the Google verification process
The Google OAuth app is in “Testing” publishing status and the signing-in account isn’t listed as a test user.
Google OAuth: Google hasn't verified this app / This app isn't verified
The OAuth app requests sensitive or restricted scopes and hasn’t passed Google’s verification, so users see a warning screen.
Google OAuth: Error 403: disallowed_useragent (sign-in from an embedded WebView)
Google blocks OAuth sign-in inside embedded WebViews (in-app browsers, Electron BrowserWindow, React Native WebView).
Firebase Auth: auth/invalid-credential (auth/wrong-password, auth/user-not-found, auth/invalid-login-credentials)
Firebase rejected the email/password sign-in — wrong password, no such user, or a provider credential that’s malformed/expired.
NextAuth / Auth.js: [next-auth][error][NO_SECRET] Please define a `secret` in production / MissingSecret
Auth.js needs a secret (NEXTAUTH_SECRET / AUTH_SECRET) in production to sign and encrypt tokens/cookies.
MongoDB: MongoParseError: Invalid scheme, expected connection string to start with "mongodb://" or "mongodb+srv://"
The connection string is missing, malformed, or the environment variable holding it is undefined.
Nginx: nginx: [emerg] unknown directive "x" in /etc/nginx/sites-enabled/x:12 — configuration file test failed
Nginx found a directive it doesn’t know — a typo, a missing semicolon on the previous line, a directive from a module that isn’t…
Map another error
Popular: 403500400TypeErrorCritical error0xC000007BNullPointerException404