Error map

unauthorized_client OAuth 2.0 Error: unauthorized_client (client not allowed to use this grant type)

Authentication · layer 4, Application & API

Open the full error page →

Centre: this error. First ring: errors it is linked with (12). 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.

unauthorized_client — OAuth 2.0 Error: unauthorized_client (client not allowed to use this grant type) (Authentication)unauthorize…invalid_grant — OAuth 2.0 Error: invalid_grant (Authentication)invalid_grantsecretOrPrivateKey must have a value — Error: secretOrPrivateKey must have a value (jsonwebtoken sign) (Authentication)secretOrPrivateKey …redirect_uri_mismatch — OAuth Error: redirect_uri_mismatch (Authentication)redirect_uri_mismat…auth/popup-closed-by-user — Firebase Auth: auth/popup-closed-by-user / auth/popup-blocked / auth/cancelled-popup-request (Authentication)auth/popup-closed-b…MongoParseError — MongoDB: MongoParseError: Invalid scheme, expected connection string to start with "mongodb://" or "mongodb+srv://" (MongoDB)MongoParseErrorinvalid_client — OAuth 2.0 Error: invalid_client (Authentication)invalid_clientnginx: [emerg] unknown directive — Nginx: nginx: [emerg] unknown directive "x" in /etc/nginx/sites-enabled/x:12 — configuration file test failed (Nginx / Apache)nginx: [emerg] unkn…AH00558 — Apache: AH00558: apache2: Could not reliably determine the server's fully qualified domain name (Nginx / Apache)AH00558deleted_client — Google OAuth: Error 401: deleted_client — The OAuth client was deleted (Authentication)deleted_clientauth/unauthorized-domain — Firebase Auth: auth/unauthorized-domain — This domain is not authorized for OAuth operations for your Firebase project (Authentication)auth/unauthorized-d…NO_SECRET — NextAuth / Auth.js: [next-auth][error][NO_SECRET] Please define a `secret` in production / MissingSecret (Authentication)NO_SECRETunsupported_grant_type — OAuth 2.0 Error: unsupported_grant_type (Authentication)unsupported_grant_t…AADSTS700016 — Azure AD (Entra ID): AADSTS700016 Application not found in the directory (Azure)AADSTS700016400 — HTTP 400 Bad Request (HTTP)400401 — HTTP 401 Unauthorized (HTTP)401413 — HTTP 413 Content Too Large (Request Entity Too Large) (HTTP)413TokenExpiredError — JWT Expired / Invalid Token (Authentication)TokenExpiredErrorCreateContainerConfigError — Kubernetes: CreateContainerConfigError — secret / configmap not found (Kubernetes)CreateContainerConf…divergent branches — hint: You have divergent branches and need to specify how to reconcile them. (Git)divergent branchesauthor identity unknown — Author identity unknown *** Please tell me who you are. (Git)author identity unk…LF/CRLF warning — warning: in the working copy of 'x', LF will be replaced by CRLF the next time Git touches it (Git)LF/CRLF warningFailed to fetch — TypeError: Failed to fetch / NetworkError when attempting to fetch resource (JavaScript)Failed to fetchinvalid_scope — OAuth 2.0 Error: invalid_scope / insufficient_scope (Authentication)invalid_scopeQuotaExceededError — QuotaExceededError: Failed to execute 'setItem' on 'Storage': Setting the value exceeded the quota (JavaScript)QuotaExceededErrorDB connection — WordPress: Error Establishing a Database Connection (WordPress)DB connectiongpg failed to sign — error: gpg failed to sign the data — fatal: failed to write commit object (Git)gpg failed to signDataSource url not specified — Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. (Java)DataSource url not …invalid_api_key — API Error: Invalid API Key / Incorrect API key provided (API)invalid_api_keyAADSTS7000222 — AADSTS7000222: The provided client secret keys for app are expired (Azure)AADSTS7000222AADSTS500113 — AADSTS500113: No reply address is registered for the application (Azure)AADSTS5001131049 — MySQL ERROR 1049 (42000): Unknown database 'x' (MySQL)1049ERR_INVALID_ARG_TYPE — TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined (Node.js)ERR_INVALID_ARG_TYPEopen_basedir — Warning: file_exists(): open_basedir restriction in effect. File(/x) is not within the allowed path(s) (PHP)open_basedir1046 — MySQL ERROR 1046 (3D000): No database selected (MySQL)10461153 — MySQL ERROR 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes (MySQL)1153No application encryption key — Laravel: No application encryption key has been specified. (PHP)No application encr…access_denied — OAuth 2.0 Error: access_denied (The user or authorization server denied the request) (Authentication)access_deniedunsupported_response_type — OAuth 2.0 Error: unsupported_response_type (Authentication)unsupported_respons…invalid_request — OAuth 2.0 Error: invalid_request (missing or invalid parameter) (Authentication)invalid_requestPKCE verification failed — OAuth PKCE error: invalid_grant — PKCE verification failed / code_verifier does not match code_challenge / code_challenge required (Authentication)PKCE verification f…state mismatch — OAuth callback error: state mismatch / Unable to verify authorization request state / State cookie was missing (Authentication)state mismatchAccess blocked: has not completed the Google verification process — Google OAuth: Error 403: access_denied — The developer hasn't given you access to this app / has not completed the Google verification process (Authentication)Access blocked: has…PHP mail — PHP mail() returns false / emails not delivered (PHP)PHP mailUPLOAD_ERR_INI_SIZE — PHP upload error 1: The uploaded file exceeds the upload_max_filesize directive in php.ini (PHP)UPLOAD_ERR_INI_SIZEmax_input_vars — Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. (PHP)max_input_varsentity.parse.failed — API Error: Malformed JSON in request body (entity.parse.failed / JSON parse error) (API)entity.parse.failedbad_verification_code — GitHub OAuth: {"error":"bad_verification_code","error_description":"The code passed is incorrect or expired."} (Authentication)bad_verification_co…

