管理员认证 API
管理员认证接口用于管理后台的登录和身份验证。管理员令牌使用 HS256 算法签名,与 OIDC 用户令牌(ES256)相互独立。
管理员登录
POST /api/admin/sign-in
使用用户名和密码进行管理员登录,获取管理员访问令牌。
请求头:
Content-Type: application/json请求体:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
username | string | 是 | 管理员用户名 |
password | string | 是 | 管理员密码 |
请求示例:
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_token | string | 管理员访问令牌,用于后续 API 调用 |
expires_in | integer | 令牌有效期(秒),默认 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"
}
}响应字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
id | integer | 管理员 ID |
username | string | 管理员用户名 |
email | string | 管理员邮箱 |
phone | string | 管理员手机号 |
created_at | string | 创建时间(ISO 8601) |
updated_at | string | 更新时间(ISO 8601) |
错误响应:
json
{
"code": 401,
"message": "未授权,请先登录",
"result": ""
}说明
- 管理员令牌使用 HS256 算法签名,与 OIDC 标准令牌(使用 ES256 签名)是完全独立的两套体系。
- 管理员令牌仅用于 Management API 的认证,不可用于 OIDC 标准流程。
- 令牌过期后需要重新登录获取新令牌。
- 建议在生产环境中定期轮换管理员密码。
