跳转到主要内容
认证接口负责浏览器会话和当前用户信息。loginrefresh 是公开接口,logoutme 只接受 JWT。

Login

POST /api/v1/auth/login

Request body

username
string
必填
用户名。
password
string
必填
密码。

Response

{
  "data": {
    "accessToken": "eyJhbGciOiJIUzI1NiIs...",
    "refreshToken": "refresh-token-value",
    "accessTokenExpiresAtUtc": "2026-04-08T12:15:00Z",
    "refreshTokenExpiresAtUtc": "2026-05-08T12:00:00Z",
    "user": {
      "id": "01956f8d-0000-0000-0000-000000000001",
      "username": "admin",
      "role": "superAdmin",
      "isActive": true,
      "createdAtUtc": "2026-04-08T12:00:00Z",
      "updatedAtUtc": "2026-04-08T12:00:00Z",
      "lastLoginAtUtc": "2026-04-08T12:00:00Z",
      "permissions": []
    }
  }
}

Refresh

POST /api/v1/auth/refresh

Request body

refreshToken
string
必填
有效的 refresh token。

Response

返回与 Login 相同的 data 结构,但 token 会轮换。

Logout

POST /api/v1/auth/logout

Headers

Authorization: Bearer <access_token>

Request body

refreshToken
string
必填
要注销的 refresh token。

Response

成功时返回 204 No Content

Current user

GET /api/v1/auth/me

Headers

Authorization: Bearer <access_token>

Response

返回当前登录用户的 data 对象,字段与 login.data.user 一致。

System bootstrap

GET /api/v1/system/bootstrap
这是公开接口,用于返回当前运行实例的一些基础配置摘要。

Response

{
  "data": {
    "apiKeyRequired": true,
    "maxUploadSizeBytes": 10485760,
    "allowedContentTypes": [
      "image/jpeg",
      "image/png",
      "image/webp",
      "image/gif"
    ]
  }
}

字段说明

apiKeyRequired
boolean
当前部署是否启用了 API key。
maxUploadSizeBytes
integer
后端当前允许的最大上传体积。
allowedContentTypes
array of strings
当前允许上传的内容类型。
这个端点不会告诉你 SuperAdmin 是否已经创建。它只是运行时配置摘要。