快速开始

认证

Token 认证机制和刷新流程

MomoHub 使用 JWT Bearer Token 进行 API 认证。

认证流程

  1. 用户通过邮箱密码登录,获取 accessTokenrefreshToken
  2. 在后续请求的 Header 中携带 accessToken
  3. accessToken 过期前,使用 refreshToken 刷新

获取 Token

通过登录接口获取 Token:

curl -X POST https://momohub-api.hanasaki.tech/v1/auth/sign-in/email \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "your_password"
  }'

响应:

{
  "success": true,
  "data": {
    "user": {
      "userId": "967217c8-4e26-4404-bcc4-03e084b542f9",
      "email": "[email protected]",
      "username": "Sensei",
      "avatar": null,
      "isEmailVerified": true,
      "createdAt": "2024-06-01T12:00:00Z",
      "updatedAt": "2024-06-01T12:00:00Z"
    },
    "tokens": {
      "accessToken": "eyJhbGciOiJIUzI1NiIs...",
      "refreshToken": "eyJhbGciOiJIUzI1NiIs...",
      "accessTokenExpiredIn": 1771325631,
      "refreshTokenExpiredIn": 1771930431,
      "tokenType": "Bearer"
    }
  }
}

使用 Token

在请求头中携带 Token:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

刷新 Token

accessToken 过期时,使用 refreshToken 获取新的 Token:

curl -X POST https://api.momohub.com/v1/auth/refresh \
  -H "Content-Type: application/json" \
  -d '{
    "refreshToken": "eyJhbGciOiJIUzI1NiIs..."
  }'

Token 有效期

Token 类型有效期
Access Token1 小时
Refresh Token7 天

建议在 Access Token 过期前 30 秒主动刷新,避免请求中断。