如何为反应前端和节点后端集成oauth?

How to integrate oauth for react front end and node back end?

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

它在前端给了我 accesstoken

我将此 accesstoken 传递给后端(我正在使用带有 hapi 的节点)。

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

更新:

OK google oauth2 过程中有三个步骤。

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

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

when i decouple front end and back end . In these three steps what are all i should do in front end and in back-end. in security aspects ?

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

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

这是推荐的授权码流程。

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