身份关联
3.1 能力标识
身份关联的命名空间为dev.ucp.common.identity_linking。它是UCP中跨领域的通用能力(common 而非 shopping),因为身份关联不仅限于购物场景。
3.2 为什么需要身份关联
消费者在商家处可能已有账户(会员等级、积分、收货地址、历史订单、支付方式)。身份关联让AI代理可以安全地代表消费者使用这些已有信息,实现个性化购物体验——而不需要消费者重新输入任何信息或共享密码。 无身份关联的结账: AI代理只能创建访客结账(Guest Checkout),消费者需要手动填写所有信息。 有身份关联的结账: AI代理可以直接获取消费者保存的地址、支付方式和会员优惠,一步完成结账。3.3 授权服务器发现
UCP要求商家通过标准的/.well-known/oauth-authorization-server 端点发布授权服务器元数据(符合RFC 8414):
3.4 OAuth 2.0 Authorization Code流程
UCP使用标准的 OAuth 2.0 Authorization Code 流程,并强制使用PKCE(Proof Key for Code Exchange)增强安全性:步骤1:生成PKCE参数
步骤2:发起授权请求
步骤3:用户授权
商家展示授权页面,明确告知用户:- 哪个AI代理在请求授权
- 请求了哪些权限
- 用户可以随时撤销
redirect_uri,附带授权码:
步骤4:令牌交换
步骤5:获取令牌
3.5 UCP Scope规范
UCP定义了标准化的scope命名,使用ucp:scopes: 前缀:
商家可以在UCP标准scope基础上扩展自定义scope。但AI代理应始终遵循最小权限原则——只请求实际需要的scope。
3.6 令牌撤销 (RFC 7009)
UCP要求商家实现令牌撤销端点,遵循 RFC 7009 OAuth 2.0 Token Revocation 标准:- 用户主动撤销: 用户在商家网站的账户设置中取消AI代理授权
- AI代理主动撤销: AI代理不再需要访问权限时主动撤销令牌
- 安全事件: 检测到异常活动时紧急撤销所有令牌
3.7 令牌刷新
access_token过期后,使用refresh_token获取新的access_token:3.8 安全要点
下一章: 订单管理 — 行项目状态、履约事件、调整操作和Webhook签名