Невозможно использовать UseJwtBearerAuthentication для доступа к устаревшей WebApI: SecurityTokenSignatureKeyNotFoundException - PullRequest
0 голосов
/ 01 марта 2019

Я недавно начал миграцию своего решения .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?А может я что-то не правильно настроил?

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