Моя системная архитектура содержит следующее:
- Сервер авторизации Auth0
- Asp. NET Core 3.1 WebAPI
- React JS Приложение (( клиент)
Требуется, чтобы React Client мог взаимодействовать с Asp. Net Базовым WebAPI и проходить аутентификацию с токеном, предоставленным Auth0.
Задача состоит в том, чтобы Несмотря на то, что невозможно войти в систему без аутентификации через Auth0, все роли пользователей и утверждения, которые используются для определения видимости различных клиентских страниц, но также используются для доступа к различным конечным точкам WebAPI или управления бизнес-логи c (он же Авторизация) , не сохраняются и не извлекаются из Auth0, но в WebAPI (после реализации Asp.Net Core Identity
).
Я просматривал сеть в течение нескольких дней, но не могу найти правильное решение для реализации этого. Подобные реализации сделаны для Стандартных (не-spa) приложений.
Насколько я понимаю, при доступе к моей странице React Client должен сначала перенаправить пользователя на страницу входа в Auth0. Когда пользователь успешно вводит свои учетные данные, identity_token
(вместе с access_token
, выданным для API) следует отправить обратно в React в запросе, указанном в параметре ?redirect_to
. Затем клиент React может использовать access_token
для связи с WebApi. Но что дальше? Должен ли я как-то заменить identity_token
, первоначально отправленный Auth0, и заполнить его утверждениями, хранящимися в WebAPI? Какой поток использовать, когда серверы аутентификации и авторизации приходят из 2 разных мест?