第三方登录认证
ARS 支持以OIDC接入第三方登录认证,方便企业用户集成现有的身份认证系统。
此功能默认关闭,需要在配置文件中启用并提供相关参数。
配置步骤
1. 前提条件
在你的SSO系统中注册一个新的客户端应用,获取以下信息:
- 客户端ID(Client ID)
- 客户端密钥(Client Secret)
- ISSUER URL
填入回调地址(Redirect URI):https://<your_ars_host>/api/auth/oidc/callback
2. 配置ARS
在ARS的.env文件中添加以下配置项:
3. 重启ARS服务使配置生效
功能说明
使用原始用户名(OIDC_USE_RAW_USERNAME=true)
当你需要将 ARS 系统中已有的本地账号与 OIDC SSO 绑定,可以开启此选项。
绑定原理(无需修改数据库):
系统会创建一个标记为删除的占位用户 oidc:{sub}:{target_user_id} 来记录 OIDC sub 与 ARS 用户的绑定关系,确保只有绑定过的 OIDC 身份才能登录对应的账号,防止账号冒用。其中 target_user_id 是数据库中的数值 users.id;用户登录标识仍使用字符串 uid。
自动获取部门信息(OIDC_FETCH_DEPARTMENT_INFO=true)
开启后,系统会从 OIDC userinfo 中读取部门名称和描述,自动在 ARS 中创建部门并将用户关联到该部门。
- 对从 OIDC 获取的部门名称会自动做
strip()去空格,并截断到 50 字符 - 部门描述会自动截断到 255 字符
- 如果部门名称处理后为空,会回退到使用
OIDC_DEFAULT_DEPARTMENT默认部门