Skip to content

Google Agent 身份文档验证记录 ​

日期:2026-10-04(Asia/Shanghai)。对象:落地设计。本次交付是实施文档和配套验证实验,不是已上线的认证服务。

1. 需求与证据 ​

要求对应产物/证据结论
将 Google Agent 身份方案整理为 Markdowndocs/agent/google-agent-identity.md已完成
覆盖用户本地与服务器沙箱主文档第 5、6 节,两条入口及统一凭证契约已完成
来源不确定的官方/第三方客户端分离用户、实例密钥、登记审核和软件来源证明;无证据默认未验证已完成
认证系统只做认证项目自主授权,业务 403 与认证失败分开;不接管业务 scope/ACL已完成
具备可实施细节配置清单、接口契约、数据模型、生命周期、部署示例、阶段产物与 G01–G14已完成设计;真实环境执行为上线门槛
写完自行验证官方核对、签名反例实验、文档结构/示例语法检查、站点构建见以下实际结果

2. 官方能力核对 ​

关键说法官方证据核对结果
原生应用不能保守共享 client_secret,支持 PKCEGoogle native OAuth、RFC 8252支持;不把 client_id 当软件证明
OAuth 品牌审核与请求级来源证明不同品牌审核登记审核与运行证明分开描述
App Check 保证取决于提供方App Check不宣称默认可证明任意桌面 Agent
Agent Identity 与受支持托管资源关联Agent Identity 概览不把资源级身份描述为任意容器副本身份
外部 OIDC 路径为 Preview;默认不绑定证书外部 OIDC主文档明确保留 bearer 重放边界
Agent CLI 指南为 Preview,区域状态另列部署指南、地区表不用区域 GA 代替具体路径状态
STS issuer 与 Google 用户 issuer 不同外部 OIDC 文档、用户 ID Token 验证两套验证配置与 subject 映射分开
DPoP 只证明持钥,不证明官方软件RFC 9449自有 DPoP 扩展未冒称 Google 桌面原生能力
3LO 管理外部服务的用户同意与令牌auth manager 3LO与认证-only 系统分界明确

公开 Google 用户 Discovery 地址通过网页工具成功读取:Discovery。这是公开元数据可获取的证据,不是实际登录或项目私有信任域 JWKS 联调证据。

执行环境中的 Python HTTP 请求遭遇网络连接拒绝,Google OIDC 总览页面也未能通过网页工具读取;改用可读取的 Google 用户 ID Token 验证文档与 OIDC Core 核对必要声明。未将网络失败描述为 Google 服务不可用。

3. 本地实验实际结果 ​

环境:Node.js v24.19.0、pnpm 11.19.0、Python 3.12.10、VitePress 1.6.4。

powershell
node --test --test-isolation=none docs/public/examples/google-agent-identity-lab.test.mjs

结果:50 项通过,0 失败,0 跳过。使用真实 RSA/EC 签名与验证,密钥运行时生成,没有真实 Google token,也没有持久化私钥。

组项数覆盖
JWT 与 JWKS23签名篡改、错公钥、issuer/audience、时间和主体类型、算法/类型、恶意 jku、公钥刷新/过期
DPoP14公钥绑定、盗取 token、重放、HTTP 方法/URL、时间、ath、nonce、proof 签名、缺失 cnf
身份绑定与撤销13自报用户/租户/官方来源忽略、用户切换、撤销、凭证/票据到期、跨租户与错工作负载/任务/受众、两次兑换

限制:实验的 JWKS 获取是注入的固定模拟;状态与 replay cache 是进程内实现。两次票据兑换实验只证明同步内存模型最多一次成功,不证明真实数据库事务、Redis 原子性或多副本并发已通过。未实现完整 OAuth、PKCE 兑换、Google 登录或 App Check;正式系统使用成熟库和共享存储,并完成对应 G01–G14 联调。

第一次默认测试器启动报 spawn EPERM,尚未执行任何用例;切换为 Node.js 24 单进程测试后,50 项全部实际执行。没有跳过失败用例。

4. 文档和构建检查 ​

执行 python scripts/verify-google-agent-identity-doc.py:PASS。1 个 Python 示例通过 AST 语法检查,1 个 JSON 示例解析成功;15 个出处引用存在;代码围栏完整;报告、实验附件与侧栏入口存在;G01–G14 均明确保留未实测状态。

执行 pnpm docs:build:退出码 0,构建成功,客户端/服务端包与页面渲染完成。仅出现包体大于 500 kB 的构建提醒,不影响本次文档生成。未关闭死链接检查。

首次构建发现尚未创建的验证报告链接;已创建本报告并修复链接后通过构建。最终生成的两个 HTML 页面和两个实验附件亦检查存在。

复核命令:

powershell
python scripts/verify-google-agent-identity-doc.py
node --test --test-isolation=none docs/public/examples/google-agent-identity-lab.test.mjs
pnpm docs:build

5. 真实环境未验证项与交付边界 ​

当前工作区没有 gcloud 可执行程序,也没有本任务所需的 Google 测试账号/项目及部署凭证。本次没有创建、修改或计费任何 Google 云资源。

主文档 G01–G14 全部保留“未实测”。真实用户登录、授权码 PKCE 拒绝、真实 DPoP SDK 兼容性、多副本 Redis replay cache、Google Agent 部署与元数据凭证、公钥轮换、跨实例绑定、项目授权及 App Check,需要实施方按所选路径完成验收。

“可落地”在本交付中的含义是:给出可实施的组件边界、协议选择、配置、接口、部署入口和可判定验收标准;不表示没有执行证据的云端路径已上线或已验证。文档和离线验证的完成不替代生产上线门槛。