У меня есть общий вопрос о способе аутентификации пользователя на многих микросервисах и Express-Gateway
.У меня N микросервисов.Один из этих микросервисов (назовем его «Профили пользователей») будет содержать все данные, связанные с профилями пользователей, такие как электронная почта, имя пользователя, дата регистрации, дата рождения и т. Д. Итак, вот вопросы:
- Как организовать регистрацию пользователя и аутентификацию?Как насчет этого рабочего процесса:
- EG имеет конечные точки API, которые напрямую связаны с внешним миром.Эти конечные точки поступают из микросервиса «Профили пользователей».
- Если пользователь хочет зарегистрироваться ИЛИ войти, он отправляет запрос POST в эту службу.Этот запрос содержит все необходимые данные.
- , чтобы получить JWT accessToken, который затем используется для всех других запросов, этот микросервис отправляет запрос в API администратора EG и создает следующие вещи:
- создать пользователя
- создать учетные данные jwt для этого пользователя
- после получения ответов от EG микросервис «Профили пользователей» формирует токен доступа JWT на основеkeyId и keySecret
- отправляют этот токен пользователю
- , теперь пользователь может получить доступ ко всем защищенным маршрутам при передаче Bearer accessToken
Здесь - схема рабочего процесса.
Мой второй вопрос - если вышеуказанный рабочий процесс в порядке, то после каждого создания пользователя будет создаваться вновь созданный keySecret.Что мне нужно указать для
secretOrPublicKey
param в
gateway.config.yml
?Может быть, когда генерируется JWT accessToken, мне нужно использовать какой-то тип закрытого ключа, а не
keySecret
на этапе создания учетных данных, а затем поместить тот же ключ в
gateway.config.yml
?