Я недавно начал миграцию своего решения .NET Framework на ядро .NET, и теперь это связано с использованием сервера удостоверений 4 с внешним поставщиком аутентификации.Мне все еще нужно будет получить доступ к устаревшим веб-API в моем монолите, используя токен на предъявителя, который выдает мой idp.
Я настроил свой запуск следующим образом:
app.UseJwtBearerAuthentication(new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
TokenValidationParameters = new TokenValidationParameters()
{
ValidAudience = "MyApi",
ValidIssuer = identityServer,
}
}
, однако я получаю следующееошибка при попытке получить доступ к моему защищенному устаревшему интерфейсу API:
Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationMiddleware Ошибка: 0: сбой аутентификацииНевозможно сопоставить ключи: kid: '[PII скрыт]', токен: '[PII скрыт]'.в
System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateSignature (строковый токен, TokenValidationParameters validationParameters) в System.IdentityModel.Tokens.Jwt.JwtS validateOwin.Security.Jwt.JwtFormat.Unprotect (String protectedText) в Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationHandler.d__3.MoveNext ()
В настоящее время не удается использовать IdentityServerer.AccessTokenValidation, который, в свою очередь, полагается на IdenityMonitor> 2.0, который я в настоящее время использую 4.0 и не могу упасть до 2.0.
Мне интересно, смогу ли я по-прежнему проверять токены-носители из моей службы IdS4 (который использует внешний сервер аутентификации) в моем приложении .NET Framework с использованием UseJwtBearerAuthentication?А может я что-то не правильно настроил?