如何使用分离的后端和前端(Passport / Express / React)进行社交身份验证

IT技术 node.js reactjs express passport.js passport-google-oauth
2021-05-19 10:04:27

我正在尝试使用passportJS / Express 后端和react JS 前端进行社交身份验证。但是,我不确定如何去做。

我做了一些阅读并实现了社交身份验证,当使用 Google 身份验证登录时,它会返回一个由 express 应用程序签名的 JWT 令牌。这允许我使用Authorization标头访问后端受保护的端点

但是,如何通过 React 触发此操作,尤其是因为应直接通过前端调用 Google(因此后端不使用 Passport JS 进行身份验证触发)?具体来说,当后端和前端都解耦时,这个流程应该是什么样子的?

1个回答

实际上,在发布后不久哈哈,我刚刚发现了这个:https : //medium.com/@alexanderleon/implement-social-authentication-with-react-restful-api-9b44f4714fa

瘦子:

  • 通过谷歌认证客户端
  • 使用 Google 的令牌并发送到 Express 服务器;验证令牌是否经过身份验证和匹配
  • 如果两者匹配,则发出用于 Express JS API 调用的 JWT 令牌。这应该存储在 localStorage 中。