Logo文档
身份验证

概述

学习如何在 NEXTDEVKIT 中使用 Better Auth 设置和使用身份验证

NEXTDEVKIT 使用 Better Auth 进行身份验证,提供一个灵活安全的系统,支持多种身份验证方法、会话管理和基于角色的访问控制。

🚀 设置

要在 NEXTDEVKIT 中设置身份验证,请配置必要的环境变量:

1. 生成 Better Auth 密钥

BETTER_AUTH_SECRET 是用于加密和生成哈希的随机字符串:

# 生成安全密钥
openssl rand -base64 32

将其添加到您的 .env 文件:

BETTER_AUTH_SECRET="your_generated_secret_key"

2. 配置 Google OAuth

要启用 Google 身份验证:

  1. 转到 Google Cloud Console
  2. 创建新项目或选择现有项目
  3. 导航到 "Credentials""Create Credentials""OAuth client ID"
  4. 如需要,配置 OAuth 同意屏幕
  5. 设置 OAuth 客户端 ID:
    • 应用程序类型:Web 应用程序
    • 已授权的 JavaScript 来源https://your-domain.com
    • 已授权的重定向 URIhttps://your-domain.com/api/auth/callback/google

添加到您的 .env 文件:

GOOGLE_CLIENT_ID="your_google_client_id"
GOOGLE_CLIENT_SECRET="your_google_client_secret"

3. 配置 GitHub OAuth

要启用 GitHub 身份验证:

  1. 转到 GitHub Developer Settings
  2. 点击 "OAuth Apps""New OAuth App"
  3. 填写注册表单:
    • 应用程序名称:NEXTDEVKIT
    • 主页 URLhttps://your-domain.com(开发环境使用 http://localhost:3000
    • 授权回调 URLhttps://your-domain.com/api/auth/callback/github
  4. 复制 客户端 ID客户端密钥

添加到您的 .env 文件:

GITHUB_CLIENT_ID="your_github_client_id"
GITHUB_CLIENT_SECRET="your_github_client_secret"

💡 提示:为生产和开发环境创建不同的 OAuth 应用程序,使用不同的回调 URL。

🏗️ 身份验证架构

NEXTDEVKIT 的身份验证系统包括:

src/
├── lib/
│   ├── auth.ts           # 主要 Better Auth 配置
│   └── auth/
│       ├── server.ts     # 服务器端认证工具
│       ├── client.ts     # 客户端认证工具
│       ├── api.ts        # API 工具
│       ├── edge.ts       # Edge 运行时工具
│       └── errors.ts     # 认证错误处理
├── components/
│   └── auth/
│       ├── login-form.tsx
│       ├── signup-form.tsx
│       ├── social-signin.tsx
│       └── forgot-password-form.tsx

⚙️ 核心配置

主要身份验证配置在 src/lib/auth.ts 中:

🔧 核心功能

📧 邮箱密码身份验证

  • 邮箱验证 新账户必须验证
  • 密码重置 功能
  • 邮箱更改 需验证
  • 安全密码 哈希

🔗 社交身份验证

  • Google OAuth 集成
  • GitHub OAuth 集成
  • 提供商之间的 账户关联
  • 可信提供商 配置

🍪 会话管理

  • 基于 Cookie 的会话
  • 会话缓存 提高性能
  • 可配置过期 时间
  • 新会话 跟踪

👤 用户管理

  • 用户删除 功能
  • 附加字段(语言、客户 ID)
  • 基于角色 的访问控制

🔗 相关资源


🎯 下一步

现在您了解了数据库架构,深入了解您选择的平台的具体设置: