Skip to content

Commit d3761a2

Browse files
authored
Merge branch 'master' into feature/validate-email
2 parents 0fd9fb5 + c3f2252 commit d3761a2

File tree

3 files changed

+64
-47
lines changed

3 files changed

+64
-47
lines changed

src/06.anniv/02.user.md

Lines changed: 51 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@
66

77
| 错误代码 | 详情 |
88
| -------- | ---------------- |
9-
| `102000` | 注册用户名不可用 |
109
| `102001` | 注册邮箱不可用 |
1110
| `102010` | 邮箱或密码错误 |
12-
| `102020` | 待注销用户不存在 |
11+
| `102020` | 用户不存在 |
1312
| `102030` | 验证邮件发送失败 |
1413

15-
## 对用户密码的预处理(建议)
14+
## 对用户密码的预处理
1615

17-
为格式统一考虑,建议客户端在向服务端发送密码之前,对用户的明文密码进行一次 `sha256` 处理。该步骤仅在一定程度上减少用户原文密码的泄露,但仍可以通过诸如彩虹表的方式破解。
16+
客户端在向服务端发送密码之前,须对用户的明文密码进行一次 `sha256` 处理。该步骤仅在一定程度上减少用户原文密码的泄露,但仍可以通过诸如彩虹表的方式破解。
1817

1918
## 用户信息
2019

@@ -33,7 +32,6 @@
3332
| 参数名 | 类型 | 详情 |
3433
| ---------- | --------- | -------------------- |
3534
| `user_id` | `string` | 用户 ID |
36-
| `username` | `string` | 用户名 |
3735
| `email` | `string` | 邮箱 |
3836
| `nickname` | `string` | 昵称 |
3937
| `avatar` | `string` | 头像链接 |
@@ -44,13 +42,55 @@
4442
```typescript
4543
interface UserInfo {
4644
user_id: string;
47-
username: string;
4845
email: string;
4946
nickname: string;
5047
avatar: string;
5148
verified: boolean;
5249
}
5350
```
51+
52+
## 用户简介
53+
54+
### Endpoint
55+
56+
`GET /api/user/intro`
57+
58+
### 请求
59+
60+
#### 请求参数
61+
62+
| 参数名 | 类型 | 详情 |
63+
| --------- | -------- | ------- |
64+
| `user_id` | `string` | 用户 ID |
65+
66+
### 返回
67+
68+
返回指定用户的用户简介(`UserIntro`)。
69+
70+
#### 返回参数
71+
72+
| 参数名 | 类型 | 详情 |
73+
| ---------- | -------- | -------- |
74+
| `user_id` | `string` | 用户 ID |
75+
| `nickname` | `string` | 昵称 |
76+
| `avatar` | `string` | 头像链接 |
77+
78+
### 参数表示
79+
80+
```typescript
81+
interface UserIntro {
82+
user_id: string;
83+
nickname: string;
84+
avatar: string;
85+
}
86+
```
87+
88+
### 错误列表
89+
90+
| 错误代码 | 详情 |
91+
| -------- | ---------- |
92+
| `102020` | 用户不存在 |
93+
5494
## 用户注册
5595

