Включить области ресурсов в аудиторию для IdentityServer3? - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь использовать стандартный метод расширения AuthenticationBuilder AddJwtBearer на некоторых новых веб-интерфейсах ASP.NET Core, которые все еще получают токены носителя, созданные IdentityServer3. Я думаю, что моя лучшая ставка для проверки доступа ресурса к API (необходимая область в id server3) будет состоять в том, чтобы убедиться, что я могу получить значение области, добавленное к аудитории, как это делает в identityserver4, или добавить некоторую проверку для области заявите в конфигурации для метода AddJwtBearer, если это возможно (посмотрел, но ничего не увидел).

Есть ли способ в IdentityServer3 сделать аудиторию токена доступа массивом и добавить к нему любые области ресурсов, чтобы проверка токена с использованием только полномочий и аудитории теперь работала с токенами idsrv3 и продолжала работать чисто, когда мы обновить до idsrv4?

1 Ответ

0 голосов
/ 18 мая 2018

Вот что решило мою проблему.Тесты на сайте GitHub для идентификации пользователей были очень полезными.

Мне нужно было установить для LegacyAudienceValidation значение true:

https://github.com/IdentityServer/CrossVersionIntegrationTests/blob/master/src/CoreApiIdSrv3/Startup.cs#L32

И затем добавить явную проверку области с помощью новой системы политик ASP.NET Core:

https://github.com/IdentityServer/CrossVersionIntegrationTests/blob/master/src/CoreApiIdSrv3/Startup.cs#L16

В качестве фона, в IS3 они не поместили имя API в аудиторию, а только в коллекцию областей.В IS4 они помещают имя API в аудиторию, а области API (которые могут совпадать или не совпадать с именем API) в области.

...