Skip to content

管理员认证 API

管理员认证接口用于管理后台的登录和身份验证。管理员令牌使用 HS256 算法签名,与 OIDC 用户令牌(ES256)相互独立。

管理员登录

POST /api/admin/sign-in

使用用户名和密码进行管理员登录,获取管理员访问令牌。

请求头:

Content-Type: application/json

请求体:

字段类型必填说明
usernamestring管理员用户名
passwordstring管理员密码

请求示例:

bash
curl -X POST https://your-domain/api/admin/sign-in \
  -H "Content-Type: application/json" \
  -d '{
    "username": "admin",
    "password": "your-password"
  }'

成功响应:

json
{
  "code": 0,
  "message": "success",
  "result": {
    "access_token": "eyJhbGciOiJIUzI1NiIs...",
    "expires_in": 86400
  }
}

响应字段说明:

字段类型说明
access_tokenstring管理员访问令牌,用于后续 API 调用
expires_ininteger令牌有效期(秒),默认 86400(24 小时)

错误响应:

json
{
  "code": 401,
  "message": "用户名或密码错误",
  "result": ""
}

获取当前管理员信息

GET /api/admin/me

获取当前已登录管理员的用户信息。

请求头:

Authorization: Bearer <admin_token>

请求示例:

bash
curl -X GET https://your-domain/api/admin/me \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

成功响应:

json
{
  "code": 0,
  "message": "success",
  "result": {
    "id": 1,
    "username": "admin",
    "email": "admin@example.com",
    "phone": "13800138000",
    "created_at": "2025-01-01T00:00:00Z",
    "updated_at": "2025-01-01T00:00:00Z"
  }
}

响应字段说明:

字段类型说明
idinteger管理员 ID
usernamestring管理员用户名
emailstring管理员邮箱
phonestring管理员手机号
created_atstring创建时间(ISO 8601)
updated_atstring更新时间(ISO 8601)

错误响应:

json
{
  "code": 401,
  "message": "未授权,请先登录",
  "result": ""
}

说明

  • 管理员令牌使用 HS256 算法签名,与 OIDC 标准令牌(使用 ES256 签名)是完全独立的两套体系。
  • 管理员令牌仅用于 Management API 的认证,不可用于 OIDC 标准流程。
  • 令牌过期后需要重新登录获取新令牌。
  • 建议在生产环境中定期轮换管理员密码。

Released under the MIT License.