【问题标题】:Google OAuth 2.0 what in the code paramater should i pass to my authentication functionGoogle OAuth 2.0 我应该将代码参数中的什么传递给我的身份验证功能
【发布时间】:2020-06-25 03:08:14
【问题描述】:
【问题讨论】:
标签:
node.js
oauth-2.0
google-api
【解决方案1】:
当您被重定向回网址时,以下网址
www.example.com/?code=4/SomeCodeHere&scope=SomeScopeHere
code 参数包含 authorization_code 授权,在这种特殊情况下等于 4/SomeCodeHere。以下是您需要完成的以下步骤:
- 您的浏览器客户端应该将 authorization_code 传递给您的服务器(例如,使用 HTTP post 或 get)
- 然后后端必须向 Google API 发出请求并发送该代码以获取 access_token,此外您将收到包含基本用户个人资料信息的 id_token。
- 收到来自 google 的响应后,您必须验证其签名以确保响应确实来自 google。可以通过计算和比较 id_token JWT 签名来完成
- 如果一切正常,则后端将通知浏览器有关身份验证成功。
下面是描述整个过程的抽象图。 (你的授权服务器和资源服务器是同一个服务器):