5696
### Endpoint
@@ -63,7 +103,6 @@ interface UserInfo {
63103

64104
| 参数名 | 类型 | 详情 |
65105
| ---------- | -------- | -------- |
66-
| `username` | `string` | 用户名 |
67106
| `password` | `string` | 密码 |
68107
| `email` | `string` | 邮箱 |
69108
| `nickname` | `string` | 昵称 |
@@ -77,9 +116,8 @@ interface UserInfo {
77116

78117
```typescript
79118
interface UserRegisterBody {
80-
username: string;
81-
password: string;
82119
email: string;
120+
password: string;
83121
nickname: string;
84122
avatar: string;
85123
}
@@ -89,7 +127,6 @@ interface UserRegisterBody {
89127

90128
| 错误代码 | 详情 |
91129
| -------- | ---------------- |
92-
| `102000` | 注册用户名不可用 |
93130
| `102001` | 注册邮箱不可用 |
94131

95132
## 用户登录
@@ -132,10 +169,6 @@ interface UserLoginBody {
132169

133170
`POST /api/user/logout`
134171

135-
### 返回
136-
137-
当退出成功时,返回 `204 No Content`
138-
139172
### 客户端设计指引
140173

141174
当用户退出成功时,建议清理对应客户端的 `Cookie`
@@ -154,10 +187,6 @@ interface UserLoginBody {
154187

155188
`POST /api/user/revoke`
156189

157-
### 返回
158-
159-
当注销成功时,返回 `204 No Content`
160-
161190
### 参数表示
162191

163192
```typescript
@@ -172,9 +201,9 @@ interface UserRevokeBody {
172201

173202
### 错误列表
174203

175-
| 错误代码 | 详情 |
176-
| -------- | ---------------------------------------------------------- |
177-
| `102020` | 待注销用户不存在,该错误可能出现于客户端保留了注销前的凭据 |
204+
| 错误代码 | 详情 |
205+
| -------- | ---------------------------------------------------- |
206+
| `102020` | 用户不存在,该错误可能出现于客户端保留了注销前的凭据 |
178207

179208
## 使用情况
180209

@@ -189,13 +218,11 @@ interface UserRevokeBody {
189218
| 参数 | 类型 | 详情 |
190219
| ---------- | -------- | ------ |
191220
| `email` | `string` | 邮箱 |
192-
| `username` | `string` | 用户名 |
193221

194222
### 错误列表
195223

196224
| 错误代码 | 详情 |
197225
| -------- | ---------------- |
198-
| `102000` | 注册用户名不可用 |
199226
| `102001` | 注册邮箱不可用 |
200227

201228
## 验证邮箱
@@ -211,4 +238,4 @@ interface UserRevokeBody {
211238
| 错误代码 | 详情 |
212239
| -------- | ------------------------ |
213240
| `102030` | 验证邮件发送失败 |
214-
| `903000` | 超出频率限制,请稍后再试 |
241+
| `903000` | 超出频率限制,请稍后再试 |

src/06.anniv/04.credential.md

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -25,32 +25,24 @@
2525

2626
| 参数名 | 类型 | 详情 |
2727
| ---------- | -------- | ------------------------ |
28+
| `id` | `string` | `Token``ID` |
2829
| `name` | `string` | `Annil` 名称 |
2930
| `url` | `string` | `Annil` 站点地址 |
3031
| `token` | `string` | `Annil Token` 内容 |
3132
| `priority` | `number` | 客户端尝试访问时的优先级 |
3233

33-
`Id` 的定义如下:
34-
35-
| 参数名 | 类型 | 详情 |
36-
| ------ | -------- | --------------- |
37-
| `id` | `string` | `Token``ID` |
38-
3934
### 参数表示
4035

4136
```typescript
4237
type GetTokensResponse = Token[];
4338

4439
interface Token {
40+
id: string;
4541
name: string;
4642
url: string;
4743
token: string;
4844
priority: number;
4945
}
50-
51-
interface Id {
52-
id: string;
53-
}
5446
```
5547

5648
## 新增 Token
@@ -63,10 +55,6 @@ interface Id {
6355

6456
新增请求的类型为 `Token`
6557

66-
### 返回
67-
68-
请求成功时,返回 `204 No Content`
69-
7058
#### 客户端实现指引
7159

7260
每次请求成功后,客户端需重新获取一遍 `Token` 列表。
@@ -85,11 +73,7 @@ interface Id {
8573

8674
### 请求
8775

88-
修改请求的类型为 `Token & Id`,其中 `Token` 部分各属性均为可选。
89-
90-
### 返回
91-
92-
请求成功时,返回 `204 No Content`
76+
修改请求的类型为 `Token`,除 `id` 以外的各属性均可修改。
9377

9478
### 错误列表
9579

@@ -111,10 +95,6 @@ interface Id {
11195
| ------ | -------- | ---------------------- |
11296
| `id` | `string` | 待删除 `Token``ID` |
11397

114-
### 返回
115-
116-
请求成功时,返回 `204 No Content`
117-
11898
### 错误列表
11999

120100
| 错误代码 | 详情 |

src/06.anniv/features/02.2fa.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
- 用户注册(`POST /api/user/register`
1919
- 用户登录(`POST /api/user/login`
2020
- 用户注销(`POST /api/user/revoke`
21+
- 用户信息(`POST /api/user/info`
2122

2223
TODO: 列举出用到 `2FA` 的所有位置
2324

@@ -64,6 +65,15 @@ interface UserRevokeBody {
6465
}
6566
```
6667

68+
### 用户信息
69+
70+
```typescript
71+
interface UserInfo {
72+
// ...
73+
"2fa_enabled"?: boolean;
74+
}
75+
```
76+
6777
## 绑定 `2FA`
6878

6979
`2FA` 为可选项时,用户可以使用该接口绑定两步验证。当 `2fa_enforced` 启用时,未开启两步验证的用户可以通过该接口开启两步验证。

0 commit comments

Comments
 (0)