Chrome 验证访问 API 总是失败并显示 PERMISSION_DENIED(调用者没有权限”)

问题描述 投票:0回答:1

我们构建了一个 ChromeOS 扩展程序,调用“chrome.enterprise.platformKeys.challengeKey”并将签名的质询发送到我们的后端。我们在设备上安装了此扩展强制功能,并通过 Google Workspace 管理员启用了“允许企业质询”和“允许访问密钥”证书管理选项。

我们也有

  • 创建了 Google Cloud API 项目并启用了“Chrome Verified Access API”API;
  • 在此 Google Cloud 项目下创建了一个服务帐户;
  • 在我们的 Google Workspace 中,在“用户验证”下将“验证模式启动检查”设置为“需要验证模式启动以进行验证访问”,并将服务帐号添加到“允许接收用户数据的服务帐号”;

我们做什么:

  • 我们调用“https://verifiedaccess.googleapis.com/v2/challenge:generate”端点来请求挑战(有效)
  • 我们将挑战传递给“chrome.enterprise.platformKeys.challengeKey”,并在回调中将请求发送到我们的后端。
  • 在后端,我们使用从扩展程序获得的挑战来调用“https://verifiedaccess.googleapis.com/v2/challenge:verify”端点。

当我们询问 USER 键时,我们得到一个空响应(200 OK)。当我们挑战 MACHINE 密钥时,我们总是收到错误“调用者没有权限”(403 PERMISSION_DENIED)。似乎没有“验证访问”特定权限。

这里的“来电者”指的是什么?这是设备权限还是API权限的问题?从后端调用“challenge:generate”会返回一个质询,因此服务帐户身份验证正在工作。

经过更多测试,V1 API 工作正常,只有 V2 API 因 PERMISSION_DENIED 失败。

google-cloud-platform google-chrome-extension google-chrome-os
1个回答
0
投票

对于任何仍然对此 API 感兴趣的人,在联系谷歌支持后,它被正式标记为错误,并且已打开错误报告。他们建议同时使用 v1 API,但 v2 API 目前在生产中已损坏。

错误案例编号为332760289,以供参考支持。

© www.soinside.com 2019 - 2024. All rights reserved.