【问题标题】:Google Cloud OAuth2 scopes not updatingGoogle Cloud OAuth2 范围未更新
【发布时间】:2021-12-11 20:33:59
【问题描述】:

我有一个 SPA,它应该通过 gapi 与 IoT Core和 Cloud Pub/Sub 交互。

首先我只使用了 IoT Core。我在 APIs & Services / Credentials 和我的 gapi 客户端初始化调用记录的 here 下的应用程序配置中添加了必要的范围。

运行良好,OAuth 同意屏幕显示新范围,IoT Core API 调用正常。

现在我想添加 Cloud Pub/Sub。再次将范围添加到应用程序配置和 gapi 初始化调用。这是gapi.client.init的论点:

{
  apiKey: config.firebase.apiKey,
  clientId: config.clientId,
  discoveryDocs: [
    'https://cloudiot.googleapis.com/$discovery/rest?version=v1',
    'https://pubsub.googleapis.com/$discovery/rest?version=v1',
  ],
  scope:
    'https://www.googleapis.com/auth/pubsub https://www.googleapis.com/auth/cloudiot',
}

然而,当我调用 Pub/Sub API 时,我收到了以下响应:

{
  "error": {
    "code": 403,
    "message": "Request had insufficient authentication scopes.",
    "status": "PERMISSION_DENIED"
  }
}

这是我尝试过的:

  • 注销然后重新登录
  • 清除浏览器缓存和 cookie
  • 从 Google 帐户中的应用撤消所有权限

仍然没有运气。有趣的是,虽然现在两个范围都添加到云端的应用程序中,但在撤销应用程序权限并重新登录后,同意屏幕仅请求 IoT Core 范围的权限。 Pub/Sub 范围没有显示在那里。

任何想法我缺少什么?

【问题讨论】:

    标签: javascript google-cloud-platform google-oauth google-authentication google-account


    【解决方案1】:

    发现问题。登录是由未添加 Pub/Sub 范围的另一部分代码启动的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-21
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-27
      相关资源
      最近更新 更多