Oauth 禁用谷歌同意屏幕上的复选框

Oauth 禁用谷歌同意屏幕上的复选框,oauth,google-api,google-oauth,gmail-api,google-developers-console,Oauth,Google Api,Google Oauth,Gmail Api,Google Developers Console,我们正在用Gmail.NETSDK实现Gmail发送ASP.NETWeb应用程序 为了做到这一点,我们需要以下所有作用域“email”、“profile”、“openid”, 由用户授予我们 但是,在同意屏幕上,用户可以取消勾选“代表您发送电子邮件”复选框,这对我们来说是不可接受的,请参见以下内容: 我们已经看到很多例子,其中谷歌同意屏幕上没有启用复选框。因此,我们正在努力找出如何在我们的应用程序中隐藏/禁用复选框,请您提供建议 也许,这是因为我们的应用程序还没有通过验证,但我不确定这是否是原

我们正在用Gmail.NETSDK实现Gmail发送ASP.NETWeb应用程序

为了做到这一点,我们需要以下所有作用域“email”、“profile”、“openid”, 由用户授予我们

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

我们已经看到很多例子,其中谷歌同意屏幕上没有启用复选框。因此,我们正在努力找出如何在我们的应用程序中隐藏/禁用复选框,请您提供建议

也许,这是因为我们的应用程序还没有通过验证,但我不确定这是否是原因

谢谢,
Evgeny.

谷歌同意屏幕由谷歌授权服务器创建。这不是你可以控制的事情。除顶部显示的姓名和电子邮件地址外

当你向你的请求中添加一个作用域时,谷歌将请求给予接受与否选项的用户的适当权限。多年来,该屏幕发生了很多变化,我怀疑您在网上看到的任何示例都可能是旧的。

回答: 这些复选框是由于推出了新的细粒度帐户权限系统,它们完全正常,无法关闭

更多信息: 经过一些挖掘,我从2018年开始发现,其中讨论了在新的权限系统中,用户将能够单独授予或拒绝权限。

从博客帖子:

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

*我们的不同登录范围(配置文件、电子邮件和openid)都组合在同一个同意中,不需要单独请求

这似乎仍处于推广阶段,尽管在撰写本答复时,自宣布以来已经过去了26个月

为变革做准备: 以下是Google提供的关于如何准备对OAuth和API的Google帐户许可系统所做更改的指南:

  • 检查并确保您正在遵循这些规则
  • 在进行API调用之前,请检查用户是否已授予您的应用权限。这将有助于您避免权限不足错误,这可能会导致意外的应用程序错误和糟糕的用户体验。请参阅以下平台上的文档以了解更多信息:
    • 文件
    • 会议文件
    • 文件
  • 仅在您需要权限时请求权限。您可以在请求每个权限时进行阶段性操作,我们建议您在上下文中仔细考虑此操作。当用户可能是第一次使用您的应用并且不熟悉该应用的功能时,您应该避免在登录时请求多个作用域。将需求捆绑在一起对于多个范围,用户很难理解为什么你的应用程序需要许可,并且可能会发出警报并阻止他们进一步使用你的应用程序
  • 在请求访问之前提供理由。清楚地解释您为什么需要访问,您将如何处理用户的数据,以及他们将如何从提供访问中受益。我们的研究表明,这些解释提高了用户的信任和参与度
您可以阅读上述链接的博客文章,了解有关更改的完整信息

我希望这对你有帮助

参考资料:

您是否在OAuth同意屏幕页面中明确定义了所需的范围?位于
https://console.cloud.google.com/apis/credentials/consent/edit?project={YourProjectID}
?你好@Rafa,是的,我已经通过你提供的链接明确地设置了它。因此,我有“email”、“profile”、“openid”和“./auth/gmail.send”作用域。在配置IAuthorizationCodeFlow时,我还通过后端代码设置了相同的作用域。您好@johnymotrohead。我来自Google Workspace支持,正在对此进行调查。您能否提供指向您的web应用URL的链接(先清除应用ID)以进行调查?