JWT 认证
JWT 认证
JWT(JSON Web Token)是 M-Doc 的主要用户认证方式,适用于前端 Web 应用。
注册
POST /api/auth/register
Content-Type: application/json
{
"username": "your-username",
"email": "user@example.com",
"password": "your-password"
}响应:
{
"code": 200,
"message": "注册成功",
"data": {
"token": "eyJhbGciOi...",
"user": {
"id": 1,
"username": "your-username",
"email": "user@example.com"
}
}
}登录
POST /api/auth/login
Content-Type: application/json
{
"email": "user@example.com",
"password": "your-password"
}响应与注册接口相同,返回 JWT Token。
使用 Token
在后续请求中通过 Authorization 请求头传递 Token:
curl -H "Authorization: Bearer eyJhbGciOi..." \
https://your-domain.com/api/auth/meToken 说明
| 属性 | 值 |
|---|---|
| 格式 | JWT(HS256 签名) |
| 有效期 | 默认 7 天(可通过 jwt.expire_hours 配置) |
| 存储位置 | 前端存储在 Cookie 中(支持 SSR) |
Token 过期后需重新登录获取新 Token。
获取当前用户
GET /api/auth/me
Authorization: Bearer <token>响应:
{
"code": 200,
"message": "成功",
"data": {
"id": 1,
"username": "your-username",
"email": "user@example.com",
"avatar_url": "https://..."
}
}适用路由
JWT 认证适用于所有 /api/* 前缀的路由。部分路由使用可选认证(OptionalAuthMiddleware),即未登录用户也可访问,但功能受限。