www.googleapis.com/userinfo/email根据作用域返回不同的结果



使用谷歌的Oauth 2 Playground,可以显示:

  1. 如果您只选择googleOAuthapiv2作用域,并使用此处标题中的url获取电子邮件,那么您将获得gmail地址
  2. 另一方面,如果您选择该范围和youtube范围https://www.googleapis.com/auth/youtube,然后你得到的不是gmail地址,而是google+电子邮件地址

这种情况的发生似乎令人不安;我想使用gmail地址来识别应用程序中的用户无论作用域的组合如何,我每次都如何获得gmail地址我不想让用户登录两次(一次是为了获得youtube api v3的令牌,另一次是从Oauth api v2获得gmail地址的令牌。

还有一个烦恼;在"应用程序想要"屏幕中,/auth/userinfo.email范围导致我们被告知应用程序想要"查看您的电子邮件地址"知道您在Google+上是谁"。。。。我真的宁愿它没有引起后者!

不确定我是否理解gmail电子邮件地址和google+电子邮件地址之间的区别。是不是你的用户同时有两次登录,并且每个作用域都使用不同的登录?

谷歌建议不要使用电子邮件地址作为标识符,因为它可以更改。电子邮件地址旁边是一个谷歌用户ID,您应该将其用作标识符。

+1的评论"知道你在Google+上是谁"。我不想要,也没有要求,但谷歌把它放了出来,这扼杀了我的客户获取。

最新更新