File size: 2,730 Bytes
07af8f3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
---
title: "身份验证"
description: "管理用户和身份验证。"
---

import { Card, Cards } from 'mintlify';

<Card
  title="POST /api/auth/login"
  href="#login"
>
  登录以获取 JWT 令牌。
</Card>

<Card
  title="POST /api/auth/register"
  href="#register"
>
  注册一个新用户。
</Card>

<Card
  title="GET /api/auth/user"
  href="#get-current-user"
>
  获取当前已验证的用户。
</Card>

<Card
  title="POST /api/auth/change-password"
  href="#change-password"
>
  更改当前用户的密码。
</Card>

---

### 登录

验证用户身份并返回 JWT 令牌及用户详细信息。

- **端点**: `/api/auth/login`
- **方法**: `POST`
- **正文**:
  - `username` (string, 必填): 用户名。
  - `password` (string, 必填): 用户密码。
- **请求示例**:
  ```json
  {
    "username": "admin",
    "password": "admin123"
  }
  ```
- **成功响应**:
  ```json
  {
    "success": true,
    "message": "登录成功",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "user": {
      "username": "admin",
      "isAdmin": true,
      "permissions": { ... }
    }
  }
  ```

---

### 注册

注册一个新用户并返回 JWT 令牌。

- **端点**: `/api/auth/register`
- **方法**: `POST`
- **正文**:
  - `username` (string, 必填): 新的用户名。
  - `password` (string, 必填): 新的用户密码 (至少6个字符)。
  - `isAdmin` (boolean, 可选): 用户是否应有管理员权限。
- **请求示例**:
  ```json
  {
    "username": "newuser",
    "password": "password123",
    "isAdmin": false
  }
  ```
- **成功响应**:
  ```json
  {
    "success": true,
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "user": {
      "username": "newuser",
      "isAdmin": false,
      "permissions": { ... }
    }
  }
  ```

---

### 获取当前用户

检索当前通过身份验证的用户的个人资料。

- **端点**: `/api/auth/user`
- **方法**: `GET`
- **身份验证**: 需要承载令牌 (Bearer Token)。
- **成功响应**:
  ```json
  {
    "success": true,
    "user": {
      "username": "admin",
      "isAdmin": true,
      "permissions": { ... }
    }
  }
  ```

---

### 更改密码

允许通过身份验证的用户更改其密码。

- **端点**: `/api/auth/change-password`
- **方法**: `POST`
- **身份验证**: 需要承载令牌 (Bearer Token)。
- **正文**:
  - `currentPassword` (string, 必填): 用户的当前密码。
  - `newPassword` (string, 必填): 新的密码 (至少6个字符)。
- **请求示例**:
  ```json
  {
    "currentPassword": "oldpassword",
    "newPassword": "newpassword123"
  }
  ```
- **成功响应**:
  ```json
  {
    "success": true,
    "message": "密码更新成功"
  }
  ```