Клиентский и пользовательский доступ к защищенному API с использованием Identity Server - PullRequest
0 голосов
/ 26 марта 2019

Меня интересует один аспект Identity Server, который я надеюсь использовать в своих проектах.

Сценарий относительно прост:

  • У меня есть API и параклиенты
  • Я хочу защитить этот API с помощью Identity Server и OIDC
  • На одном клиенте я рассматривал концепцию дополнительной аутентификации.
    • Некоторые функции требуют определенных утверждений, например, Admin
    • Остальные должны разрешать доступ анонимным пользователям, , но разрешать только запросы от зарегистрированных клиентов
    • Этотакже должно быть отражено в API

Предостережение заключается в том, что я хотел бы по-прежнему ограничивать доступ к API только зарегистрированным клиентам в Identity Server только

Возможен ли этот сценарий в Identity Server?

Я понимаю, что настроил бы политику администратора на API, но мне также нужно настроить функцию CORS или Identity Server делает это из коробки?используя конфигурацию «Разрешенные области действия и ресурсы»?

Извиняюсь, если объяснение плохое, я постараюсь добавить диаграмму в ближайшее время

1 Ответ

1 голос
/ 26 марта 2019

Да, если вы хотите ограничить доступ API только для аутентифицированных запросов, одним из способов является проверка области действия путем настройки глобальной политики авторизации (см. https://github.com/IdentityServer/IdentityServer4.AccessTokenValidation).

Ваши конечные точки администратора будут проверять дополнительные претензии. Есть несколько способов сделать это, один из них - авторизация на основе политики (https://docs.microsoft.com/en-us/aspnet/core/security/authorization/policies?view=aspnetcore-2.2).

Вам потребуется настроить промежуточное программное обеспечение CORS для вашего API (см. https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-2.2).. Если вам нужен доступ CORs к конечным точкам Identity Server, вам потребуется настроить Identity Server (см. http://docs.identityserver.io/en/latest/topics/cors.html).

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