Мы изучаем возможность интеграции с функцией «Войти в Google».
Наше приложение состоит из следующих частей:
основное приложение (монолит * Веб-приложение 1035 *, интегрированное с микросервисами и oAuth)
различные микросервисы, интегрированные в основное приложение (также микросервисы также интегрированы с oAuth)
oAuth-сервер
Каждый раз, когда пользователь входит в основное приложение, мы создаем токен доступа oauth (используя электронную почту и пароль пользователя - тип предоставления: пароль). Позже этот токен доступа используется в вызовах REST для микросервисов.
Например, у нас есть API, такие как
GET: / user / {accessTokenValue} / subscription
POST: / user / {accessTokenValue} / order
где нам нужно явно передать токен доступа в URL, чтобы микросервис смог разрешить пользователя на основе входящего токена.
Основной вопрос: как правильно интегрировать Log In с Google в такой архитектуре приложения?
Насколько я понимаю из https://developers.google.com/identity/sign-in/web/sign-in, Google обрабатывает вход в систему со своей стороны и, в случае успешного входа, возвращает некоторое DTO, которое содержит электронную почту пользователя, имя, аватарка, эт c. Однако этих данных недостаточно для создания токена доступа для пользователя.