我使用react作为前端。我使用react-google-login
和react-facebook-login
登录google和facebook。
它在前端给了我accesstoken
。
我将这个accesstoken
传递到后端(我正在使用带有hapi的node)。
但在后端,我如何使用userDetails
从google或facebook获取accesstoken
,并通过refresh token获取新的accesstoken
?
更新:
好的,google oauth2进程有三个步骤。
获取授权代码
交换授权码以获取访问令牌
传递访问令牌以获取用户信息
当我分离前端和后端时。在这三个步骤中,我应该在前端和后端做什么。
在安全方面?
最佳答案
当我分离前端和后端时。在这三个步骤中,我应该在前端和后端做什么。在安全方面?
在前端:
您应该获取授权代码并将授权代码传递到后端。
在后端:
exchange authorization code+访问令牌/刷新令牌的密钥(该密钥从不向客户端公开)。
使用访问令牌使用像get user info
这样的端点并将信息传递回前端。
这是推荐的授权代码流。
如果你没有服务器,你可以做隐式流,这意味着你没有秘密,所以没有刷新令牌。直接在客户机中获取访问令牌-这不太安全。
关于node.js - 如何集成oauth以响应前端和 Node 后端?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53334140/