IdentityServer - отдельная аутентификация, авторизация, ресурсы без использования UI-сайтов? - PullRequest
0 голосов
/ 04 мая 2018

Я хочу иметь архитектуру, состоящую из этих устройств / программ с разными ролями (все они разделены, ни одна из этих ролей не должна существовать в одном и том же экземпляре):

  • КЛИЕНТ
  • AUTHENTICATION-SERVER
  • АВТОРИЗАЦИОН-СЕРВЕР (их может быть множество)
  • РЕСУРС-СЕРВЕР (также много возможных)

И

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

Из моих исследований OAuth и Open ID Connect я бы предположил, что Клиент может получить ID_TOKEN (после авторизации) от AUTHENTICATION-SERVER и затем может запросить ACCESS_TOKENS для различных ресурсов у AUTHORIZATION-SERVER.

Полагаю, описанный мною метод допускает кражу личных данных на стороне клиента.

Я не могу найти способ легко получить id токены с сервера авторизации на клиент (который я мог бы затем использовать для аутентификации на нескольких серверах авторизации). Моим клиентам доверяют. Я хочу использовать собственные приложения и в любом случае реализовывать в них open id connect.

Я не хочу использовать какие-либо веб-сайты на данный момент и все еще должен иметь возможность защищенного общения с ассоциациями претензий к пользователям и всем остальным. OpenID Connect и его возможные потоки подходят для этого? Существуют ли другие реализации, которые позволили бы описанный мною поток (или более поздние версии OpenID Connect)?

1 Ответ

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

Это не рекомендуется, но если вы действительно не хотите использовать браузер (который несколько анти-OAuth / OIDC и полон ограничений), то вам нужно использовать тип гранта ResourceOwnerPassword. Это не вернет id_token, только access_token.

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

Токены доступа выдаются службой аутентификации / безопасного токена (в данном случае IDS4) и предоставляют клиенту (опционально с согласия пользователя) доступ к ресурсу. Ресурс затем имеет свои собственные правила авторизации для обеспечения контроля доступа к области действия и пользовательскому ACL / бизнес-правилу.

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