我正在尝试让OpenID使用OAuth 2来使用Google的API。我只希望用户在第一次登录时必须“授予访问权限”。这是我到目前为止的流程:
从https://developers.google.com/accounts/docs/OpenID#oauth开始,它表示下一步是交换请求令牌以获取访问令牌。但是,我发现了一些问题:
感谢您的帮助!
答案 0 :(得分:7)
您应该使用基于OAuth 2.0的身份验证: https://developers.google.com/accounts/docs/OAuth2Login
这也称为OpenID Connect。
这将使用授权码重定向到您的网站。然后,您将其替换为访问令牌。您可以通过使用简单的REST请求调用TokenInfo端点来validate访问令牌。这将为您提供一个简单的用户标识符。
之后,您拨打电话以获取详细的profile information,例如姓名+电子邮件等。
您可以通过这个精彩的演示了解有关它的工作原理的更多信息: http://oauthssodemo.appspot.com/