Saltar al contenido
ecdsa.com
Microsoft.IdentityModel.Tokens (.NET).NET

Mensaje de error

IDX10205: Issuer validation failed. Issuer: 'https://sts.windows.net/

También se muestra como

  • IDX10205: Issuer validation failed.
  • Bearer error="invalid_token", error_description="The issuer 'https://sts.windows.net/00000000-0000-0000-0000-000000000000/' is invalid"

El texto continúa con «Did not match: validationParameters.ValidIssuer: '…' or validationParameters.ValidIssuers: '…' or validationParameters.ConfigurationManager.CurrentConfiguration.Issuer: '…'». ASP.NET Core envía `error_description="The issuer '…' is invalid"`.

Microsoft.IdentityModel.Tokens (.NET) — SecurityTokenInvalidIssuerException

Qué significa

El `iss` del token no es igual a `ValidIssuer`, a ninguna entrada de `ValidIssuers` ni al emisor de la configuración OpenID descargada. El mensaje imprime el emisor del token y todos los valores con los que se comparó. En Microsoft Entra ID, el caso de manual es un token v1.0 (`https://sts.windows.net/<tenant>/`) comprobado contra el emisor v2.0 (`https://login.microsoftonline.com/<tenant>/v2.0`), o al revés.

Por qué ocurre

Cómo solucionarlo

  1. 1.

    Corregir la versión del token en el origen

    Si estableces `requestedAccessTokenVersion` en 2 en el manifiesto de la API, Entra ID emite tokens v2.0 con el emisor `login.microsoftonline.com/…/v2.0`.

    json
    // App registration manifest of the API: issue v2.0 access tokens
    {
      "api": { "requestedAccessTokenVersion": 2 }
    }
  2. 2.

    Aceptar ambos emisores durante una migración

    Incluye las dos formas del emisor de tu propio inquilino; nunca aceptes emisores arbitrarios para que desaparezca el error.

    csharp
    options.TokenValidationParameters = new TokenValidationParameters
    {
        ValidIssuers =
        [
            $"https://login.microsoftonline.com/{tenantId}/v2.0",
            $"https://sts.windows.net/{tenantId}/", // only while v1.0 tokens are still in circulation
        ],
    };

Errores relacionados

Explorar toda la base de datos de errores de firma