TinyShip
TinyShip
 TinyShip
TinyShip
TinyShip 文档中心
TinyShip 用户指南快速开始基础配置
身份认证配置指南邮箱密码认证配置Google OAuth 配置GitHub OAuth 配置微信扫码登录配置短信验证登录配置
积分系统配置指南
存储服务配置验证码配置
开发最佳实践本地 E2E 测试流程
用户指南身份认证

身份认证配置指南

TinyShip 身份认证系统配置指南

TinyShip 基于 Better Auth 构建了完整的身份认证系统,支持多种认证方式,包括邮箱密码、OAuth 社交登录和手机短信验证。

相关页面

页面路径说明
登录页/signin用户登录入口
注册页/signup用户注册入口
手机登录/cellphone手机验证码登录
微信登录/wechat微信扫码登录
忘记密码/forgot-password发送密码重置邮件
重置密码/reset-password设置新密码

认证技术栈

  • 认证库: Better Auth
  • 会话管理: 基于 Token 的安全会话
  • 多因素认证: 邮箱验证、短信验证
  • 社交登录: Google、GitHub、微信等
  • 安全特性: CSRF 保护、速率限制、密码哈希

支持的认证方式

认证方式说明配置难度文档
邮箱密码默认启用,支持邮箱验证和密码重置简单邮箱认证配置
Google OAuthGoogle 账号登录中等Google 配置
GitHub OAuthGitHub 账号登录中等GitHub 配置
微信扫码登录微信账号登录(需企业资质)复杂微信配置
短信验证登录手机号 + 验证码登录复杂短信配置

快速配置

如果你已经完成了 快速开始,那么基本的邮箱密码认证已经可以使用了。

基本环境变量(在 .env 文件中):

.env
# 认证配置
BETTER_AUTH_SECRET="your-secret-key-here-32-characters-min" # 32位随机数
BETTER_AUTH_URL="http://localhost:7001"  # 生产环境改为实际域名

# 数据库配置(认证需要)
DATABASE_URL="postgresql://username:password@localhost:5432/tinyship"

详细配置文档

根据你的需求,选择需要配置的认证方式:

邮箱密码认证

默认启用,可配置邮箱验证和邮件发送

Google OAuth

接入 Google 账号登录

GitHub OAuth

接入 GitHub 账号登录

微信扫码登录

接入微信账号登录(国内用户)

短信验证登录

接入手机短信验证登录

前端界面配置

你可以定制化前端的界面,来显示你想要显示的认证方式:

Next.js 应用

编辑 apps/next-app/components/social-auth.tsx 来控制显示的 OAuth 按钮:

social-auth.tsx
const defaultProviders: SocialProvider[] = ['google', 'github', 'wechat', 'phone'];

Nuxt.js 应用

编辑 apps/nuxt-app/components/SocialAuth.vue:

SocialAuth.vue
const props = withDefaults(defineProps<Props>(), {
  className: '',
  providers: () => ['google', 'github', 'wechat', 'phone']
})

TanStack Start 应用

编辑 apps/tanstack-app/src/components/social-auth.tsx 来控制显示的 OAuth 按钮:

social-auth.tsx
const defaultProviders: SocialProvider[] = ['google', 'github', 'wechat', 'phone'];

更多认证配置和 API 使用请参考 Better Auth 官方文档 和 libs/auth/README.md 文件。

基础配置

应用名称、Logo、主题系统和国际化配置

邮箱密码认证配置

配置邮箱验证和邮件发送功能

On this page

相关页面认证技术栈支持的认证方式快速配置详细配置文档前端界面配置Next.js 应用Nuxt.js 应用TanStack Start 应用