如何集成react前端和node后端的oauth?

Ram*_*Ram 3 node.js oauth-2.0 reactjs hapi.js

我使用 React 作为前端。我使用react-google-loginreact-facebook-login登录谷歌和 Facebook。

它给了我accesstoken前端。

我将其传递accesstoken给后端(我正在将 Node 与 hapi 一起使用)。

但在后端,我如何userDetails使用 Google 或 Facebook 获取accesstoken并传递刷新令牌来获取新的accesstoken

更新:

好的,google oauth2 过程中有三个步骤。

  1. 获取授权码
  2. 交换授权码以获取访问令牌
  3. 传递访问令牌以获取用户信息

当我解耦前端和后端时。在这三个步骤中我应该在前端和后端做什么。在安全方面?

Boa*_*oaz 5

当我解耦前端和后端时。在这三个步骤中我应该在前端和后端做什么。在安全方面?

在前端:
您应该获取授权码并将授权码传递给后端。

在后端:
交换授权码+访问令牌/刷新令牌的秘密(秘密永远不会暴露给客户端)。
使用访问令牌来消费端点get user info并将信息传递回前端。

这是推荐的授权代码流程。

如果您没有服务器,您可以执行隐式流程,这意味着您没有秘密,因此没有刷新令牌。并且您直接在客户端中获取访问令牌 - 这不太安全。