- 新增 OIDC 认证配置项到 .env.template 文件 - 实现 OIDC 认证路由和处理逻辑,包括登录、回调和配置获取接口 - 创建 OIDC 配置模型和服务工具类,支持从环境变量加载配置 - 在前端登录页面添加 OIDC 登录选项,支持动态配置显示 - 添加 OIDC 认证相关配置文档说明 - 支持自动创建 OIDC 用户和部门管理功能
73 lines
1.9 KiB
Markdown
73 lines
1.9 KiB
Markdown
# 第三方登录认证
|
||
Yuxi 支持以OIDC接入第三方登录认证,方便企业用户集成现有的身份认证系统。
|
||
|
||
## 配置步骤
|
||
1. 前提条件:
|
||
在你的SSO系统中注册一个新的客户端应用,获取以下信息:
|
||
- 客户端ID(Client ID)
|
||
- 客户端密钥(Client Secret)
|
||
- ISSUER URL
|
||
|
||
回调地址(Redirect URI):<your_yuxi_host>/api/auth/oidc/callback
|
||
|
||
2. 配置Yuxi:
|
||
在Yuxi的.env文件中添加以下配置项:
|
||
|
||
```env
|
||
# 是否启用 OIDC 认证 (true/false)
|
||
# OIDC_ENABLED=false
|
||
|
||
# 认证源名称(显示在登录按钮上的文字,建议简短且具有辨识度, 默认: OIDC登录)
|
||
# OIDC_PROVIDER_NAME="OIDC登录"
|
||
|
||
# OIDC Provider 的 Issuer URL (例如: https://auth.example.com)
|
||
# OIDC_ISSUER_URL=
|
||
|
||
# OIDC Client ID
|
||
# OIDC_CLIENT_ID=
|
||
|
||
# OIDC Client Secret
|
||
# OIDC_CLIENT_SECRET=
|
||
|
||
# OIDC 回调 URL (可选,默认自动构建为 /api/auth/oidc/callback, 不建议自定义)
|
||
# 需要确保此 URL 在 OIDC Provider 中已注册
|
||
# OIDC_REDIRECT_URI=
|
||
|
||
# 授权端点 (可选,自动从 discovery 获取)
|
||
# OIDC_AUTHORIZATION_ENDPOINT=
|
||
|
||
# Token 端点 (可选,自动从 discovery 获取)
|
||
# OIDC_TOKEN_ENDPOINT=
|
||
|
||
# UserInfo 端点 (可选,自动从 discovery 获取)
|
||
# OIDC_USERINFO_ENDPOINT=
|
||
|
||
# 登出端点 (可选,自动从 discovery 获取)
|
||
# OIDC_END_SESSION_ENDPOINT=
|
||
|
||
# 请求的 scope (默认: openid profile email)
|
||
# OIDC_SCOPES=openid profile email
|
||
|
||
# 是否自动创建用户 (true/false,默认: true)
|
||
# OIDC_AUTO_CREATE_USER=true
|
||
|
||
# OIDC 用户的默认角色 (user/admin,默认: user)
|
||
# OIDC_DEFAULT_ROLE=user
|
||
|
||
# OIDC 用户的默认部门名称 (默认: OIDC用户)
|
||
# OIDC_DEFAULT_DEPARTMENT=OIDC用户
|
||
|
||
# 用户名映射字段 (默认: preferred_username)
|
||
# OIDC_USERNAME_CLAIM=preferred_username
|
||
|
||
# 邮箱映射字段 (默认: email)
|
||
# OIDC_EMAIL_CLAIM=email
|
||
|
||
# 姓名映射字段 (默认: name)
|
||
# OIDC_NAME_CLAIM=name
|
||
|
||
```
|
||
3. 重启Yuxi服务使配置生效
|
||
```bash
|
||
docker restart api-dev web-dev
|
||
``` |