我正在使用React作为前端。而我使用react-google-login
和react-facebook-login
登录Google和Facebook。
它使我accesstoken
处于前端。
我将此accesstoken
传递给了后端(我将Node和hapi一起使用)。
但是在后端,如何使用userDetails
从Google或Facebook获取accesstoken
并传递刷新令牌以获取新的accesstoken
?
确定google oauth2流程分为三个步骤。
当我分离前端和后端时。在这三个步骤中,我应该在前端和后端执行的所有操作。 在安全方面?
答案 0 :(得分:2)
当我分离前端和后端时。在这三个步骤中,我应该在前端和后端执行的所有操作。在安全方面?
在前端:
您应该获得授权码,并将授权码传递给后端。
在后端:
交换授权码+密钥以访问令牌/刷新令牌(密钥永远不会暴露给客户端)。
使用访问令牌消耗get user info
之类的端点,并将信息传递回前端。
这是推荐的授权码流程。
如果没有服务器,则可以执行隐式流程,这意味着您没有密码,因此没有刷新令牌。并且您直接在客户端中获得访问令牌-这不太安全。