Error map
OAuthAccountNotLinked NextAuth / Auth.js: OAuthAccountNotLinked — To confirm your identity, sign in with the same account you used originally
Authentication · layer 4, Application & API
Centre: this error. First ring: errors it is linked with (7). 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 (7)
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: 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.
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).
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.
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.
Two steps away (21)
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.
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 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…
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.
PERMISSION_DENIED: The caller does not have permission (insufficient permissions)
You are authenticated, but your identity isn’t allowed to perform this action on this resource.
AADSTS65001: The user or administrator has not consented to use the application
The app needs permissions that haven’t been granted for this user or tenant.
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.
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.
Keycloak: We are sorry... Invalid parameter: redirect_uri
The redirect_uri in the login request isn’t in the Keycloak client’s Valid Redirect URIs.
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…
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: 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…
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…
OAuth PKCE error: invalid_grant — PKCE verification failed / code_verifier does not match code_challenge / code_challenge required
The code_verifier sent to the token endpoint doesn’t match the code_challenge from the authorize request, or PKCE is required but…
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…
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.
HTTP 413 Content Too Large (Request Entity Too Large)
The request body is bigger than the server is willing to accept — usually a file upload over the configured limit.
Kubernetes: CreateContainerConfigError — secret / configmap not found
Kubernetes can’t build the container’s configuration — usually a referenced Secret, ConfigMap or key doesn’t exist in that namesp…
hint: You have divergent branches and need to specify how to reconcile them.
Git 2.27+ asks you to choose merge, rebase or fast-forward-only when local and remote both have new commits.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException