> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# 身份认证

通过 Better Auth 的身份与会话。

## 创建并验证真实账户

身份验证意味着证明谁在使用该应用程序。启动 Postgres 并首先使用数据库指南运行迁移，然后保持 Web 服务器运行。打开http://localhost:3000/auth,选择电子邮件/密码注册，输入您的姓名、电子邮件和密码，然后提交。保留 EMAIL_PROVIDER=local 进行第一次测试。

当流程请求电子邮件代码时，请在另一个浏览器选项卡中打开 http://localhost:3000/mail-preview，找到该地址的最新消息并将其代码复制回登录表单。如果代码过期，请请求新的代码。这些消息保留在本地发件箱中；反复检查外部收件箱将找不到它们。注销，然后再次登录以确认数据库支持的帐户正常工作。

如果注册报告数据库连接或缺少表错误，请完成数据库设置而不是启用社交登录。 Google、GitHub、Apple、X 和 Microsoft 按钮需要自己的提供商应用程序和回调设置；仅在其提供程序指南完成后才启用它。 Better Auth 是出厂默认引擎，不需要付费身份验证帐户即可进行本地电子邮件登录。

[创建账户前启动Postgres](https://supastack.dev/zh/docs/web/database.md)

[电子邮件登录代码的使用和故障排除](https://supastack.dev/zh/docs/web/setup-ai.md)

[配置Google登录](https://supastack.dev/zh/docs/web/setup-oauth.md)

[添加 Google 登录](https://supastack.dev/zh/docs/web/google-sign-in.md)

[添加 GitHub 登录](https://supastack.dev/zh/docs/web/github-sign-in.md)


## 选择启用的登录方式

基础包含邮箱/密码、OTP 与可配置的社交认证。Better Auth 负责身份与会话，应用则组合供应商配置与 OTP 的事务性投递。

只启用你已配置的社交供应商。供应商客户端密钥与认证密钥留在服务端。


## 把身份连接到工作区

已认证的 handler 在访问工作区记录之前先解析会话状态。工作区开通必须保持幂等，使重放生命周期钩子不会创建重复的归属记录。


## 验证会话行为

测试登录、无效或过期 OTP、一次性消费、退出与匿名访问拒绝。内存适配器测试覆盖 handler 语义；生产数据库持久化与真实供应商回调需要单独验收。


如果你想继续完成设置，可以阅读《[设置 AI](https://supastack.dev/zh/docs/web/setup-ai.md)》。


## 下一篇

[计费与访问](https://supastack.dev/zh/docs/modules/billing.md)
