Говоря с IdentityServer4 с приложением Angular SPA для аутентификации/авторизации, получающим токен, затем разговаривая с Web API
У меня есть базовый веб-API asp.net. В настоящее время я делаю вызовы непосредственно с помощью приложения Angular 4.
Теперь я хочу добавить уровень аутентификации и авторизации.
Я хотел бы сделать это, добавив к моему проекту еще один проект (строго для auth) типа: ASP.NET Core MVC (w/Individual User Accounts) и добавив к нему IdentityServer4. План состоит в том, чтобы использовать существующие таблицы Identity для хранения пользователей, ролей и т.д.
Как только все это будет настроено, я немного смущен тем, как мое приложение Angular 4 SPA или любая другая сторонняя группа аутентифицируется через приложение IdentityServer. Я бы предположил, что это возвращает какой-то токен. Затем переходит к вызовам моего исходного проекта веб-API (т.е. GetCustomers()) с этим токеном.
Из исследования, которое я сделал, это похоже на то, что мне нужна только одна проверка подлинности на стороне JWT в ядре ASP.NET.
Может кто-нибудь, пожалуйста, предоставит мне некоторые ссылки/информацию о том, как пройти весь этот процесс. Не нашли хороших видео, которые проходят через все. Кроме того, пожалуйста, подтвердите, что приведенная выше картина, о которой я говорю, звучит правильно.
Ответы
Ответ 1
Identity Server
имеет разный flows/grant types
, тот, о котором вы говорите о неявный, в этом случае Identity Server
вернет jwt token
поэтому вы должны хранить это jwt token
на клиенте, а затем прикреплять этот токен для запроса заголовка при запросе ваших безопасных маршрутов webapi
.
![введите описание изображения здесь]()
Официальный samples, это очень хорошая отправная точка и проверка их блог, в котором есть много полезной информации, охватывающей эту тему.
Говоря о хороших видеороликах по этой теме, это хороший из недавнего анонса NDC conf IdentityServer4: новый и улучшенный для ядра ASP.NET также, если вы хотите изучить материал более глубоко, вы можете проверить это курс множественного числа от Доминика Байера