跳转到内容

账号

本文介绍 RPG Roleplay 的账号全流程:创建账号、登录、找回密码、免密码魔法链接,以及自部署局域网下的邀请链接注册。


注册账号

标准注册(服务器部署)

  1. 打开登录页,切换到「注册」标签。
  2. 填写以下字段:
    • 用户名(必填):登录时使用,注册后不可更改(管理员可修改)。
    • 昵称(可选):显示在游戏界面中,可随时更改。
    • 邮箱(必填):用于验证身份和找回密码,格式需包含 @
    • 出生日期(必填):平台要求年满 18 周岁。
    • 密码(必填):至少 8 位,服务端以 Argon2id 算法加密存储,页面不回显。
    • 同意服务条款与隐私政策(必填复选框)。
    • 确认已年满 18 周岁(必填复选框)。
  3. 若后台启用了人机验证(Cloudflare Turnstile),页面会显示验证组件,完成后才能提交。
  4. 点击「注册」,系统向邮箱发送一封包含 6 位数字验证码的邮件。

邮箱验证

注册提交成功后,页面自动切换到验证码输入步骤:

  • 在 6 位数字框中输入邮件里的验证码,验证码输入完整后自动提交。
  • 验证码有时效,若未收到可点击「重新发送」(每次发送后有 60 秒冷却)。
  • 验证通过后系统颁发登录 cookie,直接进入平台,无需再次登录。

验证码邮件有时会进入垃圾邮件文件夹,请检查。

自部署/本地模式

自部署实例(local/desktop 部署模式)注册流程略有不同:

  • 无邮箱验证,注册即登录(auto_verified)。
  • 首位注册用户自动获得管理员权限。
  • 若管理员设置了 Setup Token,注册表单会额外出现「Setup Token」字段,须填入正确值才能完成第一个账号的创建。

登录

密码登录

  1. 打开登录页,保持默认「登录」标签。
  2. 填写用户名或邮箱 + 密码,点击「登录」。
  3. 登录成功后跳转至平台主界面(或 URL 中 ?next= 指定的页面)。

连续登录失败多次会触发速率限制,须等待一段时间后再试。管理员可在管理后台手动解除锁定。

邮箱验证码登录(免密码)

不想输密码,或忘记密码又来不及重置时,可使用验证码登录:

  1. 点击「验证码登录」标签。
  2. 填写注册时绑定的邮箱,点击「发送验证码」。
  3. 输入邮件中收到的 6 位数字验证码,通过后直接登录。

验证码同样有 60 秒重发冷却。此方式要求账号已绑定邮箱,自部署的无邮箱账号不适用。


忘记密码与重置

  1. 在登录页点击「忘记密码」链接,进入重置申请页。
  2. 输入注册时绑定的邮箱,点击「发送重置邮件」。
  3. 无论该邮箱是否存在,页面均返回成功提示(防止枚举攻击),请检查收件箱(含垃圾邮件)。
  4. 邮件中包含一个带有 #reset?token=… 的链接,点击后登录页自动切换到「设置新密码」步骤。
  5. 输入新密码(不少于 8 位),再次输入确认,点击「确认修改」。
  6. 重置成功后约 1.8 秒自动跳回登录页,用新密码登录即可。

注意事项:

  • 重置链接一次性有效,用过即失,再次点击会提示「链接已使用」。
  • 链接有过期时间,若提示「链接无效或已过期」,请重新申请重置邮件。

魔法链接(免登录直接进入)

魔法链接是桌面/本地部署专属的便捷入口,由服务主进程铸造、仅限本机控制台调用,不依赖密码。

工作原理:

  1. 桌面端在启动时调用 POST /api/local/account/magic-token(仅限回环 127.0.0.1),获得一次性 token。
  2. 浏览器访问 /api/auth/desktop-login?token=…,服务端验证 token 有效性,颁发 session cookie 并重定向进入平台。
  3. Token 一次性,消费后失效;链接有防开放重定向保护,next 参数只能是站内相对路径。

此方式仅在本地/自部署/桌面部署模式下可用,服务器部署调用会返回 404。

Landing 魔法链接(meeting-link 形式):

从 Landing 页面生成的魔法链接形如 /Login.html?magic=TOKEN&email=EMAIL,被前端捕获后通过 POST /api/auth/magic-consume 验证,验证通过直接登录,无需再输入 OTP。


邀请链接加入(自部署局域网)

自部署实例的管理员可以生成邀请链接,让局域网内的其他用户快速创建账号。

管理员操作(本机控制台):

  1. 调用 POST /api/local/account/invite-token(仅限回环 127.0.0.1),获得邀请 token。
  2. 将生成的链接 /Login.html?invite=TOKEN 分享给局域网内其他用户。
  3. 不想继续邀请时,调用 POST /api/local/account/invite-token/revoke 撤销全部邀请 token。

受邀用户操作:

  1. 在浏览器打开邀请链接,登录页自动切换到「加入」界面。
  2. 填写用户名密码(不少于 8 位),勾选「确认已年满 18 周岁」。
  3. 点击「加入」,注册即登录,无需邮箱验证。

邀请链接为可复用 token,同一链接可供多人使用,直到管理员主动撤销。邀请注册的账号无邮箱,不支持密码找回和验证码登录。


Apple 登录(iOS 客户端)

iOS 原生客户端支持 Apple Sign-In,无需输入密码:

  1. 在 iOS App 中点击「Sign in with Apple」按钮。
  2. App 获取 Apple 颁发的 identity_token,发送到 POST /api/auth/apple 验证。
  3. 服务端校验 Apple 签名,查找或创建账号,颁发 session cookie 登录。
  4. 若为首次使用 Apple 登录(Apple 仅在首次授权时传递邮箱),账号会自动关联 Apple ID;后续登录通过 Apple 子系统 ID(sub)匹配,无需再次授权邮箱。
  5. 若账号不含昵称,登录后会跳转至昵称补填步骤(needs-profile),填写用户名即可进入平台。

此方式仅在 iOS 原生客户端可用,Web 端暂不支持。


常见问题

验证码邮件收不到

  • 检查垃圾邮件 / 促销邮件文件夹,发件域为平台配置的 Resend 发信域。
  • 等待 60 秒冷却后,在验证码步骤点击「重新发送」。
  • 若多次未收到,联系实例管理员确认服务端邮件发送配置(SMTP/Resend)是否正常。
  • 自部署实例若未配置邮件服务,注册流程会走免验证路径(auto_verified),无需输入验证码。

邀请链接打开报错

  • 「链接无效」:token 已被管理员撤销,或链接中 invite= 参数被截断,请联系管理员重新生成。
  • 「用户名已被占用」:换一个用户名重试,注册用户名在同实例内唯一。
  • 「密码过短」:密码须不少于 8 位。
  • 「本接口仅本地部署可用」:邀请注册接口(/api/local/register)仅在自部署/本地模式下可用,标准服务器部署不开放此端点。

密码重置链接失效

  • 链接为一次性,已使用过的链接无法再次使用,请重新申请。
  • 链接有时效,超过有效期后同样失效,请重新申请。
  • 邮件客户端有时会自动预取链接(导致 token 被提前消费),建议手动复制链接而非直接点击。

登录被锁定

连续多次密码错误会触发速率限制,提示等待秒数后重试。若账号被错误锁定,联系实例管理员在管理后台执行解锁操作。

邀请链接注册的账号如何找回密码

邀请注册的账号无邮箱,无法通过找回密码流程重置。解决方法:

  • 联系管理员直接在后台重置密码。
  • 或重新通过邀请链接注册一个新账号(数据不会迁移)。

相关文档:开始上手 · 管理后台