Как сделать социальную аутентификацию с развязанным бэкэндом и веб-интерфейсом (Passport / Express / React)

Я пытаюсь использовать passportJS / Express backend и JS-интерфейс реагирования для социальной аутентификации. Однако я не уверен, как это сделать.

Я немного прочитал и реализовал социальную аутентификацию, которая возвращает токен JWT, подписанный экспресс-приложением, когда вы вошли в систему с Google Auth. Это позволяет мне получить доступ к защищенным конечным точкам на сервере с помощью Authorization заголовок.

Тем не менее, как можно инициировать это через React, тем более что вызов в Google должен осуществляться напрямую через внешний интерфейс (и, следовательно, внутренний интерфейс не выполняет запуск проверки подлинности с использованием Passport JS)? В частности, как должен выглядеть этот поток, когда и бэкэнд, и фронтэнд отделены друг от друга?

1 ответ

На самом деле, LOL вскоре после публикации, я только что нашел это: https://medium.com/@alexanderleon/implement-social-authentication-with-react-restful-api-9b44f4714fa

Тощий:

  • авторизация на стороне клиента через Google
  • использовать токен Google и отправить на сервер Express; убедитесь, что токены авторизованы и совпадают
  • Если оба совпадения, выдайте токен JWT, который будет использоваться для вызовов Express JS API. Это должно быть сохранено в localStorage.
Другие вопросы по тегам