OAuth 2.0 SSO

当企业身份系统提供授权码登录和用户信息接口时,可以通过 OAuth2 接入。管理员需要把同一个应用的凭据、三个接口地址和用户字段填入千问办公,再把千问办公生成的回调链接登记到身份系统。

先向身份系统管理员取得这些信息

信息用来做什么
Client ID、Client Secret标识应用并验证调用身份
认证端点 URL打开成员登录与授权页面
Token 端点 URL用授权码换取访问令牌
用户信息端点 URL读取已登录成员的资料,也称 UserInfo
Scopes、Token 认证方式、PKCE与身份平台的应用设置一致
一份脱敏的 UserInfo JSON确认用户 ID、姓名、邮箱等字段在哪里

第一步:填写应用和接口

  1. 进入【用户管理 → 身份认证 → SSO 登录】,点击【新增认证源】。
  2. 选择“通用 OAuth2 / OIDC”,填写名称,将“协议类型”设为“OAuth2”。
  3. 在“应用凭证”填写 Client ID、Client Secret。按身份平台要求填写 Scopes;OAuth2 不要求固定包含 openid。
  4. 选择 Token 端点认证方式:Basic Auth 在请求头中传应用凭据,Form Post 在表单中传。PKCE 选择 S256 或关闭,与对方配置保持一致。
  5. 在“Endpoint 设置”选择 UserInfo 接口 Token 携带方式,并填入认证、Token、用户信息三个端点地址。
QwenWork 产品界面

管理后台:OAuth2 的应用凭证与三个端点配置。

Token 端点认证方式传递的是应用凭据;UserInfo 令牌携带方式传递的是登录后取得的访问令牌,两者不要混用。

第二步:对应用户字段

  1. 在“关联规则”填写来源字段名或对象点路径。输入框已处理 user. 前缀,不需要重复填写。
  2. 例如 UserInfo 返回 {"profile":{"id":"u123","name":"陈晨"},"email":"chenchen@example.com"},可分别填写 profile.id、profile.name、email。
  3. 第三方用户 ID 应选择稳定、唯一的值;不要使用可能重名或改动的姓名。
  4. 保留第三方用户 ID 和姓名映射,并在邮箱、手机号、工号、账号中至少映射一项。路径区分大小写,不支持数组下标或脚本。
  5. 需要首次登录创建账号时,开启“自动创建用户”,选择默认部门;需要同时尝试分配席位时,再开启“自动授予席位”。

第三步:保存后登记回调链接

  1. 点击【保存配置】。新建认证源的回调链接在保存后生成。
  2. 重新打开该认证源,复制完整回调链接。
  3. 回到身份系统,在同一应用的允许回调地址中登记该链接并保存。
  4. 返回千问办公启用该认证源,再到“登录方式”开启 SSO 登录。
  5. 请普通成员完成一次真实登录,检查能否返回企业、关联正确账号及取得所需资料。

【配置校验】仅作配置与接口响应诊断,不会替成员完成登录,也不能证明回调和字段映射正确。企业同一时间只启用一个 SSO 认证源。

失败时按所在阶段检查

停在哪里优先检查
登录页面打不开认证端点和身份平台应用状态
授权后无法返回完整回调地址是否在同一应用中登记
交换令牌失败Client ID/Secret、Basic Auth/Form Post、PKCE
读取资料失败UserInfo 地址、令牌携带方式和 Scopes
无法关联或自动创建用户唯一标识、实际字段值、默认部门及身份冲突

已有用户与删除记录

SSO 只通过三方 ID 匹配用户,匹配后的处理如下:

匹配结果处理方式
命中未删除用户,其他身份字段无冲突完成登录,保留已有资料和同步来源
返回的账号、邮箱、手机号或工号与其他用户冲突拒绝本次登录,管理员处理冲突后再试
未命中用户按「自动创建用户」设置处理
三方 ID 只有已删除记录不恢复旧 QID;自动创建关闭时拒绝登录,开启且当前资料无冲突时创建新用户和新 QID

新账号使用本次登录返回的资料、当前默认部门和席位策略,不继承旧账号的角色、密码、席位或部门。完整规则见身份认证。

返回:身份认证-概述