Ошибка канала-носителя = "invalid_token", error_description = "Эмитент недействителен" - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть простой проект веб-API, который выглядит следующим образом:

[Authorize]
        [Route("Get")]
        public ActionResult<string> SayHello()
        {
            return "Hello World";
        }

Я пытаюсь протестировать его с почтальоном. Выполните следующие действия: https://kevinchalet.com/2016/07/13/creating-your-own-openid-connect-server-with-asos-testing-your-authorization-server-with-postman/

1) Отправьте запрос ниже и получите токен, как и ожидалось:

enter image description here

2) Попытка отправить еще один запрос с токеном авторизации, как показано ниже:

enter image description here

Почему я получаю 401 (неавторизованный) ошибка? Заголовок ответа WWW-Authenticate гласит: Ошибка носителя = "invalid_token", error_description = "Эмитент недействителен". Я использую. Net Core 3.1. Я закомментировал конфиденциальную информацию на скриншотах.

Веб-API работает, как и ожидалось, при доступе из приложения MVC.

Вот код запуска:

services.AddAuthentication("Bearer")
                .AddIdentityServerAuthentication(options =>
                {
                    options.Authority = identityUrl; //identityurl is a config item
                    options.RequireHttpsMetadata = false;
                    options.ApiName = apiName;

                });

1 Ответ

0 голосов
/ 20 февраля 2020

Промежуточное программное обеспечение Authority из AddIdentityServerAuthentication должно быть базовым адресом вашего сервера идентификации, оно будет связываться с конечной точкой метаданных OID C сервера идентификации, чтобы получить ключи publi c для проверки токена JWT.

Пожалуйста, подтвердите, что Authority - это URL-адрес сервера идентификации, на котором вы выдали токен jwt.

...