0

У меня есть вопрос относительно наилучшей стандартной архитектуры авторизации в веб-приложении, написанной в Asp.Net Web Api на бэкэнд и с клиентской стороны angularjs.Thinktecture Identity Server 3 поток авторизации для веб-приложения WebApi-Angularjs

В соответствии с тем, что я видел ранее, поток полномочий владельца ресурса - это то, что будет использоваться в таких случаях, когда webapp отправит учетные данные пользователя на сервер и получит токен доступа (и обновит токен), а затем с использованием перехватчика, каждый вызов бэкэнд-апис будет содержать токен доступа в заголовке.

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

Каков наилучший поток для сценария, когда у вас есть клиент javascript, напрямую вызывающий вас WebApis? Каков наилучший способ защитить его с помощью Identity Server?

ответ

1

Вы также можете рассмотреть неявный поток или гибридный поток, когда клиентское приложение (угловое) перенаправляет пользователя на вход в провайдер удостоверения openid (Identity Server) при успешной аутентификации, это возвращает токен доступа/идентификации, который может использоваться при последующих вызовах Apis.

В этом случае клиентское приложение никогда не касается учетных данных клиента, оно всегда должно управлять токенами.

см. Также https://www.scottbrady91.com/OpenID-Connect/OpenID-Connect-Flows