удостоверение сервера4: почему я получаю «Ключ подписи не найден» при вызове авторизованного контроллера - PullRequest
0 голосов
/ 16 октября 2018

В настоящее время работает идентификационный сервер 4 и может получать токен доступа, используя поток client_credential.

Я использовал токен для доступа к API с сервера, но получил это сообщение

error = "invalid_token", error_description = "Ключ подписи не найден"

Я подозреваю, что мне нужно как-то проверить токен при передаче токена при вызове веб-интерфейса API.

Моя настройка такая.

services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            })
            .AddJwtBearer(options =>
            {
                options.Authority = Configuration.GetValue<string>("ApiAuthorityBaseUrl");
                options.Audience = "api1";
                options.RequireHttpsMetadata = false; 
            });

и использование AddDeveloperSigningCredential.

В AddJwtBearer есть нечто, называемое TokenValidationParameters, я не уверен, что это правильное место для решения проблемы.Может кто-нибудь дать мне несколько подсказок

1 Ответ

0 голосов
/ 21 февраля 2019

Промежуточное программное обеспечение (AddJwtBearer) пытается найти подпись в id_token для проверки с правами доступа - .well-known/openid-configuration/jwks ключей.Возможно, ваш токен может не иметь подписи личного ключа.

Возможно, в вашем случае полномочия находятся в другом месте (клон экземпляра), которые могут иметь те же параметры, но не ключи подписи.

...