从网站的Google登录中仅请求“ openid”范围

时间:2019-04-19 11:50:54

标签: oauth-2.0 google-signin google-oauth2

我正在将Google登录集成到我的Web应用程序中,但是无论我指定了什么,它始终在登录流程中显示警告:

  

要继续,Google将与[应用名称]共享您的姓名,电子邮件地址和个人资料照片。

我不需要或不需要用户的姓名,电子邮件地址或个人资料照片;我只需要一个token_id。我知道similar question的开发人员只需要电子邮件地址,并且可以解释为其他细节也可以从该电子邮件地址派生,但是在这种情况下,我也不需要该电子邮件地址

按照我设置的documentation

scrape()

检查网络请求表明,这会将用户引向:

https://accounts.google.com/o/oauth2/auth?redirect_uri=[myRedirectUri]&response_type=permission%20id_token&scope=openid&openid.realm=&client_id=[myClientId]&ss_domain=[myDomain]&fetch_basic_profile=false&gsiwebsdk=2

哪个看起来正确。我尝试调整该URL并手动导航至该URL,无论我进行什么更改,它始终似乎显示警告。

在我的Google API控制台项目的“凭据”->“ OAuth同意”屏幕->“ Google API的作用域”下,我看到“电子邮件”,“配置文件”和“ openid”都已列出,并且找不到任何选项删除它们。

我不知道用户登录时是否真的向我发送了该信息,但是我想从登录屏幕中删除警告。

如何使用Google登录功能?如何防止它给我个人资料/电子邮件地址信息?

1 个答案:

答案 0 :(得分:0)

当您从Google取回访问令牌时,可以使用openid范围调用userinfo端点并获取用户个人资料信息,因此,即使不需要电子邮件和个人资料信息,您仍然可以通过以下方式获取该信息userinfo端点[1]。

[1] https://developers.google.com/identity/protocols/OpenIDConnect#obtaininguserprofileinformation