Skip to main content

POST /api/auth/login

登录以获取 JWT 令牌。

POST /api/auth/register

注册一个新用户。

GET /api/auth/user

获取当前已验证的用户。

POST /api/auth/change-password

更改当前用户的密码。

登录

验证用户身份并返回 JWT 令牌及用户详细信息。
  • 端点: /api/auth/login
  • 方法: POST
  • 正文:
    • username (string, 必填): 用户名。
    • password (string, 必填): 用户密码。
  • 请求示例:
    {
      "username": "admin",
      "password": "admin123"
    }
    
  • 成功响应:
    {
      "success": true,
      "message": "登录成功",
      "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "user": {
        "username": "admin",
        "isAdmin": true,
        "permissions": { ... }
      }
    }
    

注册

注册一个新用户并返回 JWT 令牌。
  • 端点: /api/auth/register
  • 方法: POST
  • 正文:
    • username (string, 必填): 新的用户名。
    • password (string, 必填): 新的用户密码 (至少6个字符)。
    • isAdmin (boolean, 可选): 用户是否应有管理员权限。
  • 请求示例:
    {
      "username": "newuser",
      "password": "password123",
      "isAdmin": false
    }
    
  • 成功响应:
    {
      "success": true,
      "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "user": {
        "username": "newuser",
        "isAdmin": false,
        "permissions": { ... }
      }
    }
    

获取当前用户

检索当前通过身份验证的用户的个人资料。
  • 端点: /api/auth/user
  • 方法: GET
  • 身份验证: 需要承载令牌 (Bearer Token)。
  • 成功响应:
    {
      "success": true,
      "user": {
        "username": "admin",
        "isAdmin": true,
        "permissions": { ... }
      }
    }
    

更改密码

允许通过身份验证的用户更改其密码。
  • 端点: /api/auth/change-password
  • 方法: POST
  • 身份验证: 需要承载令牌 (Bearer Token)。
  • 正文:
    • currentPassword (string, 必填): 用户的当前密码。
    • newPassword (string, 必填): 新的密码 (至少6个字符)。
  • 请求示例:
    {
      "currentPassword": "oldpassword",
      "newPassword": "newpassword123"
    }
    
  • 成功响应:
    {
      "success": true,
      "message": "密码更新成功"
    }
    

社交登录 (Better Auth)

MCPHub 通过集成 Better Auth 支持社交登录功能(GitHub, Google 等)。 前提条件:
  1. 数据库模式: 必须配置 DB_URL 环境变量(Better Auth 需要 PostgreSQL 进行数据持久化)。
  2. 提供商配置:
    • GitHub: 设置 GITHUB_CLIENT_IDGITHUB_CLIENT_SECRET
    • Google: 设置 GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRET
端点: Better Auth API 挂载在 /api/auth/better。主要端点包括:
  • 发起登录:
    • GET /api/auth/better/signIn/social?provider=github
    • GET /api/auth/better/signIn/social?provider=google
  • 会话管理:
    • GET /api/auth/better/session (获取当前会话)
    • POST /api/auth/better/signOut (登出)
如需完整的端点列表和使用详情,请参阅 Better Auth API 文档