OIDC SSO
OIDC 在 OAuth 2.0 的基础上提供身份令牌(ID Token)。千问办公会检查令牌的签发者、签名和有效时间,再根据其中的用户标识关联账号。
准备 OIDC 应用
请身份系统管理员创建采用“授权码”方式的 OIDC 应用,并提供 Client ID、Client Secret、发现配置地址以及签名算法。授权范围必须包含 openid,需要姓名、邮箱等资料时再增加对方要求的范围。
第一步:创建认证源
- 进入【用户管理 → 身份认证 → SSO 登录】,点击【新增认证源】。
- 选择“通用 OAuth2 / OIDC”,填写名称,协议类型保持“OIDC”。
- 填写 Client ID、Client Secret 和 Scopes。
- 在“应用凭证”中选择 Token 端点认证方式和 PKCE;设置须与身份平台一致。
- 根据身份平台实际签发的令牌选择 RS256 或 HS256。RS256 通过签名公钥端点验证;HS256 使用 Client Secret 验证。

管理后台:OIDC 应用凭证、签名算法和发现配置。
第二步:取得并核对端点
选择下面一种设置方式即可:
| 设置方式 | 怎么填写 |
|---|---|
| 输入 Well-Known 接口 | 填写身份平台提供的发现文档地址,点击【解析】,再核对得到的端点 |
| 输入 Issuer | 填写身份平台公布的 Issuer,点击【解析】 |
| 手动输入 | 分别填写 Issuer、认证端点、Token 端点,以及算法需要的签名公钥端点;按需填写用户信息端点 |
Issuer 是身份签发者标识,必须与 ID Token 的 iss 一致,包括路径与末尾斜杠。不要根据域名猜测接口地址。
核对“Nonce”和允许的时钟偏差。Nonce 用于关联本次登录请求和返回令牌;启用时身份平台须返回匹配值。允许时钟偏差为 30~300 秒,两端仍应保持正常时间同步。
第三步:关联成员并登记回调
- 在“关联规则”中核对来源,通常以
user.sub对应第三方用户 ID。姓名和邮箱的默认来源为user.name、user.email,可按页面选项调整。 - 保留第三方用户 ID、姓名,并至少映射邮箱、手机号、工号、账号中的一项。
- 如需自动创建账号,开启“自动创建用户”并选择默认部门;实际返回的身份资料至少有一个可用值。
- 点击【保存配置】。重新打开认证源,复制保存后生成的回调链接,到身份平台应用中登记并保存。
- 在列表启用认证源,再到“登录方式”开启 SSO。请普通成员完成登录,检查实际账号、姓名及资料。
【配置校验】用于辅助检查配置和接口响应,不验证完整登录、字段映射或用户创建。
常见问题
| 现象 | 检查方法 |
|---|---|
| 发现接口解析失败 | 确认地址能被企业服务访问,且返回 OIDC 发现文档 |
| Issuer 不匹配 | 对照发现文档、配置值和令牌的 iss |
| 签名失败 | 核对 RS256/HS256;分别检查公钥地址与密钥轮换,或 Client Secret |
| Nonce 或时间校验失败 | 核对 Nonce 回传、令牌有效期及两端时间 |
| 姓名或邮箱为空 | 核对 Scopes、实际声明及来源字段 |
已有用户与删除记录
SSO 只通过三方 ID 匹配用户,匹配后的处理如下:
| 匹配结果 | 处理方式 |
|---|---|
| 命中未删除用户,其他身份字段无冲突 | 完成登录,保留已有资料和同步来源 |
| 返回的账号、邮箱、手机号或工号与其他用户冲突 | 拒绝本次登录,管理员处理冲突后再试 |
| 未命中用户 | 按「自动创建用户」设置处理 |
| 三方 ID 只有已删除记录 | 不恢复旧 QID;自动创建关闭时拒绝登录,开启且当前资料无冲突时创建新用户和新 QID |
新账号使用本次登录返回的资料、当前默认部门和席位策略,不继承旧账号的角色、密码、席位或部门。完整规则见身份认证。
返回:身份认证-概述