Skip to content

Commit bc82163

Browse files
committed
api服务校验逻辑加固
1 parent 482c5b4 commit bc82163

28 files changed

Lines changed: 814 additions & 126 deletions

upgradelink-api/docs/sql/tables.sql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@ CREATE TABLE `sys_company_secret` (
1414
`company_id` bigint NOT NULL DEFAULT '0' COMMENT '公司ID',
1515
`access_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '密钥id',
1616
`secret_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '密钥key',
17+
`validity_datetime` timestamp NOT NULL DEFAULT '1970-01-01 08:00:01' COMMENT '有效期',
18+
`rule_data` varchar(2048) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '应用权限',
1719
`enable` int NOT NULL DEFAULT '0' COMMENT '是否生效;可通过此控制策略是否生效0:失效;1:生效',
1820
`is_del` int NOT NULL DEFAULT '0' COMMENT '是否删除 0:正常;1:已删除',
1921
`description` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '描述信息',
2022
PRIMARY KEY (`id`)
21-
) ENGINE=InnoDB AUTO_INCREMENT=82 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='公司密钥表';
23+
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='公司密钥表';
2224

2325

2426
CREATE TABLE `fms_cloud_files` (

upgradelink-api/docs/tpl/apk/upgrade.api

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,15 +119,18 @@ type (
119119
}
120120
)
121121

122+
// AccessKey 访问密钥效验
122123
// RateLimit 流量控制
123124
// ReplayAttack 防重放攻击
124125
// Signature 签名认证
126+
// Rule 密钥应用权限验证
125127
@server(
126128
prefix: /v1/apk
127129
group: apk
128130
timeout: 30s
129-
middleware: RateLimit, ReplayAttack, Signature
131+
middleware: AccessKey, RateLimit, ReplayAttack, Signature, Rule
130132
)
133+
131134
service api {
132135
// Get API list | 获取升级任务
133136
@handler getApkUpgradeInfo
@@ -151,7 +154,7 @@ type (
151154
}
152155
)
153156

154-
// RateLimit 流量控制
157+
// CdnRateLimit 流量控制
155158
@server(
156159
group: download
157160
prefix: /v1/apk

upgradelink-api/docs/tpl/app/report.api

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,16 @@ type (
6464
}
6565
)
6666

67+
// AccessKey 访问密钥效验
6768
// RateLimit 流量控制
6869
// ReplayAttack 防重放攻击
6970
// Signature 签名认证
71+
// Rule 密钥应用权限验证
7072
@server(
7173
prefix: /v1/app
7274
group: app
7375
timeout: 30s
74-
middleware: RateLimit, ReplayAttack, Signature
76+
middleware: AccessKey, RateLimit, ReplayAttack, Signature, Rule
7577
)
7678

7779
service api {

upgradelink-api/docs/tpl/configuration/upgrade.api

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,16 @@ type (
9090
}
9191
)
9292

93+
// AccessKey 访问密钥效验
9394
// RateLimit 流量控制
9495
// ReplayAttack 防重放攻击
9596
// Signature 签名认证
97+
// Rule 密钥应用权限验证
9698
@server(
9799
prefix: /v1/configuration
98100
group: configuration
99101
timeout: 30s
100-
middleware: RateLimit, ReplayAttack, Signature
102+
middleware: AccessKey, RateLimit, ReplayAttack, Signature, Rule
101103
)
102104

