Pular para o conteúdo
ecdsa.com
Microsoft.IdentityModel.Tokens (.NET).NET

Mensagem de erro

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

Também aparece como

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

O texto continua com “Did not match: validationParameters.ValidIssuer: '…' or validationParameters.ValidIssuers: '…' or validationParameters.ConfigurationManager.CurrentConfiguration.Issuer: '…'”. O ASP.NET Core envia `error_description="The issuer '…' is invalid"`.

Microsoft.IdentityModel.Tokens (.NET) — SecurityTokenInvalidIssuerException

O que significa

O `iss` do token não é igual a `ValidIssuer`, a nenhuma entrada de `ValidIssuers` nem ao emissor da configuração OpenID baixada. A mensagem imprime o emissor do token e todos os valores com que ele foi comparado. No Microsoft Entra ID, o caso clássico é um token v1.0 (`https://sts.windows.net/<tenant>/`) comparado com o emissor v2.0 (`https://login.microsoftonline.com/<tenant>/v2.0`), ou o contrário.

Por que acontece

Como corrigir

  1. 1.

    Corrigir a versão do token na origem

    Definir `requestedAccessTokenVersion` como 2 no manifesto da API faz o Entra ID emitir tokens v2.0 com o emissor `login.microsoftonline.com/…/v2.0`.

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

    Aceitar os dois emissores durante uma migração

    Liste as duas formas do emissor do seu próprio locatário — nunca aceite emissores arbitrários para fazer o erro desaparecer.

    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
        ],
    };

Erros relacionados

Ver toda a base de erros de assinatura