Мне нужна помощь со службой управления API Azure.
В настоящее время у нас есть приложение SinglePage, которое использует два Backend Services (WebApi .Net Core), размещенных в Azure. Для аутентификации и аутентификации пользователя мы используем IdentityServer (также размещенный на Azure как сервис) + SubscriptionService. Здесь IdSrv аутентифицирует пользователя, а также определяет, к каким API имеет доступ веб-приложение. SubscriptionService содержит информацию, если у пользователя есть права на данные API. Более или менее так.
Итак, поток:
WebApp -> перенаправление на конечную точку IdSrv -> логин -> обратно в пользовательский интерфейс -> запросить бэкэнд с учетными данными пользователя (токен)
Теперь мы хотим добавить Azure API Management к смеси, и я изо всех сил пытаюсь это сделать ...
Изначально мы думали, что можем спрятать все, включая IdentityServer, за шлюзом управления API, но, похоже, это не имеет смысла или невозможно. Я нашел это в качестве справки: Создание токена доступа и проверка на IdentityServer4 с помощью управления API Azure , в котором второй ответ является довольно важным замечанием.
Исходя из этого, я думаю, что мне нужно оставить Клиенту использовать IdentityServer для аутентификации, поскольку для этого требуется взаимодействие с пользовательским интерфейсом, а затем каким-то образом установить глобальную политику в API-интерфейсе, чтобы авторизовать пользователя с помощью упомянутой политики отправки-запроса. А затем изменить бэкэнд для принятия токенов JWT из этой политики? Правильно ли мое мышление? Как это реализовать?
Или я должен просто пропустить заголовок авторизации из клиентского запроса через API Management?
Все эти вещи для меня новы, так что, может быть, я что-то пропустил или испортил условия ...