Проверка подписи не удалась. Ключи безопасности не были предоставлены для проверки подписи - PullRequest
0 голосов
/ 17 мая 2019

Я настраиваю IdentityServer4 и пытался защитить веб-API с помощью токена jwt.Вот когда я вызываю API с токеном, я получаю

IDX10500: Ошибка проверки подписи.Ключи безопасности не были предоставлены для проверки подписи.

Веб-API Я зарегистрировал службу, как показано ниже

services
.AddAuthentication("Bearer")
.AddIdentityServerAuthentication(options =>
{
    options.Authority = Environment.GetEnvironmentVariable("https://localhost:44394/");
    options.RequireHttpsMetadata = false;
    options.ApiName = "api1";
});

Это подробный журнал

Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler: Информация: не удалось проверить токен.

Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException: IDX10500: сбой проверки подписи.Ключи безопасности не были предоставлены для проверки подписи.на System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateSignature (String знак, TokenValidationParameters validationParameters) в System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateToken (String знак, TokenValidationParameters validationParameters, SecurityToken & validatedToken) в Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync () Microsoft.AspNetCore.Authentication.Сообщение об ошибке: IDX10500: Ошибка проверки подписи.Ключи безопасности для проверки подписи не предоставлены.

Может ли кто-нибудь помочь мне разобраться с этим?

1 Ответ

1 голос
/ 17 мая 2019

Проблема в том, что вы не установили полномочия.При отладке вы увидите, что Environment.GetEnvironmentVariable("https://localhost:44394/") фактически равен нулю.

Чтобы решить эту проблему, замените его допустимой переменной или используйте альтернативный источник.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...