---
url: /docs/specs/auth-form.md
---
# 账号表单规格

## 可用入口

共享表单位于 `apps/app/components/auth/auth-form.tsx`，登录与注册根据配置显示密码、邮箱验证码以及服务端已配置的第三方入口。通行密钥仅用于已有账号登录。

密码、验证码及通行密钥开关来自统一站点配置；Google、GitHub 入口来自服务端能力查询，不另外维护前端启用列表。真实服务条款和隐私政策由站点维护者提供，模板示例文本不能直接当成你的正式政策。

## 验证码步骤

```text
选择方式 → 输入邮箱 → 发送验证码 → 输入验证码 → 刷新会话 → 进入工作台
```

验证码六位、五分钟有效、三次错误尝试；重发按钮 30 秒倒计时不承担服务端防滥用。过期或次数超限时返回邮箱步骤并保留解释。

密码流程位于 `password-form.tsx`，第三方流程位于 `social-login.tsx`，通行密钥流程位于 `passkey-login.tsx`。第三方跳转回来后同样通过真实会话决定是否登录。

## 成功与错误

子流程执行时禁用冲突操作，错误通过可被辅助技术读取的提示区展示。成功回调刷新会话并完成路由跳转；避免同一表单完成两次。回跳地址先经过站内校验。

品牌链接整页打开公开首页 `/`。私有工作台有独立路由，公开首页不根据登录提示切换。

## 访问性与验收

输入使用可见标签、正确自动填充属性、焦点和回车提交。验证键盘操作、加载、取消、错误、重复点击及网络恢复。凭据管理界面尚未完整接入，参见 [通行密钥](../auth/passkeys.md)。
