Я изучаю MSA через весеннее облако. И мне любопытно, как реализовать процесс авторизации и аутентификации. Особенно я хочу знать , где находится лучшее место для проверки токена .
Во-первых, процесс генерации токена будет таким, как показано ниже.
И я рассмотрел процесс проверки как:
Но этот процесс требует, чтобы все мои микроуслуги имели логику проверки токена c. (например, JwtToeknFilter)
Итак, я рассматриваю другой процесс, который выполняет процесс проверки в шлюзе и передает декодированный объект пользовательской информации в нисходящие микросервисы.
Тогда мои другие микросервисы будут освобождены от ответственности за проверку. Любой мой вопрос заключается в следующем:
- Как передать декодированную информацию пользователя от шлюза к другому микросервису? Должен ли я использовать пользовательский заголовок запроса? Или я могу прикрепить информацию о пользователе к телу запроса?
- Как вы думаете, какие преимущества и недостатки у первого и второго процесса у каждого?
- Если то, о чем я думаю, не является Лучшая практика внедрения аутентификации, тогда какова лучшая практика?