【问题标题】:What's the relationship between the scopes in the Google Cloud OAuth consent screen and the scopes requested when invoking the API?Google Cloud OAuth 同意屏幕中的范围与调用 API 时请求的范围之间有什么关系?
【发布时间】:2019-01-18 20:13:27
【问题描述】:

Google Cloud Console > APIs & Services > Credentials > OAuth Consent Screen 中有一个部分可让您编辑范围列表:

但是,它似乎与用户提示中要求的实际权限无关,这似乎只受我在通过 OAuth 流程时从我的代码中实际传入的内容的影响。该列表似乎不会自行更新以反映您从代码中请求的实际范围,并且它也不限制您可以从代码中请求的范围。

OAuth 同意屏幕中配置的范围列表是否用于任何用途?

【问题讨论】:

  • 我相信这是所有可能范围的列表,然后你传入的就是用户实际同意的。它将允许您根据每个用户实际使用的内容来限制对每个用户的访问范围。例如:除非联系人启用了“共享”功能,否则不会访问他们。
  • @FridayPush 但是您可以编辑此范围列表,它似乎不会自我更新以反映您从代码中要求的实际范围,并且它不限制您可以请求的范围来自您的代码。

标签: oauth google-api google-cloud-platform google-oauth


【解决方案1】:

在右侧“Google API 的范围”屏幕截图中,这是您的应用程序过去要求的范围列表。如果您的应用需要验证,Google 将使用此列表作为评估您的应用的过程的一部分。对于列表中的大部分项目(范围),您可以单击删除图标将范围从列表中删除。

当您创建凭证(OAuth 令牌)时,您可以指定当时所需的范围。您的屏幕截图中的列表不用于指定范围,仅用于跟踪您使用过的范围。

【讨论】:

  • 您可以清楚地从该 UI 的范围列表中添加和删除,并且它似乎不会根据我从代码中要求的范围进行自我更新。它不会限制您在 OAuth 流程期间可以从代码中请求的范围。
  • @Yang - 我不确定你是想在评论中对我说。屏幕会根据您的应用程序使用的范围自行更新。更新不是即时的。您评论的第二部分是正确的-正如我在回答中所说。关键是屏幕用于应用审批。添加或删除所需的任何范围。但是,一旦获得批准,如果您使用未批准的范围,则需要重复批准过程。
【解决方案2】:

正如@Hanley 所提到的,此屏幕显示了您的应用程序过去要求的范围列表。如果您的应用程序需要验证,Google 将使用范围列表。您可以添加或删除所需的任何范围。关键是屏幕用于验证您的应用程序。添加或删除所需的任何范围。但是,一旦获得批准,如果您使用未批准的范围,则需要重复批准过程。

生成凭据时,这会指定当时所需的范围。该列表会根据应用程序使用的范围自行更新。但是,更新不是立即的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 2013-02-21
    • 1970-01-01
    • 2016-04-28
    • 2018-04-30
    • 1970-01-01
    相关资源
    最近更新 更多