Skip to content

OAuth2 ​

cloud-r2pan 内置两套相互独立的 OAuth2 体系:

体系作用支持平台
下载鉴权 OAuth2访客下载前需先登录第三方账号GitHub / Google / Microsoft / Discord / 自定义
管理员第三方登录管理员免密登录后台(绑定后)GitHub / Google / Microsoft

下载鉴权 OAuth2 ​

管理后台 → 设置 → OAuth2 区块。

配置项 ​

字段默认值说明
启用 OAuth2 验证关闭开启后访客需完成第三方授权才能下载
Providergithubgithub / google / microsoft / discord / custom
Client ID空OAuth 应用的 Client ID(明文存,可公开)
Client Secret空OAuth 应用的密钥(AES-GCM 加密存)
Scopeuser:email授权范围,按 Provider 要求填写

自定义 Provider ​

Provider 选 custom 时,额外填写:

字段说明
Authorize URL授权跳转地址
Token URL换取 access_token 的地址
Userinfo URL获取用户信息的地址
Token 字段名token 响应中的字段名,默认 access_token

任何标准 OAuth2 服务(Gitee、Linux Do、自建 Keycloak 等)均可通过此方式接入。

回调地址 ​

在对应平台创建 OAuth App 时,回调地址填:

https://<你的 Worker 域名>/oauth/callback

管理员第三方登录 ​

管理后台 → 管理员登录方式 标签页(独立标签页),支持绑定 GitHub / Google / Microsoft 三家。

绑定步骤 ​

  1. 前往对应平台创建 OAuth App,回调地址同上
  2. 在标签页中填入该平台的 Client ID 与 Client Secret,保存
  3. 点击 绑定,跳转平台授权后完成绑定(记录账号 ID / 用户名 / 头像)
  4. 开启该平台的「允许登录」开关

绑定后,后台登录页会出现对应平台的图标按钮,点击即可免密登录。登录动作与密码登录一样会写入登录审计日志。

TIP

  • 未绑定的平台即使开启开关也无法登录
  • 第三方登录与密码登录、2FA 并存:第三方登录不需要输 2FA 码