tkserver 1.7.20 → 1.7.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +10 -2
- package/mongo.js +10 -2
- package/package.json +2 -2
package/index.js
CHANGED
|
@@ -83,6 +83,7 @@ connectToDatabase()
|
|
|
83
83
|
|
|
84
84
|
module.exports = async (request, response) => {
|
|
85
85
|
let accessToken
|
|
86
|
+
let hasClientToken = false
|
|
86
87
|
const event = request.body || {}
|
|
87
88
|
logger.log('请求 IP:', getIp(request))
|
|
88
89
|
logger.log('请求函数:', event.event)
|
|
@@ -90,6 +91,8 @@ module.exports = async (request, response) => {
|
|
|
90
91
|
let res = {}
|
|
91
92
|
try {
|
|
92
93
|
protect(request)
|
|
94
|
+
// 判断客户端是否自带 accessToken,须在 anonymousSignIn 回填身份之前
|
|
95
|
+
hasClientToken = !!(request.body && request.body.accessToken)
|
|
93
96
|
accessToken = anonymousSignIn(request)
|
|
94
97
|
await readConfig()
|
|
95
98
|
allowCors(request, response)
|
|
@@ -187,7 +190,9 @@ module.exports = async (request, response) => {
|
|
|
187
190
|
res.code = RES_CODE.FAIL
|
|
188
191
|
res.message = e.message
|
|
189
192
|
}
|
|
190
|
-
|
|
193
|
+
// 客户端未携带 accessToken 时,将本次绑定的身份令牌随响应返回,
|
|
194
|
+
// 客户端会持久化并在后续请求中携带,从而获得稳定的匿名身份
|
|
195
|
+
if (!res.code && !hasClientToken) {
|
|
191
196
|
res.accessToken = accessToken
|
|
192
197
|
}
|
|
193
198
|
logger.log('请求返回:', res)
|
|
@@ -233,7 +238,10 @@ function anonymousSignIn (request) {
|
|
|
233
238
|
if (request.body.accessToken) {
|
|
234
239
|
return request.body.accessToken
|
|
235
240
|
} else {
|
|
236
|
-
|
|
241
|
+
// 为匿名访客签发固定身份令牌,写回请求体供本次请求的
|
|
242
|
+
// 评论存储(uid)与归属校验使用,避免出现 undefined 身份
|
|
243
|
+
request.body.accessToken = uuidv4().replace(/-/g, '')
|
|
244
|
+
return request.body.accessToken
|
|
237
245
|
}
|
|
238
246
|
}
|
|
239
247
|
}
|
package/mongo.js
CHANGED
|
@@ -78,6 +78,7 @@ let requestTimesTimer = null
|
|
|
78
78
|
|
|
79
79
|
module.exports = async (request, response) => {
|
|
80
80
|
let accessToken
|
|
81
|
+
let hasClientToken = false
|
|
81
82
|
const event = request.body || {}
|
|
82
83
|
logger.log('请求 IP:', getIp(request))
|
|
83
84
|
logger.log('请求函数:', event.event)
|
|
@@ -85,6 +86,8 @@ module.exports = async (request, response) => {
|
|
|
85
86
|
let res = {}
|
|
86
87
|
try {
|
|
87
88
|
protect(request)
|
|
89
|
+
// 判断客户端是否自带 accessToken,须在 anonymousSignIn 回填身份之前
|
|
90
|
+
hasClientToken = !!(request.body && request.body.accessToken)
|
|
88
91
|
accessToken = anonymousSignIn(request)
|
|
89
92
|
await connectToDatabase(process.env.MONGODB_URI || process.env.MONGO_URL)
|
|
90
93
|
await readConfig()
|
|
@@ -180,7 +183,9 @@ module.exports = async (request, response) => {
|
|
|
180
183
|
res.code = RES_CODE.FAIL
|
|
181
184
|
res.message = e.message
|
|
182
185
|
}
|
|
183
|
-
|
|
186
|
+
// 客户端未携带 accessToken 时,将本次绑定的身份令牌随响应返回,
|
|
187
|
+
// 客户端会持久化并在后续请求中携带,从而获得稳定的匿名身份
|
|
188
|
+
if (!res.code && !hasClientToken) {
|
|
184
189
|
res.accessToken = accessToken
|
|
185
190
|
}
|
|
186
191
|
logger.log('请求返回:', res)
|
|
@@ -226,7 +231,10 @@ function anonymousSignIn (request) {
|
|
|
226
231
|
if (request.body.accessToken) {
|
|
227
232
|
return request.body.accessToken
|
|
228
233
|
} else {
|
|
229
|
-
|
|
234
|
+
// 为匿名访客签发固定身份令牌,写回请求体供本次请求的
|
|
235
|
+
// 评论存储(uid)与归属校验使用,避免出现 undefined 身份
|
|
236
|
+
request.body.accessToken = uuidv4().replace(/-/g, '')
|
|
237
|
+
return request.body.accessToken
|
|
230
238
|
}
|
|
231
239
|
}
|
|
232
240
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tkserver",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.22",
|
|
4
4
|
"description": "A simple comment system.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"twikoo",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"get-user-ip": "^1.0.1",
|
|
32
32
|
"lokijs": "^1.5.12",
|
|
33
33
|
"mongodb": "^6.3.0",
|
|
34
|
-
"twikoo-func": "1.7.
|
|
34
|
+
"twikoo-func": "1.7.22",
|
|
35
35
|
"uuid": "^8.3.2"
|
|
36
36
|
}
|
|
37
37
|
}
|