Erro do portador = "invalid_token", error_description = "A assinatura é inválida"
Eu tenho um aplicativo angular que solicita um token do azure. O login correu bem e recebo um token. Agora, esse token é enviado do aplicativo angular para um aplicativo webapi do núcleo da rede. O núcleo da rede deve verificar esse token, mas falhou. Acho que o webapi também deve entrar em contato com o azure para validar o token, pois não tem conhecimento da chave pública e privada necessária para verificar o token.
No momento, não está claro por que está falhando. O aplicativo angular e o webapi estão sendo executados localmente no meu computador.
O erro é:Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException: 'IDX10500: Signature validation failed. No security keys were provided to validate the signature.'
minha configuração do net core 2 é:
var tokenValidationParameters = new TokenValidationParameters
{
RequireExpirationTime = true,
RequireSignedTokens = false,
ValidateIssuerSigningKey = true,
ValidateIssuer = true,
ValidIssuer = "8d708afe-2966-40b7-918c-a39551625958",
ValidateAudience = true,
ValidAudience = "https://sts.windows.net/a1d50521-9687-4e4d-a76d-ddd53ab0c668/",
ValidateLifetime = false,
ClockSkew = TimeSpan.Zero
};
services.AddAuthentication(options =>
{
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
options.Audience = "8d708afe-2966-40b7-918c-a39551625958";
options.ClaimsIssuer = "https://sts.windows.net/a1d50521-9687-4e4d-a76d-ddd53ab0c668/";
options.RequireHttpsMetadata=false;
options.TokenValidationParameters = tokenValidationParameters;
options.SaveToken = true;
});