токен на предъявителя работает только при просмотре сайта без "www." - PullRequest
0 голосов
/ 01 ноября 2019

У меня приложение ASP.NET Core 3.0, Angular, IdentityServer4 развернуто в IIS. Который использует сертификат сервера, экспортированный в .pfx для подписи токена. (Этот же сертификат используется для сертификата SSL, но из хранилища сертификатов.)

Приложение прекрасно загружается как https://www.example.com, так и htts://example.com (без ошибок SSL).

Однако при просмотре на https://www.example.com и попытке доступа к данным на любых конечных точках, требующих авторизации, это не работает. В заголовке ответа наблюдается следующая ошибка:

www-authenticate: Bearer error="invalid_token", error_description="The issuer 'https://www.example.com' is invalid"

Я не уверен, с чего начать поиск ... это будет проблема конфигурации IdentityServer4?


FYI,Этот проект был разработан на основе шаблона, созданного dotnet new angular -o <output_directory_name> -au Individual.

1 Ответ

0 голосов
/ 01 ноября 2019

Эмитент токена (который является источником сайта, выпустившего токен) является частью договора между поставщиком OIDC и клиентами и API, которые полагаются на него.

identityserver4 по умолчанию будет использовать сведения о входящем запросе для определения значения iss в любых токенах, которые он выдает.

В связи с этим обычно следует использовать только один хост. имя вашего провайдера OIDC - например, identity.example.com или что-то в этом роде.

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

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