账号与安全
YourTJ 账号使用平台自己的数值用户 ID。密码、OAuth、OIDC 都是登录方式,不会改变账号身份本身。
登录方式
Web 支持:
- 密码。
- GitHub OAuth。
- Google OAuth(实例配置后)。
- 同济统一认证(实例配置后)。
移动端客户端在浏览器中完成登录授权,可选密码、GitHub / Google OAuth、原生 Sign in with Apple 和同济统一认证。
GitHub / Google OAuth 和 Apple 登录只登录或绑定已有账号,不自动创建新的 YourTJ 用户。同济统一认证不同,未注册用户在站点开放注册时可以通过同济入口完成注册。
TOTP 两步验证
密码账号可以开启 TOTP。
开启后,密码验证通过并不会立刻创建正式会话。服务端先给出一个短时 challenge,再验证:
- TOTP 动态验证码;或
- 一次性恢复码。
验证成功后才创建 session。
恢复码只保存哈希,使用一次后失效。请在开启 TOTP 时把恢复码保存到可靠的位置。
WARNING
当前 GitHub / Google OAuth、OIDC、Apple 和同济统一认证登录都不会经过论坛侧 TOTP。TOTP 目前保护的是密码登录链路。
管理登录设备
每个正式会话都有对应的服务端 session 记录,可以单独撤销。
如果只发现一台陌生设备,撤销那一条即可;如果怀疑密码或 token 已经泄漏,使用“退出所有设备”。
“退出所有设备”和修改密码都会让旧 token 失效。
忘记密码
找回密码链接是短时签名 token,并绑定当前账号状态。
完成密码重置、账号恢复或全端退出后,之前签发的旧链接会失效。不要长期保存重置链接。
修改邮箱
密码账号修改邮箱前需要再次验证当前密码。
如果站点开启邮箱验证,修改采用两步确认:
- 新邮箱先进入待确认状态。
- 验证新邮箱后才正式切换。
确认完成前,旧邮箱继续用于登录和找回密码。
OAuth 账号没有密码怎么办
通过 OAuth 绑定、但还没有可用密码的账号,可以在 Web 设置页建立初始密码。
建立密码后,旧会话会被撤销,需要重新登录。移动端如果遇到需要密码确认的安全操作,优先到 Web 设置页完成。
关闭账号和清理内容
账号设置提供个人内容管理和账号关闭。
用户内容可能经历:
正常
↓ 删除
可恢复
↓ 最终清理
用户侧不可恢复最终清理后,内容不会继续出现在普通用户读取路径。
治理审计有独立保留规则。它不等于用户仍能恢复内容,也不会通过普通页面重新展示。
遇到安全问题
如果怀疑账号被盗:
- 先退出所有设备。
- 修改密码。
- 检查 OAuth 绑定和邮箱。
- 重新检查 TOTP / 恢复码。
- 不要把 Cookie、JWT、恢复码或密码重置链接发到公开 Issue。