5

我在我的网站上使用 Google+ 登录按钮,这样用户就无需创建用户帐户。我对 Google+ 按钮的任何社交方面都不感兴趣(目前)。

我希望向用户呈现如下内容: 在此处输入图像描述

但相反,他们会看到这样的东西: 在此处输入图像描述

我觉得这会反弹一些潜在的新用户。如何使用顶部屏幕截图预设用户?

我将登录按钮属性设置为: data-scope="https://www.googleapis.com/auth/userinfo.email"或...plus.me但似乎plus.info无论如何都包含在内。这意味着我的用户被要求提供所有额外的权限。

我读过这篇文章:使用 google 登录,但不是 google+,但是...

此 Google 页面此 Google 页面推荐使用 Google+ 登录按钮,而不是其他登录方法。因为有一天我可能想使用社交功能,这对我来说很有意义。

那么,我是在做傻事吗?有没有办法使用 Google+ 登录按钮而不要求第二个屏幕截图中的所有权限?

4

2 回答 2

6

同意对话框中列出的权限与您请求的范围相关联。您的示例中的区别是plus.me和之间的区别plus.login。如果您使用的是传统的 OAuth 2.0 登录流程,您可以简单地切换您使用的范围,以反映您没有请求额外用户数据的事实。但是,如果您使用的是 Google+ 登录按钮,plus.login则会自动包含范围,因为它是启用 Google+ 登录附带的额外功能的范围。

在https://developers.google.com/+/api/oauth#scopes了解有关范围的更多信息。而且,如果您不希望使用 Google+ 登录的附加功能,您可以在https://developers.google.com/accounts/docs/OAuth2了解有关 OAuth 2.0 流程的更多信息。

于 2013-08-25T22:47:44.110 回答
0

当您使用 Google 登录时,您可以传入范围。谷歌登录颤振示例附带的示例应用程序包括请求访问联系人。因此,要删除它,您只需从 scopes 参数中删除范围。您可能需要重新启动或重新安装您的应用程序才能生效。

有关可用范围的列表,请参阅: https ://developers.google.com/identity/protocols/oauth2/scopes

GoogleSignIn _googleSignIn = GoogleSignIn(
  scopes: <String>[
  //  'email', -> remove this
  //  'https://www.googleapis.com/auth/contacts.readonly', -> remove this
  ],
);

在此处输入图像描述

于 2020-06-05T15:46:54.140 回答