103105
service api {

upgradelink-api/docs/tpl/electron/upgrade.api

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,16 @@ type (
9999
)
100100

101101

102+
// AccessKey 访问密钥效验
102103
// RateLimit 流量控制
103-
// ReplayAttack 防重放攻击
104-
// Signature 签名认证
104+
// ReplayAttack 防重放攻击 electron升级接口无重放效验
105+
// Signature 签名认证 electron升级接口无签名效验
106+
// Rule 密钥应用权限验证
105107
@server(
106108
prefix: /v1/electron
107109
group: electron
108110
timeout: 600s
109-
middleware: RateLimit
111+
middleware: AccessKey, RateLimit, Rule
110112
)
111113

112114
service api {
@@ -178,14 +180,16 @@ type (
178180
)
179181

180182

183+
// AccessKey 访问密钥效验
181184
// RateLimit 流量控制
182185
// ReplayAttack 防重放攻击
183186
// Signature 签名认证
187+
// Rule 密钥应用权限验证
184188
@server(
185189
prefix: /v1/electron
186190
group: electron
187191
timeout: 30s
188-
middleware: RateLimit, ReplayAttack, Signature
192+
middleware: AccessKey, RateLimit, ReplayAttack, Signature, Rule
189193
)
190194

191195
service api {
@@ -195,8 +199,6 @@ service api {
195199
}
196200

197201

198-
199-
200202
type (
201203
GetElectronDownloadInfoReq {
202204
// 下载类型, 1: 下载安装版本,2: 下载升级文件
@@ -228,7 +230,7 @@ type (
228230
// }
229231
//)
230232

231-
// RateLimit 流量控制
233+
// CdnRateLimit 流量控制
232234
@server(
233235
group: download
234236
prefix: /v1/electron

upgradelink-api/docs/tpl/file/upgrade.api

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,16 @@ type (
9393
)
9494

9595

96+
// AccessKey 访问密钥效验
9697
// RateLimit 流量控制
9798
// ReplayAttack 防重放攻击
9899
// Signature 签名认证
100+
// Rule 密钥应用权限验证
99101
@server(
100102
prefix: /v1/file
101103
group: file
102104
timeout: 30s
103-
middleware: RateLimit, ReplayAttack, Signature
105+
middleware: AccessKey, RateLimit, ReplayAttack, Signature, Rule
104106
)
105107
service api {
106108
// Get API list | 获取API列表
@@ -123,7 +125,7 @@ type (
123125
}
124126
)
125127

126-
// RateLimit 流量控制
128+
// CdnRateLimit 流量控制
127129
@server(
128130
group: download
129131
prefix: /v1/file

upgradelink-api/docs/tpl/lnx/upgrade.api

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,16 @@ type (
113113
}
114114
)
115115

116+
// AccessKey 访问密钥效验
116117
// RateLimit 流量控制
117118
// ReplayAttack 防重放攻击
118119
// Signature 签名认证
120+
// Rule 密钥应用权限验证
119121
@server(
120122
prefix: /v1/lnx
121123
group: lnx
122124
timeout: 30s
123-
middleware: RateLimit, ReplayAttack, Signature
125+
middleware: AccessKey, RateLimit, ReplayAttack, Signature, Rule
124126
)
125127
service api {
126128
// Get API list | 获取升级任务
@@ -142,7 +144,8 @@ type (
142144
VersionCode int64 `form:"versionCode,default=0"`
143145
}
144146
)
145-
// RateLimit 流量控制
147+
148+
// CdnRateLimit 流量控制
146149
@server(
147150
group: download
148151
prefix: /v1/lnx

upgradelink-api/docs/tpl/mac/upgrade.api

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,15 +116,18 @@ type (
116116
}
117117
)
118118

119+
// AccessKey 访问密钥效验
119120
// RateLimit 流量控制
120121
// ReplayAttack 防重放攻击
121122
// Signature 签名认证
123+
// Rule 密钥应用权限验证
122124
@server(
123125
prefix: /v1/mac
124126
group: mac
125127
timeout: 30s
126-
middleware: RateLimit, ReplayAttack, Signature
128+
middleware: AccessKey, RateLimit, ReplayAttack, Signature, Rule
127129
)
130+
128131
service api {
129132
// Get API list | 获取升级任务
130133
@handler getMacUpgradeInfo
@@ -145,7 +148,8 @@ type (
145148
VersionCode int64 `form:"versionCode,default=0"`
146149
}
147150
)
148-
// RateLimit 流量控制
151+
152+
// CdnRateLimit 流量控制
149153
@server(
150154
group: download
151155
prefix: /v1/mac

upgradelink-api/docs/tpl/tauri/upgrade.api

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,11 @@ type (
100100

101101
)
102102

103+
// AccessKey 访问密钥效验 tauri升级接口无访问密钥效验
103104
// RateLimit 流量控制
104-
// ReplayAttack 防重放攻击
105-
// Signature 签名认证
105+
// ReplayAttack 防重放攻击 tauri升级接口无重放效验
106+
// Signature 签名认证 tauri升级接口无签名效验
107+
// Rule 密钥应用权限验证 tauri升级接口无权限效验
106108
@server(
107109
prefix: /v1/tauri
108110
group: tauri
@@ -162,15 +164,16 @@ type (
162164
}
163165
)
164166

165-
167+
// AccessKey 访问密钥效验
166168
// RateLimit 流量控制
167169
// ReplayAttack 防重放攻击
168170
// Signature 签名认证
171+
// Rule 密钥应用权限验证
169172
@server(
170173
prefix: /v1/tauri
171174
group: tauri
172175
timeout: 30s
173-
middleware: RateLimit, ReplayAttack, Signature
176+
middleware: AccessKey, RateLimit, ReplayAttack, Signature, Rule
174177
)
175178

176179
service api {
@@ -179,9 +182,6 @@ service api {
179182
post /version (GetTauriVersionInfoReq) returns (GetTauriVersionInfoResp)
180183
}
181184

182-
183-
184-
185185
type (
186186
GetTauriDownloadInfoReq {
187187
// 下载类型, 1: 下载安装版本,2: 下载升级文件
@@ -197,7 +197,7 @@ type (
197197
}
198198
)
199199

200-
// RateLimit 流量控制
200+
// CdnRateLimit 流量控制
201201
@server(
202202
group: download
203203
prefix: /v1/tauri

upgradelink-api/docs/tpl/url/upgrade.api

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,14 +92,16 @@ type (
9292
)
9393

9494

95+
// AccessKey 访问密钥效验
9596
// RateLimit 流量控制
9697
// ReplayAttack 防重放攻击
9798
// Signature 签名认证
99+
// Rule 密钥应用权限验证
98100
@server(
99101
prefix: /v1/url
100102
group: url
101103
timeout: 30s
102-
middleware: RateLimit, ReplayAttack, Signature
104+
middleware: AccessKey, RateLimit, ReplayAttack, Signature, Rule
103105
)
104106

105107
service api {
@@ -124,7 +126,7 @@ type (
124126
}
125127
)
126128

127-
// RateLimit 流量控制
129+
// CdnRateLimit 流量控制
128130
@server(
129131
group: download
130132
prefix: /v1/url

0 commit comments

Comments
 (0)