Что вы делаете после успешного входа в систему с поставщиком OAuth и проверки JWT на бэкэнде? - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь реализовать неявный поток OAuth2.0 с помощью входа в Google.У меня есть один веб-клиент веб-интерфейса и один API-интерфейс.Мой стек выглядит следующим образом:

  • Внешний интерфейс: React
  • IDP: Google Sign-In
  • Бэкенд (REST API): Flask

После того, как пользователь проходит аутентификацию в Google, веб-интерфейс получает id_token и access_token.Мне не требуется доступ к каким-либо данным Google пользователя, поэтому я игнорирую маркер доступа и просто отправляю id_token JWT на маршрут /login моего бэкэнда Flask.

Оттуда серверная часть Flask проверяет в Google, что это действительный JWT, я проверяю, совпадает ли заявка hd с разрешенным доменом, и ... тогда что? После Инструкции по входу в Google , я должен создать нового пользователя или начать новый сеанс.Но как мне это сделать?

Некоторые вопросы, которые у меня сейчас есть:

  • Нужно ли бэкенду генерировать свой собственный JWT или токен сеанса (это токен сеанса, другой JWT или что-то еще??) и вернуться к веб-интерфейсу после успешного входа в систему?
  • Как обеспечить проверку последующих вызовов из веб-интерфейса на сервер?
  • Повторно ли я использую то же самое id_token, которое я хранил на внешнем интерфейсе в заголовке авторизации?
  • Что такое проверка подлинности без сохранения состояния по сравнению с проверкой состояния с помощью JWT?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...