禁用 Google 同意屏幕上的复选框

2024-04-19

我们正在使用 Gmail .NET SDK 实现 Gmail 发送 ASP .NET Web 应用程序。

为此,我们需要以下所有范围“电子邮件”、“个人资料”、“openid”、https://www.googleapis.com/auth/gmail.send” https://www.googleapis.com/auth/gmail.send%22由用户授予我们。

但是,在同意屏幕上,用户可以取消选中“代表您发送电子邮件”复选框,这对我们来说是不可接受的,请参见以下内容:

我们见过很多 Google 同意屏幕上没有启用复选框的例子。因此,我们正在努力弄清楚如何在我们的应用程序中隐藏/禁用复选框,您能提供建议吗?

可能是因为我们的应用程序尚未验证,但我不确定是否是这个原因。


Answer:

这些复选框是由于新的细粒度帐户权限系统的推出而产生的,它们是完全正常的,并且无法关闭。

更多信息:

经过一番挖掘,我发现这篇 Google 开发者博客文章 https://developers.googleblog.com/2018/10/more-granular-google-account.html从2018年开始,讨论在新的许可系统中,用户将能够单独授予或拒绝权限。

来自博客文章:

在接下来的几个月里,我们将开始改进我们的 API 基础设施。我们将在其自己的对话框中一次显示应用程序请求的每一项权限,而不是在单个对话框中显示所有权限*。用户将能够单独授予或拒绝权限。

*我们不同的登录范围(个人资料、电子邮件和 openid 都合并在同一个同意中,不需要单独请求。

尽管在撰写本答案时距发布已过去 26 个月,但该解决方案似乎仍处于推出阶段。

为改变做准备:

以下是 Google 提供的指南,说明如何准备对 OAuth 和 API 的 Google 帐户权限系统进行的更改:

  • 回顾Google API 服务:用户数据政策 https://developers.google.com/terms/api-services-user-data-policy并确保您遵循他们。
  • Before making an API call, check to see if the user has already granted permission to your app. This will help you avoid insufficient permission errors which could lead to unexpected app errors and a bad user experience. Learn more about this by referring to documentation on your platform below:
    • 文档Android https://developers.google.com/android/reference/com/google/android/gms/auth/api/signin/GoogleSignIn#hasPermissions(com.google.android.gms.auth.api.signin.GoogleSignInAccount,%20com.google.android.gms.common.api.Scope...)
    • 文档为web https://developers.google.com/identity/sign-in/web/reference#googleuserhasgrantedscopesscopes
    • 文档iOS https://developers.google.com/identity/sign-in/ios/additional-scopes
  • 仅在需要时请求权限。您将能够在请求每个权限时进行分阶段,我们建议在上下文中考虑这样做。当用户可能是第一次使用您的应用程序并且不熟悉应用程序的功能时,您应该避免在登录时询问多个范围。将多个范围的请求捆绑在一起会使用户很难理解为什么您的应用程序需要权限,并且可能会引起警报并阻止他们进一步使用您的应用程序。
  • 在请求访问之前提供理由。清楚地解释为什么您需要访问权限、您将如何处理用户的数据以及他们将如何从提供访问权限中受益。我们的研究表明,这些解释可以提高用户的信任度和参与度。

您可以阅读上述链接的博客文章,了解有关更改的完整信息。

参考:

  • Google 开发者博客:使用 Google OAuth 和 API 实现更精细的 Google 帐户权限 https://developers.googleblog.com/2018/10/more-granular-google-account.html
  • Google API 服务用户数据政策 |谷歌开发者 https://developers.google.com/terms/api-services-user-data-policy
  • 谷歌登录 |适用于 Android 的 Google API |谷歌开发者 https://developers.google.com/android/reference/com/google/android/gms/auth/api/signin/GoogleSignIn#hasPermissions(com.google.android.gms.auth.api.signin.GoogleSignInAccount,%20com.google.android.gms.common.api.Scope...)
  • Google 登录 JavaScript 客户端参考 https://developers.google.com/identity/sign-in/web/reference#googleuserhasgrantedscopesscopes
  • 登录后请求附加范围 | iOS 版 Google 登录 https://developers.google.com/identity/sign-in/ios/additional-scopes
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

禁用 Google 同意屏幕上的复选框 的相关文章

随机推荐