Directly related (12)

invalid_grantAuthentication

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…

secretOrPrivateKey must have a valueAuthentication

Error: secretOrPrivateKey must have a value (jsonwebtoken sign)

jwt.sign() got an empty secret — the environment variable holding the JWT secret isn’t loaded.

redirect_uri_mismatchAuthentication

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.

auth/popup-closed-by-userAuthentication

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.

MongoParseErrorMongoDB

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.

invalid_clientAuthentication

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…

nginx: [emerg] unknown directiveNginx / Apache

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…

AH00558Nginx / Apache

Apache: AH00558: apache2: Could not reliably determine the server's fully qualified domain name

A harmless startup warning: Apache has no global ServerName, so it guessed one from the host’s IP.

deleted_clientAuthentication

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.

auth/unauthorized-domainAuthentication

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.

NO_SECRETAuthentication

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.

unsupported_grant_typeAuthentication

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…

Two steps away (35)

AADSTS700016Azure

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.

400HTTP

HTTP 400 Bad Request

The server could not understand the request because its syntax, headers or body are malformed or invalid.

401HTTP

HTTP 401 Unauthorized

The request has no valid authentication credentials — you need to log in or send a valid token.

413HTTP

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.

TokenExpiredErrorAuthentication

JWT Expired / Invalid Token

The JSON Web Token sent with the request is expired, malformed or signed with a different key, so the API rejects it (usually wit…

CreateContainerConfigErrorKubernetes

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…

divergent branchesGit

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.

author identity unknownGit

Author identity unknown *** Please tell me who you are.

Git doesn’t know your name and email for commits.

LF/CRLF warningGit

warning: in the working copy of 'x', LF will be replaced by CRLF the next time Git touches it

Git’s line-ending conversion (core.autocrlf) will change line endings in your working copy.

Failed to fetchJavaScript

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…

invalid_scopeAuthentication

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.

QuotaExceededErrorJavaScript

QuotaExceededError: Failed to execute 'setItem' on 'Storage': Setting the value exceeded the quota

localStorage/sessionStorage is full (about 5 MB per origin) or storage is disabled.

DB connectionWordPress

WordPress: Error Establishing a Database Connection

WordPress can’t connect to its MySQL/MariaDB database with the credentials in wp-config.php, or the database server is down.

gpg failed to signGit

error: gpg failed to sign the data — fatal: failed to write commit object

Commit signing is enabled but GPG couldn’t sign — no TTY for the passphrase, wrong key, or agent not running.

DataSource url not specifiedJava

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Spring Boot found JDBC/JPA on the classpath but no database URL.

invalid_api_keyAPI

API Error: Invalid API Key / Incorrect API key provided

The API didn’t recognise the key sent with the request — it’s wrong, revoked, from another environment, or sent in the wrong plac…

AADSTS7000222Azure

AADSTS7000222: The provided client secret keys for app are expired

The app registration’s client secret has expired, so service-to-service authentication fails.

AADSTS500113Azure

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.

1049MySQL

MySQL ERROR 1049 (42000): Unknown database 'x'

The database named in the connection doesn’t exist on that server.

ERR_INVALID_ARG_TYPENode.js

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined

A Node API got an argument of the wrong type — usually undefined because an env var or config value is missing.

open_basedirPHP

Warning: file_exists(): open_basedir restriction in effect. File(/x) is not within the allowed path(s)

PHP is configured to access only certain directories, and the script tried to touch a file outside them.

1046MySQL

MySQL ERROR 1046 (3D000): No database selected

A query referenced tables without a database selected (no USE and no db in the connection).

1153MySQL

MySQL ERROR 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes

A single statement or row exceeded max_allowed_packet — big BLOBs, huge INSERTs or large dump lines.

No application encryption keyPHP

Laravel: No application encryption key has been specified.

Laravel’s APP_KEY is missing, so it can’t encrypt sessions and cookies.

access_deniedAuthentication

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.

unsupported_response_typeAuthentication

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…

invalid_requestAuthentication

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.

PKCE verification failedAuthentication

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…

state mismatchAuthentication

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…

Access blocked: has not completed the Google verification processAuthentication

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.

PHP mailPHP

PHP mail() returns false / emails not delivered

PHP’s mail() function failed or emails never arrive (spam or rejected).

UPLOAD_ERR_INI_SIZEPHP

PHP upload error 1: The uploaded file exceeds the upload_max_filesize directive in php.ini

The uploaded file is bigger than PHP’s upload_max_filesize, so PHP discarded it.

max_input_varsPHP

Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini.

The form submitted more fields than PHP’s max_input_vars allows; extra fields were silently dropped.

entity.parse.failedAPI

API Error: Malformed JSON in request body (entity.parse.failed / JSON parse error)

The server couldn’t parse the request body as JSON, so it rejected the request before looking at any field.

bad_verification_codeAuthentication

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.