认证与 OAuth
本地认证
CBCTF 默认使用用户名 + 密码登录。
JWT 配置
设备绑定
前端会使用 FingerprintJS 生成设备标识,并通过请求头 X-M 发送给后端。JWT 中也会绑定该标识;若同一账号从不同设备使用,可能触发
token_magic 作弊检测。
邮箱验证
需要先配置 SMTP,并为用户分配 self:activate 权限。用户调用 POST /me/activate 后,平台发送验证邮件;用户访问邮件中的
/verify 链接后,账号会被标记为已验证。
OAuth / OIDC
平台支持配置多个 OAuth / OIDC 提供商。公开入口为:
GET /oauthGET /oauth/{uri}GET /oauth/{uri}/callbackGET /oauth/token
后端完成第三方回调后,会跳转到前端 #/oauth/callback 页面继续登录流程。
OAuth 配置字段
GitHub 示例
GitHub OAuth App 回调地址示例:https://your.domain.com/oauth/github/callback
注册控制
多提供商并存
平台可同时启用本地登录和多个 OAuth 提供商。登录页会展示所有启用的提供商入口。
