我正在尝试让OpenID使用OAuth 2来使用Google的API . 我只希望用户在第一次登录时必须“授予访问权限” . 这是我到目前为止的流程:
-
用户点击"Login with Google"
-
我的服务器使用OpenID登录User . 通过联合登录,我收到OAuth请求令牌 .
从https://developers.google.com/accounts/docs/OpenID#oauth开始,它表示下一步是将请求令牌交换为访问令牌 . 但是,我发现有两个问题:
-
这是一个OAuth 1 API调用 .
-
需要验证者 . 我不需要用户"grant access"来接收验证者吗?这是如何联合的?
谢谢你的帮助!
1 回答
您应该使用基于OAuth 2.0的身份验证:https://developers.google.com/accounts/docs/OAuth2Login
这也称为OpenID Connect .
这将使用授权码重定向到您的网站 . 然后,您将其替换为访问令牌 . 通过使用简单的REST请求调用TokenInfo endpoints ,您可以validate访问令牌 . 这将为您提供一个简单的用户标识符 .
之后,您拨打电话获取详细的profile information,例如姓名电子邮件等 .
您可以通过这个精彩的演示了解更多有关它如何工作的信息:http://oauthssodemo.appspot.com/