谷歌联合登录(OpenID + OAuth 2)

4
我正在尝试将OpenID与OAuth 2配合使用,以便使用Google的API。我只希望用户在第一次登录时只需“授权访问”一次。目前我的流程如下:
  1. 用户点击“使用Google登录”
  2. 我的服务器使用OpenID登录用户。通过联合登录,我收到了一个OAuth请求令牌。
https://developers.google.com/accounts/docs/OpenID#oauth中可以看到,下一步是交换请求令牌以获取访问令牌。但是,我发现有几个问题:
  1. 这是一个OAuth 1 API调用。
  2. 它需要一个验证器。我不需要用户“授权访问”才能接收验证器吗?这怎么实现联合登录呢?
感谢任何帮助!
1个回答

7
您应该使用基于OAuth 2.0的身份验证:https://developers.google.com/accounts/docs/OAuth2Login 这也被称为OpenID Connect。
这将重定向到您的网站,并提供授权码。 然后,您可以用此交换获取访问令牌。 您可以通过调用TokenInfo端点来验证访问令牌,使用简单的REST请求即可获得简单的用户标识符。
然后,您可以发起调用以获取详细的个人资料信息,如姓名+电子邮件等。
您可以通过这个很棒的演示看到更多关于它是如何工作的: http://oauthssodemo.appspot.com/

OAuth 2.0 真的和 OpenID Connect 一样吗?OAuth 2.0 是实现 OpenID Connect 认证部分的协议吗? - Mohammed Shareef C
我也在stackoverflow上找到了这个。请查看它的答案:https://dev59.com/anNA5IYBdhLWcg3wHp-B - Mohammed Shareef C

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接