Перейти к содержанию

Аутентификация для API и распределенных приложений1

ASP.NET Core часто используется для создания WebAPI для мобильных или браузерных одностраничных приложений, а также (при использовании микросервисной архитектуры) и отдельных сервисов.
В этом случае подход, описанный в предыдущем разделе, неприменим.
Чтобы решить эту проблему, аутентифицирующий код помещают в поставщика идентификационной информации.
Pasted image 20220604123117.png
В этом случае пользователь выполняет вход в учётную запись этого поставщика, а поставщик передает клиенту токены, которые в свою очередь передаются при запросе, предоставляя информацию о пользователе в WebAPI.
Преимущества этого подхода:

  • пользователи могут совместно использовать свою личность в нескольких сервисах;
  • уменьшение дублирования кода;
  • лёгкость добаавления новых поставщиков.

ASP.NET Core поддерживает такие архитектуры и потребление выпущенных токенов носителя, однако не включает в себя поддержку выпуска токенов. Нужно использовать стороннюю библиотеку или поставщика.
Один из вариантов — использовать сторонние сервисы, такие как Okta, Auth0 или Azure Active Directory B2C.
Еще вариант — создать собственного поставщика, например, с помощью библиотек OpenIddict или IdentityServer2


  1. См. также главку о безопасности в микросервисах в книге Криса Ричардсона 

  2. Подробнее о том, с чего начать, см. тут 


Последнее обновление : 5 ноября 2023 г.
Дата создания : 5 октября 2022 г.

Комментарии

Комментарии