Аутентификация для API и распределенных приложений1¶
ASP.NET Core часто используется для создания WebAPI для мобильных или браузерных одностраничных приложений, а также (при использовании микросервисной архитектуры) и отдельных сервисов.
В этом случае подход, описанный в предыдущем разделе, неприменим.
Чтобы решить эту проблему, аутентифицирующий код помещают в поставщика идентификационной информации.

В этом случае пользователь выполняет вход в учётную запись этого поставщика, а поставщик передает клиенту токены, которые в свою очередь передаются при запросе, предоставляя информацию о пользователе в WebAPI.
Преимущества этого подхода:
- пользователи могут совместно использовать свою личность в нескольких сервисах;
- уменьшение дублирования кода;
- лёгкость добаавления новых поставщиков.
ASP.NET Core поддерживает такие архитектуры и потребление выпущенных токенов носителя, однако не включает в себя поддержку выпуска токенов. Нужно использовать стороннюю библиотеку или поставщика.
Один из вариантов — использовать сторонние сервисы, такие как Okta, Auth0 или Azure Active Directory B2C.
Еще вариант — создать собственного поставщика, например, с помощью библиотек OpenIddict или IdentityServer2
-
См. также главку о безопасности в микросервисах в книге Криса Ричардсона ↩
Дата создания : 5 октября 2022 г.