如何为反应前端和节点后端集成oauth?
How to integrate oauth for react front end and node back end?
我使用 React 作为前端。我使用 react-google-login
和 react-facebook-login
登录 Google 和 Facebook。
它在前端给了我 accesstoken
。
我将此 accesstoken
传递给后端(我正在使用带有 hapi 的节点)。
但是在后端,我如何使用 accesstoken
从 Google 或 Facebook 获取 userDetails
并传递刷新令牌以获取新的 accesstoken
?
更新:
OK google oauth2 过程中有三个步骤。
- 获取授权码
- 交换授权码获取访问令牌
- 传递访问令牌以获取用户信息
当我解耦前端和后端时。在这三个步骤中,我应该在前端和后端做什么。
在安全方面?
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
等端点并将信息传回前端。
这是推荐的授权码流程。
如果您没有服务器,您可以执行隐式流,这意味着您没有秘密,因此没有刷新令牌。并且您直接在客户端中获取访问令牌 - 这不太安全。
我使用 React 作为前端。我使用 react-google-login
和 react-facebook-login
登录 Google 和 Facebook。
它在前端给了我 accesstoken
。
我将此 accesstoken
传递给后端(我正在使用带有 hapi 的节点)。
但是在后端,我如何使用 accesstoken
从 Google 或 Facebook 获取 userDetails
并传递刷新令牌以获取新的 accesstoken
?
更新:
OK google oauth2 过程中有三个步骤。
- 获取授权码
- 交换授权码获取访问令牌
- 传递访问令牌以获取用户信息
当我解耦前端和后端时。在这三个步骤中,我应该在前端和后端做什么。 在安全方面?
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
等端点并将信息传回前端。
这是推荐的授权码流程。
如果您没有服务器,您可以执行隐式流,这意味着您没有秘密,因此没有刷新令牌。并且您直接在客户端中获取访问令牌 - 这不太安全。