【发布时间】:2011-12-11 05:23:55
【问题描述】:
我的应用程序使用 3-legged 身份验证 (OAuth)。
我有令牌(用户被重定向到谷歌登录页面登录) 怎样才能得到他用来认证的邮箱?
【问题讨论】:
-
您是否在使用任何 OAuth 库(例如 oauth-signpost)?
我的应用程序使用 3-legged 身份验证 (OAuth)。
我有令牌(用户被重定向到谷歌登录页面登录) 怎样才能得到他用来认证的邮箱?
【问题讨论】:
您应该使用访问令牌查找用户数据。在 facebook 中,访问令牌以用户序列号开头,因此您可以直接从令牌中识别用户。 (例如 123456-someStrangeStringBlahBlah...)
所以如果用户序列的曝光没有问题,就制作像facebook这样的令牌。
【讨论】:
我想你想使用OpenID attribute exchange。 (不是 OAuth,但 Google 在两者之间架起了一座桥梁)。
在their federated login API 上查看 Google 页面。
【讨论】:
如果您使用的是 OAuth1.0,您可以通过请求获取联系人组 id 从 contactService 中提取用户电子邮件。返回的响应包含编码的用户电子邮件:
“http://www.google.com/m8/feeds/groups/user_email_here%40gmail.com/base/5f062e1e08cb3123”
【讨论】: