如何在Google OIDC令牌中添加用户Workspace组信息且无写入权限?
Google OIDC 实现Workspace组列表与角色声明方案
获取用户所属Workspace组列表
https://www.googleapis.com/auth/userinfo.groups作用域已废弃,无法用来获取组信息,这是你未收到相关声明的核心原因。- 正确的只读权限作用域为
https://www.googleapis.com/auth/admin.directory.group.readonly,但该作用域需要Workspace超级管理员为你的OIDC应用授权(属于Admin SDK权限,普通用户无法自行授权)。授权后,你可通过访问令牌调用Admin SDK的groups.list接口(指定userKey为用户邮箱)拉取组列表,全程仅需只读权限,无编辑权限要求。 - 若不想调用API,可通过Google Workspace的自定义声明功能实现:由Workspace超级管理员在Admin控制台「安全」>「API控制」>「管理第三方应用访问」中,为你的OIDC应用配置自定义声明,直接将用户所属组列表注入ID令牌,无需额外接口调用。
在令牌中添加用户角色信息
- 与组列表逻辑一致,可通过Google Workspace的自定义声明功能,将用户的Workspace系统角色(如超级管理员、部门管理员)或自定义角色注入ID令牌。超级管理员可在自定义声明配置页面选择对应角色属性,或通过自定义逻辑生成角色声明。
- 若角色为应用内部自定义角色,可在用户认证成功后,从自有数据库查询角色信息并在应用层处理;如需直接在Google返回的令牌中携带,仍需依赖Workspace的自定义声明配置。
注意事项
- 自定义声明配置、Admin SDK权限授权均需Workspace超级管理员操作,涉及域内用户属性暴露,属于管理员权限范畴。
内容的提问来源于stack exchange,提问作者Jordan
相关产品推荐
相关产品推荐

