【问题标题】:How can I configure Google OAuth consent screen to not show checkboxes?如何将 Google OAuth 同意屏幕配置为不显示复选框?
【发布时间】:2020-07-12 04:56:53
【问题描述】:

您好 Stackoverflow 社区,

我正在尝试配置一个网络应用程序以使用某些 Google 范围。我希望用户要么全部批准,要么全部拒绝。

这正是我在玩 Google OAuth Playground 时遇到的行为:

看,每个范围都有一个不能取消选中的“实心圆圈”。 用户要么允许访问所有列出的范围,要么拒绝访问所有范围。一次完成。

但在我的应用程序中,每个权限都映射到一个可以允许DENIED的弹出窗口。此外,最后会显示相同的同意屏幕,但用户可以选择/取消选择某些权限。 (复选框)

尽管这听起来可能更细化,但我认为这也有点令人困惑,而且它扩展了我的应用程序中的逻辑,因为我需要仔细检查是否已授予所有范围的权限。我确实需要他们两个来做我需要做的事情,所以,只有一个范围对我没有用,我可能需要重新触发授予权限过程:这实际上是我试图避免的。我的意思是,处理 完全拒绝 的情况是可以的,但我不希望部分范围获得批准。

解决方案是模仿 Google OAuth Playground 的做法。

我已在我的同意屏幕配置中明确添加了范围(现在的数字正在审查中)。但我仍然有这种行为。

为了获得确切的行为,我可能缺少 oAuth url 的哪个配置或参数?

谢谢!

【问题讨论】:

    标签: google-api google-oauth scopes oauth2-playground


    【解决方案1】:

    事实证明,在添加了我需要的特定范围之后:

    https://console.cloud.google.com/apis/credentials/consent/edit?project={YourProjectID}

    过了一会儿...我开始看到带有实心圆圈而不是可选复选框的同意屏幕!

    【讨论】:

    • 嘿,我已经添加了我使用的范围(仅drive.appdata,它不敏感或不受限制)并验证了我的应用程序。但是,我仍然不断看到权限的复选标记(最初甚至未选中复选标记)。你知道为什么会这样吗?
    • @Max 同样的事情发生在我身上。你找到解决办法了吗?
    • 我没有在登录时请求权限,而是在正常登录后使用GoogleSignIn.requestPermissions() 请求权限。您还需要在使用之前检查您的应用是否具有所需的权限,您可以使用GoogleSignIn.hasPermissions()
    • @cSn 迟到的评论,但感谢您的解决方案:在 OAuth 同意屏幕中,我添加了“./auth/drive”,但我忘记添加“email”、“profile”和“openid”,因为我认为它们是基本权限。添加后,复选框不再出现。
    猜你喜欢
    • 2020-05-02
    • 2021-08-25
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 2021-06-20
    • 2016-04-10
    • 2019-08-15
    相关资源
    最近更新 更多