feat(oauth): implement custom OAuth provider management #1106

- Add support for custom OAuth providers, including creation, retrieval, updating, and deletion.
- Introduce new model and controller for managing custom OAuth providers.
- Enhance existing OAuth logic to accommodate custom providers.
- Update API routes for custom OAuth provider management.
- Include i18n support for custom OAuth-related messages.
This commit is contained in:
CaIon
2026-02-05 21:18:43 +08:00
parent 424595e620
commit 17be836aa4
20 changed files with 2066 additions and 11 deletions

View File

@@ -2795,6 +2795,49 @@
"语言偏好": "Language Preference",
"选择您的首选界面语言,设置将自动保存并同步到所有设备": "Select your preferred interface language. Settings will be saved automatically and synced across all devices",
"语言偏好已保存": "Language preference saved",
"提示语言偏好会同步到您登录的所有设备并影响API返回的错误消息语言。": "Note: Language preference syncs across all your logged-in devices and affects the language of API error messages."
"提示语言偏好会同步到您登录的所有设备并影响API返回的错误消息语言。": "Note: Language preference syncs across all your logged-in devices and affects the language of API error messages.",
"自定义 OAuth 提供商": "Custom OAuth Providers",
"配置自定义 OAuth 提供商,支持 GitHub Enterprise、GitLab、Gitea、Nextcloud、Keycloak、ORY 等兼容 OAuth 2.0 协议的身份提供商": "Configure custom OAuth providers, supports GitHub Enterprise, GitLab, Gitea, Nextcloud, Keycloak, ORY and other OAuth 2.0 compatible identity providers",
"回调 URL 格式": "Callback URL format",
"添加提供商": "Add Provider",
"编辑提供商": "Edit Provider",
"选择预设...": "Select preset...",
"输入基础 URL": "Enter base URL",
"例如": "e.g.",
"提供商名称": "Provider Name",
"标识符 (Slug)": "Slug",
"授权端点": "Authorization Endpoint",
"令牌端点": "Token Endpoint",
"用户信息端点": "User Info Endpoint",
"用户 ID 字段": "User ID Field",
"支持 JSONPath如 sub, id, data.user.id": "Supports JSONPath, e.g. sub, id, data.user.id",
"用户名字段": "Username Field",
"支持 JSONPath如 preferred_username, login, data.user.username": "Supports JSONPath, e.g. preferred_username, login, data.user.username",
"显示名称字段": "Display Name Field",
"支持 JSONPath如 name, display_name, data.user.name": "Supports JSONPath, e.g. name, display_name, data.user.name",
"邮箱字段": "Email Field",
"支持 JSONPath如 email, data.user.email": "Supports JSONPath, e.g. email, data.user.email",
"授权范围 (Scopes)": "Scopes",
"认证方式": "Auth Style",
"自动检测": "Auto-detect",
"参数传递": "In Parameters",
"Basic Auth 头": "Basic Auth Header",
"暂无自定义 OAuth 提供商": "No custom OAuth providers",
"确定要删除该提供商吗?": "Are you sure you want to delete this provider?",
"创建成功": "Created successfully",
"更新成功": "Updated successfully",
"确认解绑": "Confirm Unbind",
"确定要解绑 {{name}} 吗?": "Are you sure you want to unbind {{name}}?",
"解绑成功": "Unbind successful",
"{{name}} ID": "{{name}} ID",
"使用 {{name}} 继续": "Continue with {{name}}",
"端点 URL 必须以 http:// 或 https:// 开头:": "Endpoint URL must start with http:// or https://: ",
"OAuth 配置错误:授权端点必须是完整的 URL以 http:// 或 https:// 开头)": "OAuth configuration error: Authorization endpoint must be a full URL (starting with http:// or https://)",
"OAuth 登录失败:": "OAuth login failed: ",
"必填:请输入服务器地址以自动生成完整端点 URL": "Required: Enter server address to auto-generate full endpoint URLs",
"填写服务器地址后自动生成:": "Auto-generated after entering server address: ",
"自动生成:": "Auto-generated: ",
"请先填写服务器地址,以自动生成完整的端点 URL": "Please enter the server address first to auto-generate full endpoint URLs",
"端点 URL 必须是完整地址(以 http:// 或 https:// 开头)": "Endpoint URL must be a full address (starting with http:// or https://)"
}
}