You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome Verified Access API验证异常:返回空体或PERMISSION_DENIED

Chrome Verified Access API挑战验证异常解决方案

问题现象

  • 验证USER类型挑战响应:返回200状态码,但响应体为空
  • 验证MACHINE类型挑战响应:返回403状态码,错误为PERMISSION_DENIED

复现步骤

  1. 通过platformKeys API开发扩展程序,并强制部署至Workspace域
  2. 扩展程序正常执行流程:从Verified Access挑战端点生成挑战,通过challengeKey获取挑战响应,将ArrayBuffer转换为字符串后发送至后端服务器
  3. 服务器通过服务账户JSON密钥完成认证,且该服务账户已加入Workspace域,用于获取用户/设备信息
  4. 调用https://verifiedaccess.googleapis.com/v2/challenge:verify端点时出现上述异常

针对性排查与修复

USER类型响应为空

  1. 修正编码转换逻辑:前端将ArrayBuffer转换为字符串时,必须使用URL安全的base64编码(base64url),禁止使用普通base64。普通base64的+、/符号会导致服务端解析失败,返回空响应。
  2. 校验请求体结构:请求体必须包含challengeResponse(编码后的响应字符串)和expectedIdentity,USER类型的expectedIdentity格式为user:<用户Workspace邮箱>,格式错误会导致验证隐性失败。
  3. 确认服务账户权限:确保服务账户已分配verifiedaccess.challenges.verify权限,可在Google Cloud Console的IAM页面核查权限绑定情况。

MACHINE类型403错误

  1. 检查设备注册状态:确保目标设备已完成Workspace域注册,可在Workspace Admin控制台的设备管理页面确认设备归属。
  2. 补充服务账户权限:除verifiedaccess.challenges.verify外,服务账户还需添加chromeosdevices.readonly权限,用于读取设备域身份信息,缺失该权限会直接触发PERMISSION_DENIED。
  3. 修正expectedIdentity格式:MACHINE类型的expectedIdentity必须为device:<设备ID>,设备ID可通过Chrome设备系统信息或Workspace Admin控制台获取,格式不符会导致权限校验不通过。
  4. 验证扩展域绑定:扩展manifest.json中verified_access配置必须指定目标Workspace域,示例:
"permissions": [
  "verified_access"
],
"verified_access": {
  "ids": ["your-domain.com"]
}

未正确绑定域会导致设备身份无法被API识别。

文档注意事项

官方文档部分细节描述模糊,如编码要求、权限明细未明确标注,建议结合Google Cloud IAM权限列表与Chrome扩展开发文档交叉验证配置项。

内容的提问来源于stack exchange,提问作者Patrick McManamon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 14:32:11