@steedos/accounts 1.23.42 → 1.23.43
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/package.json +6 -6
- package/lib/rest-express/endpoints/steedos/verify_code.js +0 -486
- package/lib/rest-express/endpoints/steedos/verify_code.js.map +0 -1
- package/webapp/build/asset-manifest.json +0 -18
- package/webapp/build/browsers.html +0 -76
- package/webapp/build/css/main.css +0 -3
- package/webapp/build/css/tailwind-ui.min.css +0 -1
- package/webapp/build/dynamic.css +0 -0
- package/webapp/build/dynamic.js +0 -0
- package/webapp/build/favicon.ico +0 -0
- package/webapp/build/images/background.svg +0 -1
- package/webapp/build/images/logo.png +0 -0
- package/webapp/build/images/logo_platform.png +0 -0
- package/webapp/build/images/logo_platform_white.png +0 -0
- package/webapp/build/images/unsupported.png +0 -0
- package/webapp/build/index.html +0 -1
- package/webapp/build/manifest.json +0 -15
- package/webapp/build/precache-manifest.be3fffe848ef3448b739207c45fd552a.js +0 -18
- package/webapp/build/service-worker.js +0 -39
- package/webapp/build/static/js/2.3c20252e.chunk.js +0 -2
- package/webapp/build/static/js/2.3c20252e.chunk.js.map +0 -1
- package/webapp/build/static/js/main.8aaa42cc.chunk.js +0 -2
- package/webapp/build/static/js/main.8aaa42cc.chunk.js.map +0 -1
- package/webapp/build/static/js/runtime-main.fcbf19ad.js +0 -2
- package/webapp/build/static/js/runtime-main.fcbf19ad.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/accounts",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.23.
|
|
4
|
+
"version": "1.23.43",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"files": [
|
|
7
7
|
"/package.json",
|
|
@@ -50,9 +50,9 @@
|
|
|
50
50
|
"validator": "^12.2.0"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@steedos/auth": "^1.23.
|
|
54
|
-
"@steedos/meteor-bundle-runner": "^1.23.
|
|
55
|
-
"@steedos/objectql": "^1.23.
|
|
53
|
+
"@steedos/auth": "^1.23.43",
|
|
54
|
+
"@steedos/meteor-bundle-runner": "^1.23.43",
|
|
55
|
+
"@steedos/objectql": "^1.23.43",
|
|
56
56
|
"@steedos/steedos-plugin-workflow": "^2.0.4",
|
|
57
57
|
"@types/dotenv-flow": "^3.0.0",
|
|
58
58
|
"@types/node": "12.6.8",
|
|
@@ -60,12 +60,12 @@
|
|
|
60
60
|
"dotenv": "^8.2.0",
|
|
61
61
|
"dotenv-flow": "^3.1.0",
|
|
62
62
|
"nodemon": "1.19.1",
|
|
63
|
-
"steedos-server": "^1.23.
|
|
63
|
+
"steedos-server": "^1.23.43",
|
|
64
64
|
"ts-node": "8.3.0",
|
|
65
65
|
"typescript": "3.5.3"
|
|
66
66
|
},
|
|
67
67
|
"publishConfig": {
|
|
68
68
|
"access": "public"
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "ceb3afe807b1d8e7c86d69d031bee53c86129c0c"
|
|
71
71
|
}
|
|
@@ -1,486 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _this = this;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var objectql_1 = require("@steedos/objectql");
|
|
6
|
-
var send_error_1 = require("../../utils/send-error");
|
|
7
|
-
var db_1 = require("../../../db");
|
|
8
|
-
var core_1 = require("../../../core");
|
|
9
|
-
var validator_1 = require("validator");
|
|
10
|
-
var moment = require('moment');
|
|
11
|
-
var ALLOW_ACTIONS = ['emailVerify', 'mobileVerify', 'emailLogin', 'mobileLogin', 'emailSignupAccount', 'mobileSignupAccount', 'mobileApplyLicense'];
|
|
12
|
-
var EFFECTIVE_TIME = 10; //10分钟
|
|
13
|
-
var CODE_LENGTH = 6;
|
|
14
|
-
var MAX_FAILURE_COUNT = 10;
|
|
15
|
-
/**
|
|
16
|
-
* Return random 1-9 digit
|
|
17
|
-
* @returns {number}
|
|
18
|
-
*/
|
|
19
|
-
var getRandomDigit = function () {
|
|
20
|
-
return Math.floor((Math.random() * 9) + 1);
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Get random verification code
|
|
24
|
-
* @param length
|
|
25
|
-
* @returns {string}
|
|
26
|
-
*/
|
|
27
|
-
var getRandomCode = function (length) {
|
|
28
|
-
length = length || 4;
|
|
29
|
-
var output = "";
|
|
30
|
-
while (length-- > 0) {
|
|
31
|
-
output += getRandomDigit();
|
|
32
|
-
}
|
|
33
|
-
return output;
|
|
34
|
-
};
|
|
35
|
-
var t = function (key, options, lng) {
|
|
36
|
-
return TAPi18n.__(key, options, lng);
|
|
37
|
-
};
|
|
38
|
-
var getEmailSubject = function (action, lng) {
|
|
39
|
-
switch (action) {
|
|
40
|
-
case 'emailLogin':
|
|
41
|
-
return t("accounts_emailSubject_emailLogin", {}, lng);
|
|
42
|
-
case 'emailVerify':
|
|
43
|
-
return t("accounts_emailSubject_emailVerify", {}, lng);
|
|
44
|
-
case 'emailSignupAccount':
|
|
45
|
-
return t("accounts_emailSubject_emailSignupAccount", {}, lng);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
var getEmailBody = function (action, code, lng) {
|
|
49
|
-
switch (action) {
|
|
50
|
-
case 'emailLogin':
|
|
51
|
-
return t('accounts_emailBody_emailLogin', { code: code, EFFECTIVE_TIME: EFFECTIVE_TIME }, lng);
|
|
52
|
-
case 'emailVerify':
|
|
53
|
-
return t('accounts_emailBody_emailVerify', { code: code, EFFECTIVE_TIME: EFFECTIVE_TIME }, lng);
|
|
54
|
-
case 'emailSignupAccount':
|
|
55
|
-
return t('accounts_emailBody_emailSignupAccount', { code: code, EFFECTIVE_TIME: EFFECTIVE_TIME }, lng);
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
function sendEmail(to, subject, html, lng) {
|
|
59
|
-
var config = objectql_1.getSteedosConfig().email || {};
|
|
60
|
-
var canSend = core_1.canSendEmail();
|
|
61
|
-
//如果没有配置发送邮件服务,则打印log
|
|
62
|
-
if (!canSend) {
|
|
63
|
-
console.log("Please set email configs in steedos-config.yml");
|
|
64
|
-
console.log({
|
|
65
|
-
to: to,
|
|
66
|
-
subject: subject,
|
|
67
|
-
html: html
|
|
68
|
-
});
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
MailQueue.send({
|
|
73
|
-
to: to,
|
|
74
|
-
from: config.from || "华炎魔方",
|
|
75
|
-
subject: subject,
|
|
76
|
-
html: html
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
function sendSMS(mobile, code, spaceId, lng) {
|
|
81
|
-
var message = t('accounts_sms_message', { code: code, EFFECTIVE_TIME: EFFECTIVE_TIME }, lng);
|
|
82
|
-
var canSend = core_1.canSendSMS();
|
|
83
|
-
if (!canSend) {
|
|
84
|
-
console.log("Please set sms configs in steedos-config.yml");
|
|
85
|
-
console.log(message);
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
SMSQueue.send({
|
|
90
|
-
RecNum: mobile,
|
|
91
|
-
msg: message
|
|
92
|
-
}, spaceId);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
function sendCode(owner, name, action, spaceId, lng) {
|
|
96
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
97
|
-
var now, filters, records, record, doc;
|
|
98
|
-
return tslib_1.__generator(this, function (_a) {
|
|
99
|
-
switch (_a.label) {
|
|
100
|
-
case 0:
|
|
101
|
-
now = new Date();
|
|
102
|
-
filters = [['verifiedAt', '=', null]];
|
|
103
|
-
if (owner) {
|
|
104
|
-
filters.push(['owner', '=', owner]);
|
|
105
|
-
}
|
|
106
|
-
filters.push(['name', '=', name]);
|
|
107
|
-
filters.push(['action', '=', action]);
|
|
108
|
-
filters.push(['expiredAt', '>', now]);
|
|
109
|
-
if (spaceId) {
|
|
110
|
-
filters.push(['space', '=', spaceId]);
|
|
111
|
-
}
|
|
112
|
-
return [4 /*yield*/, db_1.db.find('users_verify_code', { filters: filters })];
|
|
113
|
-
case 1:
|
|
114
|
-
records = _a.sent();
|
|
115
|
-
if (!(records && records.length > 0)) return [3 /*break*/, 3];
|
|
116
|
-
record = records[0];
|
|
117
|
-
if (record.failureCount >= MAX_FAILURE_COUNT) {
|
|
118
|
-
throw new Error('accounts.tooManyFailures');
|
|
119
|
-
}
|
|
120
|
-
return [4 /*yield*/, db_1.db.updateOne('users_verify_code', record._id, { expiredAt: new Date(moment().add(EFFECTIVE_TIME, 'm')) })];
|
|
121
|
-
case 2:
|
|
122
|
-
_a.sent();
|
|
123
|
-
return [3 /*break*/, 5];
|
|
124
|
-
case 3:
|
|
125
|
-
doc = {
|
|
126
|
-
name: name, action: action, owner: owner, code: getRandomCode(CODE_LENGTH), expiredAt: new Date(moment().add(EFFECTIVE_TIME, 'm'))
|
|
127
|
-
};
|
|
128
|
-
if (spaceId) {
|
|
129
|
-
doc.space = spaceId;
|
|
130
|
-
}
|
|
131
|
-
return [4 /*yield*/, db_1.db.insert('users_verify_code', doc)];
|
|
132
|
-
case 4:
|
|
133
|
-
record = _a.sent();
|
|
134
|
-
_a.label = 5;
|
|
135
|
-
case 5:
|
|
136
|
-
if (action.startsWith("email")) {
|
|
137
|
-
sendEmail(name, getEmailSubject(action, lng), getEmailBody(action, record.code, lng), lng);
|
|
138
|
-
}
|
|
139
|
-
else if (action.startsWith("mobile")) {
|
|
140
|
-
sendSMS(name, record.code, spaceId, lng);
|
|
141
|
-
}
|
|
142
|
-
return [2 /*return*/, record._id];
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
function checkMobile(mobile, config) {
|
|
148
|
-
if (config.mobile_phone_locales) {
|
|
149
|
-
return !(mobile.startsWith('+') || !validator_1.default.isMobilePhone(mobile, config.mobile_phone_locales || ['zh-CN']));
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
var mobileReg = config.mobile_regexp || '^[0-9]{11}$';
|
|
153
|
-
return new RegExp(mobileReg).test(mobile);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
exports.applyCode = function (accountsServer) { return function (req, res) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
157
|
-
var steedosConfig, tenantConfig, config, action, name, token, spaceId, accessToken, lng, record, _a, _b, verifyMobileUser, session, users, filters, users, user, err_1;
|
|
158
|
-
return tslib_1.__generator(this, function (_c) {
|
|
159
|
-
switch (_c.label) {
|
|
160
|
-
case 0:
|
|
161
|
-
_c.trys.push([0, 19, , 20]);
|
|
162
|
-
steedosConfig = objectql_1.getSteedosConfig();
|
|
163
|
-
tenantConfig = steedosConfig.tenant;
|
|
164
|
-
config = steedosConfig.accounts || {};
|
|
165
|
-
action = req.body.action;
|
|
166
|
-
name = req.body.name;
|
|
167
|
-
token = req.body.token;
|
|
168
|
-
spaceId = req.body.spaceId;
|
|
169
|
-
accessToken = req.body.accessToken;
|
|
170
|
-
lng = req.body.lng || 'zh-CN';
|
|
171
|
-
if (!token) return [3 /*break*/, 2];
|
|
172
|
-
return [4 /*yield*/, db_1.db.findOne("users_verify_code", token, {})];
|
|
173
|
-
case 1:
|
|
174
|
-
record = _c.sent();
|
|
175
|
-
if (record) {
|
|
176
|
-
name = record.name;
|
|
177
|
-
action = record.action;
|
|
178
|
-
spaceId = record.space;
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
throw new Error("accounts.invalidToken");
|
|
182
|
-
}
|
|
183
|
-
_c.label = 2;
|
|
184
|
-
case 2:
|
|
185
|
-
if (!action) {
|
|
186
|
-
throw new Error("Action is required");
|
|
187
|
-
}
|
|
188
|
-
if (!name || !name.trim()) {
|
|
189
|
-
throw new Error("Name is required");
|
|
190
|
-
}
|
|
191
|
-
if (ALLOW_ACTIONS.indexOf(action) < 0) {
|
|
192
|
-
throw new Error("Invalid action");
|
|
193
|
-
}
|
|
194
|
-
_a = action.endsWith('SignupAccount');
|
|
195
|
-
if (!_a) return [3 /*break*/, 4];
|
|
196
|
-
return [4 /*yield*/, core_1.canRegister(spaceId, action)];
|
|
197
|
-
case 3:
|
|
198
|
-
_a = !(_c.sent());
|
|
199
|
-
_c.label = 4;
|
|
200
|
-
case 4:
|
|
201
|
-
if (_a) {
|
|
202
|
-
throw new Error('accounts.unenableRegister');
|
|
203
|
-
}
|
|
204
|
-
name = name.trim().toLowerCase();
|
|
205
|
-
if (action.startsWith("email")) {
|
|
206
|
-
if (!validator_1.default.isEmail(name)) {
|
|
207
|
-
throw new Error("accounts.invalidEmail");
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
_b = spaceId;
|
|
211
|
-
if (!_b) return [3 /*break*/, 6];
|
|
212
|
-
return [4 /*yield*/, core_1.spaceExists(spaceId)];
|
|
213
|
-
case 5:
|
|
214
|
-
_b = !(_c.sent());
|
|
215
|
-
_c.label = 6;
|
|
216
|
-
case 6:
|
|
217
|
-
if (_b) {
|
|
218
|
-
throw new Error("accounts.spaceUnExists");
|
|
219
|
-
}
|
|
220
|
-
if (action.startsWith("mobile")) {
|
|
221
|
-
if (tenantConfig && !tenantConfig.enable_mobile_code_login) {
|
|
222
|
-
if (['mobileLogin', 'mobileSignupAccount'].indexOf(action) > -1) {
|
|
223
|
-
throw new Error("accounts.invalidMobile");
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
if (!checkMobile(name, config)) {
|
|
227
|
-
throw new Error("accounts.invalidMobile");
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
verifyMobileUser = null;
|
|
231
|
-
if (!(action === 'mobileVerify')) return [3 /*break*/, 10];
|
|
232
|
-
if (!accessToken) {
|
|
233
|
-
throw new Error("accounts.invalidRequest");
|
|
234
|
-
}
|
|
235
|
-
return [4 /*yield*/, accountsServer.findSessionByAccessToken(accessToken)];
|
|
236
|
-
case 7:
|
|
237
|
-
session = _c.sent();
|
|
238
|
-
if (!session) {
|
|
239
|
-
throw new Error("accounts.invalidRequest");
|
|
240
|
-
}
|
|
241
|
-
return [4 /*yield*/, accountsServer.findUserById(session.userId)];
|
|
242
|
-
case 8:
|
|
243
|
-
verifyMobileUser = _c.sent();
|
|
244
|
-
if (!verifyMobileUser) {
|
|
245
|
-
throw new Error("Not find user");
|
|
246
|
-
}
|
|
247
|
-
return [4 /*yield*/, db_1.db.find("users", { filters: [['mobile', '=', name], ['_id', '<>', verifyMobileUser.id]] })];
|
|
248
|
-
case 9:
|
|
249
|
-
users = _c.sent();
|
|
250
|
-
if (users.length > 0) {
|
|
251
|
-
throw new Error("accounts.mobileAlreadyExists");
|
|
252
|
-
}
|
|
253
|
-
_c.label = 10;
|
|
254
|
-
case 10:
|
|
255
|
-
filters = void 0;
|
|
256
|
-
if (action.startsWith("email")) {
|
|
257
|
-
filters = ['email', '=', name];
|
|
258
|
-
}
|
|
259
|
-
else if (action.startsWith("mobile")) {
|
|
260
|
-
filters = ['mobile', '=', name];
|
|
261
|
-
}
|
|
262
|
-
if (action === "mobileVerify") {
|
|
263
|
-
filters = ['_id', '=', verifyMobileUser.id];
|
|
264
|
-
}
|
|
265
|
-
if (!(filters.length > 0)) return [3 /*break*/, 17];
|
|
266
|
-
return [4 /*yield*/, db_1.db.find("users", { filters: filters })];
|
|
267
|
-
case 11:
|
|
268
|
-
users = _c.sent();
|
|
269
|
-
if (!((users.length === 0 && action.endsWith('SignupAccount')) || action === 'mobileApplyLicense')) return [3 /*break*/, 13];
|
|
270
|
-
return [4 /*yield*/, sendCode(null, name, action, spaceId, lng)];
|
|
271
|
-
case 12:
|
|
272
|
-
token = _c.sent();
|
|
273
|
-
return [2 /*return*/, res.send({
|
|
274
|
-
token: token
|
|
275
|
-
})];
|
|
276
|
-
case 13:
|
|
277
|
-
if (!(users.length === 1)) return [3 /*break*/, 15];
|
|
278
|
-
user = users[0];
|
|
279
|
-
return [4 /*yield*/, sendCode(user._id, name, action, spaceId, lng)];
|
|
280
|
-
case 14:
|
|
281
|
-
token = _c.sent();
|
|
282
|
-
return [2 /*return*/, res.send({
|
|
283
|
-
token: token
|
|
284
|
-
})];
|
|
285
|
-
case 15: throw new Error("无效的name");
|
|
286
|
-
case 16: return [3 /*break*/, 18];
|
|
287
|
-
case 17: throw new Error("accounts.invalidRequest");
|
|
288
|
-
case 18: return [3 /*break*/, 20];
|
|
289
|
-
case 19:
|
|
290
|
-
err_1 = _c.sent();
|
|
291
|
-
send_error_1.sendError(res, err_1);
|
|
292
|
-
return [3 /*break*/, 20];
|
|
293
|
-
case 20: return [2 /*return*/];
|
|
294
|
-
}
|
|
295
|
-
});
|
|
296
|
-
}); }; };
|
|
297
|
-
// export const verifyCodeAPI = () => async (
|
|
298
|
-
// req: express.Request,
|
|
299
|
-
// res: express.Response
|
|
300
|
-
// ) => {
|
|
301
|
-
// const now: any = new Date();
|
|
302
|
-
// try {
|
|
303
|
-
// let token = req.body.token;
|
|
304
|
-
// let code = req.body.code;
|
|
305
|
-
// let userId = req.body.userId;
|
|
306
|
-
// let verified = await verifyCode(userId, token, code);
|
|
307
|
-
// if (verified) {
|
|
308
|
-
// return res.send({
|
|
309
|
-
// verified
|
|
310
|
-
// });
|
|
311
|
-
// }
|
|
312
|
-
// } catch (err) {
|
|
313
|
-
// sendError(res, err);
|
|
314
|
-
// }
|
|
315
|
-
// };
|
|
316
|
-
exports.getUserIdByToken = function () { return function (req, res) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
317
|
-
var now, token, record, now_1, isEffective, err_2;
|
|
318
|
-
return tslib_1.__generator(this, function (_a) {
|
|
319
|
-
switch (_a.label) {
|
|
320
|
-
case 0:
|
|
321
|
-
now = new Date();
|
|
322
|
-
_a.label = 1;
|
|
323
|
-
case 1:
|
|
324
|
-
_a.trys.push([1, 4, , 5]);
|
|
325
|
-
token = req.query.token;
|
|
326
|
-
return [4 /*yield*/, db_1.db.findOne('users_verify_code', token, {})];
|
|
327
|
-
case 2:
|
|
328
|
-
record = _a.sent();
|
|
329
|
-
if (!record) {
|
|
330
|
-
throw new Error("accounts.invalidRequest");
|
|
331
|
-
}
|
|
332
|
-
now_1 = new Date();
|
|
333
|
-
return [4 /*yield*/, db_1.db.count('users_verify_code', { filters: [['_id', '=', token], ['verifiedAt', '=', null], ['expiredAt', '>', now_1]] })];
|
|
334
|
-
case 3:
|
|
335
|
-
isEffective = _a.sent();
|
|
336
|
-
return [2 /*return*/, res.send({
|
|
337
|
-
id: record.owner,
|
|
338
|
-
name: record.name,
|
|
339
|
-
action: record.action,
|
|
340
|
-
expired: !isEffective
|
|
341
|
-
})];
|
|
342
|
-
case 4:
|
|
343
|
-
err_2 = _a.sent();
|
|
344
|
-
send_error_1.sendError(res, err_2);
|
|
345
|
-
return [3 /*break*/, 5];
|
|
346
|
-
case 5: return [2 /*return*/];
|
|
347
|
-
}
|
|
348
|
-
});
|
|
349
|
-
}); }; };
|
|
350
|
-
exports.getVerifyRecord = function (token) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
351
|
-
return tslib_1.__generator(this, function (_a) {
|
|
352
|
-
switch (_a.label) {
|
|
353
|
-
case 0: return [4 /*yield*/, db_1.db.findOne('users_verify_code', token, {})];
|
|
354
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
355
|
-
}
|
|
356
|
-
});
|
|
357
|
-
}); };
|
|
358
|
-
exports.verifyCode = function (owner, token, code, options) {
|
|
359
|
-
if (options === void 0) { options = {}; }
|
|
360
|
-
return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
361
|
-
var now, failureCount, recordByToken, filters, record, userId, error_1;
|
|
362
|
-
return tslib_1.__generator(this, function (_a) {
|
|
363
|
-
switch (_a.label) {
|
|
364
|
-
case 0:
|
|
365
|
-
now = new Date();
|
|
366
|
-
if (!token) {
|
|
367
|
-
throw new Error("accounts.invalidToken");
|
|
368
|
-
}
|
|
369
|
-
if (!code) {
|
|
370
|
-
throw new Error("accounts.codeRequired");
|
|
371
|
-
}
|
|
372
|
-
failureCount = 0;
|
|
373
|
-
return [4 /*yield*/, db_1.db.findOne('users_verify_code', token, { fields: 'failureCount' })];
|
|
374
|
-
case 1:
|
|
375
|
-
recordByToken = _a.sent();
|
|
376
|
-
if (recordByToken) {
|
|
377
|
-
failureCount = recordByToken.failureCount || 0;
|
|
378
|
-
}
|
|
379
|
-
if (failureCount >= MAX_FAILURE_COUNT) {
|
|
380
|
-
throw new Error('accounts.tooManyFailures');
|
|
381
|
-
}
|
|
382
|
-
filters = [['code', '=', code], ['verifiedAt', '=', null], ['expiredAt', '>', now]];
|
|
383
|
-
if (owner) {
|
|
384
|
-
filters.push(['owner', '=', owner]);
|
|
385
|
-
}
|
|
386
|
-
return [4 /*yield*/, db_1.db.findOne('users_verify_code', token, { filters: filters })];
|
|
387
|
-
case 2:
|
|
388
|
-
record = _a.sent();
|
|
389
|
-
if (!record) return [3 /*break*/, 8];
|
|
390
|
-
return [4 /*yield*/, db_1.db.updateOne('users_verify_code', record._id, { verifiedAt: now })];
|
|
391
|
-
case 3:
|
|
392
|
-
_a.sent();
|
|
393
|
-
_a.label = 4;
|
|
394
|
-
case 4:
|
|
395
|
-
_a.trys.push([4, 6, , 7]);
|
|
396
|
-
return [4 /*yield*/, exports.handleAction(token, options)];
|
|
397
|
-
case 5:
|
|
398
|
-
userId = _a.sent();
|
|
399
|
-
return [2 /*return*/, {
|
|
400
|
-
verified: true,
|
|
401
|
-
userId: userId
|
|
402
|
-
}];
|
|
403
|
-
case 6:
|
|
404
|
-
error_1 = _a.sent();
|
|
405
|
-
console.log(error_1);
|
|
406
|
-
throw new Error("accounts.serverError");
|
|
407
|
-
case 7: return [3 /*break*/, 9];
|
|
408
|
-
case 8:
|
|
409
|
-
if (recordByToken) {
|
|
410
|
-
db_1.db.updateOne('users_verify_code', token, { failureCount: failureCount + 1 });
|
|
411
|
-
}
|
|
412
|
-
throw new Error("accounts.invalidCode");
|
|
413
|
-
case 9: return [2 /*return*/];
|
|
414
|
-
}
|
|
415
|
-
});
|
|
416
|
-
});
|
|
417
|
-
};
|
|
418
|
-
/**
|
|
419
|
-
* 返回userId
|
|
420
|
-
* @param token
|
|
421
|
-
* @param options
|
|
422
|
-
*/
|
|
423
|
-
exports.handleAction = function (token, options) {
|
|
424
|
-
if (options === void 0) { options = {}; }
|
|
425
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
426
|
-
var record, handleUserId, user, filters, findUsers, userId;
|
|
427
|
-
return tslib_1.__generator(this, function (_a) {
|
|
428
|
-
switch (_a.label) {
|
|
429
|
-
case 0: return [4 /*yield*/, exports.getVerifyRecord(token)];
|
|
430
|
-
case 1:
|
|
431
|
-
record = _a.sent();
|
|
432
|
-
handleUserId = record.owner;
|
|
433
|
-
if (!record.action.endsWith('SignupAccount')) return [3 /*break*/, 7];
|
|
434
|
-
if (!record.owner) return [3 /*break*/, 2];
|
|
435
|
-
if (record.space) {
|
|
436
|
-
Creator.addSpaceUsers(record.space, record.owner, true);
|
|
437
|
-
}
|
|
438
|
-
return [3 /*break*/, 7];
|
|
439
|
-
case 2:
|
|
440
|
-
user = {
|
|
441
|
-
locale: options.locale || 'zh-cn',
|
|
442
|
-
name: options.name,
|
|
443
|
-
};
|
|
444
|
-
filters = [];
|
|
445
|
-
if (record.action.startsWith('email')) {
|
|
446
|
-
user.email = record.name;
|
|
447
|
-
user.email_verified = true;
|
|
448
|
-
filters.push(['email', '=', user.email]);
|
|
449
|
-
}
|
|
450
|
-
else if (record.action.startsWith('mobile')) {
|
|
451
|
-
user.mobile = record.name;
|
|
452
|
-
user.mobile_verified = true;
|
|
453
|
-
filters.push(['mobile', '=', user.mobile]);
|
|
454
|
-
}
|
|
455
|
-
return [4 /*yield*/, db_1.db.find('users', { filters: filters, fields: ['_id'] })];
|
|
456
|
-
case 3:
|
|
457
|
-
findUsers = _a.sent();
|
|
458
|
-
if (!(findUsers.length > 0)) return [3 /*break*/, 4];
|
|
459
|
-
handleUserId = findUsers[0]._id;
|
|
460
|
-
return [3 /*break*/, 6];
|
|
461
|
-
case 4: return [4 /*yield*/, options.server.createUser(user)];
|
|
462
|
-
case 5:
|
|
463
|
-
userId = _a.sent();
|
|
464
|
-
handleUserId = userId;
|
|
465
|
-
_a.label = 6;
|
|
466
|
-
case 6:
|
|
467
|
-
if (record.space) {
|
|
468
|
-
Creator.addSpaceUsers(record.space, handleUserId, true);
|
|
469
|
-
}
|
|
470
|
-
_a.label = 7;
|
|
471
|
-
case 7:
|
|
472
|
-
if (record.action === 'mobileVerify') {
|
|
473
|
-
Steedos.setMobile(handleUserId, record.name);
|
|
474
|
-
}
|
|
475
|
-
if (record.action.startsWith("email")) {
|
|
476
|
-
Steedos.setEmailVerified(handleUserId, record.name, true);
|
|
477
|
-
}
|
|
478
|
-
else if (record.action != 'mobileApplyLicense' && record.action.startsWith("mobile")) {
|
|
479
|
-
Steedos.setMobileVerified(handleUserId, record.name, true);
|
|
480
|
-
}
|
|
481
|
-
return [2 /*return*/, handleUserId];
|
|
482
|
-
}
|
|
483
|
-
});
|
|
484
|
-
});
|
|
485
|
-
};
|
|
486
|
-
//# sourceMappingURL=verify_code.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify_code.js","sourceRoot":"","sources":["../../../../src/rest-express/endpoints/steedos/verify_code.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"files": {
|
|
3
|
-
"main.js": "/accounts/a/static/js/main.8aaa42cc.chunk.js",
|
|
4
|
-
"main.js.map": "/accounts/a/static/js/main.8aaa42cc.chunk.js.map",
|
|
5
|
-
"runtime-main.js": "/accounts/a/static/js/runtime-main.fcbf19ad.js",
|
|
6
|
-
"runtime-main.js.map": "/accounts/a/static/js/runtime-main.fcbf19ad.js.map",
|
|
7
|
-
"static/js/2.3c20252e.chunk.js": "/accounts/a/static/js/2.3c20252e.chunk.js",
|
|
8
|
-
"static/js/2.3c20252e.chunk.js.map": "/accounts/a/static/js/2.3c20252e.chunk.js.map",
|
|
9
|
-
"index.html": "/accounts/a/index.html",
|
|
10
|
-
"precache-manifest.be3fffe848ef3448b739207c45fd552a.js": "/accounts/a/precache-manifest.be3fffe848ef3448b739207c45fd552a.js",
|
|
11
|
-
"service-worker.js": "/accounts/a/service-worker.js"
|
|
12
|
-
},
|
|
13
|
-
"entrypoints": [
|
|
14
|
-
"static/js/runtime-main.fcbf19ad.js",
|
|
15
|
-
"static/js/2.3c20252e.chunk.js",
|
|
16
|
-
"static/js/main.8aaa42cc.chunk.js"
|
|
17
|
-
]
|
|
18
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
<html>
|
|
2
|
-
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
6
|
-
<meta name="renderer" content="webkit">
|
|
7
|
-
<meta name="viewport"
|
|
8
|
-
content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no,shrink-to-fit=no">
|
|
9
|
-
<title>华炎云</title>
|
|
10
|
-
<style>
|
|
11
|
-
html,
|
|
12
|
-
body {
|
|
13
|
-
position: relative;
|
|
14
|
-
height: 100%;
|
|
15
|
-
width: 100%;
|
|
16
|
-
margin: 0;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.app-shell-not-support {
|
|
20
|
-
position: absolute;
|
|
21
|
-
top: 50%;
|
|
22
|
-
left: 50%;
|
|
23
|
-
width: 470px;
|
|
24
|
-
height: auto;
|
|
25
|
-
background: none;
|
|
26
|
-
transform: translate(-50%, -50%);
|
|
27
|
-
text-align: center;
|
|
28
|
-
font-family: "PingFangSC", sans-serif;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.not-support-bg {
|
|
32
|
-
width: 100%;
|
|
33
|
-
margin-bottom: 3px;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.button {
|
|
37
|
-
display: block;
|
|
38
|
-
width: 120px;
|
|
39
|
-
height: 32px;
|
|
40
|
-
border-radius: 4px;
|
|
41
|
-
margin-left: 50%;
|
|
42
|
-
margin-top: 16px;
|
|
43
|
-
transform: translateX(-50%);
|
|
44
|
-
line-height: 32px;
|
|
45
|
-
background-color: #3377ff;
|
|
46
|
-
font-size: 14px;
|
|
47
|
-
color: #fff;
|
|
48
|
-
cursor: pointer;
|
|
49
|
-
user-select: none;
|
|
50
|
-
text-decoration: none;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@media (max-width: 600px) {
|
|
54
|
-
.app-shell-not-support {
|
|
55
|
-
width: 78%;
|
|
56
|
-
min-width: 250px;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@media (max-width: 400px) {
|
|
61
|
-
.app-shell-not-support {
|
|
62
|
-
font-size: 12px;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
</style>
|
|
66
|
-
</head>
|
|
67
|
-
|
|
68
|
-
<body id="root">
|
|
69
|
-
<div class="app-shell-not-support">
|
|
70
|
-
<img class="not-support-bg" src="images/unsupported.png">
|
|
71
|
-
<div><span>我们暂不支持该浏览器,推荐使用华炎客户端访问</span></div>
|
|
72
|
-
<a class="button" target="_blank" href="https://www.steedos.com/help/download">下载客户端</a>
|
|
73
|
-
</div>
|
|
74
|
-
</body>
|
|
75
|
-
|
|
76
|
-
</html>
|