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

如何在Google Identity中添加自定义OIDC声明适配xcreds?

解决xcreds与Google Identity OIDC用户名不匹配的问题

核心问题

xcreds仅在Mac本地用户名与Google云账号用户名完全匹配时才能正常同步密码,但部分用户本地用户名(如joesmith)与云账号(如jsmith)不一致,导致同步失败,需要在OIDC响应中添加LocalAccount字段指定本地用户名。

Google Identity自定义OIDC声明的限制

Google Workspace/Cloud Identity目前不支持直接添加自定义OIDC声明(与Azure的可选声明功能不同),官方公开的OIDC支持声明仅包含:

"claims_supported": [
  "aud",
  "email",
  "email_verified",
  "exp",
  "family_name",
  "given_name",
  "iat",
  "iss",
  "locale",
  "name",
  "picture",
  "sub"
]

可行替代方案

1. 复用现有字段映射本地用户名

如果无法添加自定义字段,可选择复用一个非核心字段来存储本地用户名:

  • 复用given_name或family_name:若用户的全名不依赖这两个字段,可在Google Workspace管理员后台将用户的given_name设置为本地用户名(如joesmith),然后配置xcreds从given_name字段取值。
  • 利用邮箱别名:为用户添加对应本地用户名的邮箱别名(如joesmith@yourdomain.com),配置xcreds提取email字段的前缀作为本地用户名。

2. 通过中间服务生成自定义OIDC令牌

如果上述方案无法满足需求,可搭建一个轻量中间服务:

  1. 让xcreds向中间服务发起OIDC认证请求;
  2. 中间服务调用Google Identity API获取用户的自定义属性(需预先在Google Workspace中为用户添加本地用户名属性);
  3. 中间服务生成包含LocalAccount字段的自定义OIDC令牌返回给xcreds。

3. 修改xcreds配置逻辑

若允许调整xcreds的行为,可配置它通过用户唯一ID(sub字段)关联本地账户:

  • 在Mac本地建立sub与本地用户名的映射关系;
  • xcreds通过sub字段匹配到对应的本地账户,完成密码同步。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 23:35:20