@steedos/auth 2.2.52-beta.7 → 2.2.53-beta.3
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/LICENSE.txt +2 -5
- package/lib/apikey.js +95 -27
- package/lib/apikey.js.map +1 -1
- package/lib/auth-middleware.js +53 -10
- package/lib/auth-middleware.js.map +1 -1
- package/lib/endpoints/jwt.js +122 -61
- package/lib/endpoints/jwt.js.map +1 -1
- package/lib/endpoints/login.js +80 -32
- package/lib/endpoints/login.js.map +1 -1
- package/lib/endpoints/logout.js +44 -6
- package/lib/endpoints/logout.js.map +1 -1
- package/lib/endpoints/validate.js +78 -29
- package/lib/endpoints/validate.js.map +1 -1
- package/lib/express-middleware.js +6 -6
- package/lib/express-middleware.js.map +1 -1
- package/lib/index.js +15 -11
- package/lib/index.js.map +1 -1
- package/lib/session.js +198 -97
- package/lib/session.js.map +1 -1
- package/lib/spaceUserSession.js +330 -106
- package/lib/spaceUserSession.js.map +1 -1
- package/lib/tokenMap.js +84 -27
- package/lib/tokenMap.js.map +1 -1
- package/lib/userSession.js +111 -41
- package/lib/userSession.js.map +1 -1
- package/lib/utils/index.js +92 -31
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/random.js +4 -4
- package/lib/utils/random.js.map +1 -1
- package/package.json +7 -13
package/lib/tokenMap.js
CHANGED
|
@@ -1,9 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
exports.__esModule = true;
|
|
3
39
|
exports.removeUserTokens = exports.getUserIdByToken = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
40
|
+
var crypto = require("crypto");
|
|
41
|
+
var objectql_1 = require("@steedos/objectql");
|
|
42
|
+
var TOKENMAPCACHENAME = "token_map_cache";
|
|
7
43
|
function getTokenMapCache(token) {
|
|
8
44
|
return (0, objectql_1.getConfig)(TOKENMAPCACHENAME, token);
|
|
9
45
|
}
|
|
@@ -12,36 +48,57 @@ function setTokenMapCache(token, tokenMap) {
|
|
|
12
48
|
(0, objectql_1.addConfig)(TOKENMAPCACHENAME, tokenMap);
|
|
13
49
|
}
|
|
14
50
|
function _hashLoginToken(token) {
|
|
15
|
-
|
|
51
|
+
var hash = crypto.createHash("sha256");
|
|
16
52
|
hash.update(token);
|
|
17
53
|
return hash.digest("base64");
|
|
18
54
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
55
|
+
function getUser(token) {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
57
|
+
var hashedToken, filters, users;
|
|
58
|
+
return __generator(this, function (_a) {
|
|
59
|
+
switch (_a.label) {
|
|
60
|
+
case 0:
|
|
61
|
+
hashedToken = _hashLoginToken(token).replace(/\//g, "%2F");
|
|
62
|
+
filters = "(services/resume/loginTokens/hashedToken eq '".concat(hashedToken, "')");
|
|
63
|
+
return [4 /*yield*/, (0, objectql_1.getSteedosSchema)()
|
|
64
|
+
.getObject("users")
|
|
65
|
+
.find({ filters: filters, fields: ["_id"] })];
|
|
66
|
+
case 1:
|
|
67
|
+
users = _a.sent();
|
|
68
|
+
return [2 /*return*/, users[0]];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
26
72
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
73
|
+
function getUserIdByToken(token, clientInfos) {
|
|
74
|
+
if (clientInfos === void 0) { clientInfos = {}; }
|
|
75
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
76
|
+
var tokenMap, user, userId;
|
|
77
|
+
return __generator(this, function (_a) {
|
|
78
|
+
switch (_a.label) {
|
|
79
|
+
case 0:
|
|
80
|
+
tokenMap = getTokenMapCache(token);
|
|
81
|
+
if (!!tokenMap) return [3 /*break*/, 2];
|
|
82
|
+
return [4 /*yield*/, getUser(token)];
|
|
83
|
+
case 1:
|
|
84
|
+
user = _a.sent();
|
|
85
|
+
if (user) {
|
|
86
|
+
userId = user._id;
|
|
87
|
+
setTokenMapCache(token, Object.assign({}, clientInfos, { userId: userId }));
|
|
88
|
+
return [2 /*return*/, userId];
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return [2 /*return*/];
|
|
92
|
+
}
|
|
93
|
+
_a.label = 2;
|
|
94
|
+
case 2: return [2 /*return*/, tokenMap.userId];
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
});
|
|
41
98
|
}
|
|
42
99
|
exports.getUserIdByToken = getUserIdByToken;
|
|
43
100
|
function removeUserTokens(userId, is_phone) {
|
|
44
|
-
(0, objectql_1.removeManyConfigs)(TOKENMAPCACHENAME, { userId: userId, is_phone });
|
|
101
|
+
(0, objectql_1.removeManyConfigs)(TOKENMAPCACHENAME, { userId: userId, is_phone: is_phone });
|
|
45
102
|
}
|
|
46
103
|
exports.removeUserTokens = removeUserTokens;
|
|
47
104
|
//# sourceMappingURL=tokenMap.js.map
|
package/lib/tokenMap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenMap.js","sourceRoot":"","sources":["../src/tokenMap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tokenMap.js","sourceRoot":"","sources":["../src/tokenMap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAkC;AAClC,8CAK2B;AAC3B,IAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAE5C,SAAS,gBAAgB,CAAC,KAAK;IAC7B,OAAO,IAAA,oBAAS,EAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAK,EAAE,QAAQ;IACvC,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC;IACrB,IAAA,oBAAS,EAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,IAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED,SAAe,OAAO,CAAC,KAAa;;;;;;oBAC9B,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC3D,OAAO,GAAG,uDAAgD,WAAW,OAAI,CAAC;oBAClE,qBAAM,IAAA,2BAAgB,GAAE;6BACjC,SAAS,CAAC,OAAO,CAAC;6BAClB,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAA;;oBAF1C,KAAK,GAAG,SAEkC;oBAC9C,sBAAO,KAAK,CAAC,CAAC,CAAC,EAAC;;;;CACjB;AAED,SAAsB,gBAAgB,CAAC,KAAK,EAAE,WAAgB;IAAhB,4BAAA,EAAA,gBAAgB;;;;;;oBACxD,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;yBACnC,CAAC,QAAQ,EAAT,wBAAS;oBACA,qBAAM,OAAO,CAAC,KAAK,CAAC,EAAA;;oBAA3B,IAAI,GAAG,SAAoB;oBAC/B,IAAI,IAAI,EAAE;wBACJ,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;wBACtB,gBAAgB,CACd,KAAK,EACL,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CACnD,CAAC;wBACF,sBAAO,MAAM,EAAC;qBACf;yBAAM;wBACL,sBAAO;qBACR;;wBAEH,sBAAO,QAAQ,CAAC,MAAM,EAAC;;;;CACxB;AAhBD,4CAgBC;AAED,SAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ;IAC/C,IAAA,4BAAiB,EAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;AACrE,CAAC;AAFD,4CAEC"}
|
package/lib/userSession.js
CHANGED
|
@@ -1,12 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
exports.__esModule = true;
|
|
39
|
+
exports.getUserSession = exports.removeUserSessionFromCache = exports.addSessionToCache = exports.getSessionFromCache = void 0;
|
|
40
|
+
/*
|
|
41
|
+
* @Author: sunhaolin@hotoa.com
|
|
42
|
+
* @Date: 2021-06-03 15:11:52
|
|
43
|
+
* @LastEditors: sunhaolin@hotoa.com
|
|
44
|
+
* @LastEditTime: 2022-07-07 10:19:52
|
|
45
|
+
* @Description:
|
|
46
|
+
*/
|
|
47
|
+
var objectql_1 = require("@steedos/objectql");
|
|
48
|
+
var utils_1 = require("./utils");
|
|
49
|
+
var sessionCacheInMinutes = 10;
|
|
50
|
+
var USERCACHENAME = 'users_cache';
|
|
8
51
|
function getSessionFromCache(userId) {
|
|
9
|
-
|
|
52
|
+
var userSession = (0, objectql_1.getConfig)(USERCACHENAME, userId);
|
|
10
53
|
if (!userSession) {
|
|
11
54
|
return null;
|
|
12
55
|
}
|
|
@@ -22,43 +65,70 @@ function addSessionToCache(userId, userSession) {
|
|
|
22
65
|
(0, objectql_1.addConfig)(USERCACHENAME, userSession);
|
|
23
66
|
}
|
|
24
67
|
exports.addSessionToCache = addSessionToCache;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
68
|
+
/**
|
|
69
|
+
* 清除缓存
|
|
70
|
+
* @param userId
|
|
71
|
+
*/
|
|
72
|
+
function removeUserSessionFromCache(userId) {
|
|
73
|
+
(0, objectql_1.removeConfig)(USERCACHENAME, { _id: userId });
|
|
28
74
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
session.mobile = user.mobile;
|
|
40
|
-
session.email = user.email;
|
|
41
|
-
session.utcOffset = user.utcOffset;
|
|
42
|
-
session.steedos_id = user.steedos_id;
|
|
43
|
-
session.locale = user.locale;
|
|
44
|
-
if (user.locale == "en-us") {
|
|
45
|
-
session.language = "en";
|
|
46
|
-
}
|
|
47
|
-
else if (user.locale == "zh-cn") {
|
|
48
|
-
session.language = "zh-CN";
|
|
75
|
+
exports.removeUserSessionFromCache = removeUserSessionFromCache;
|
|
76
|
+
function getUser(userId) {
|
|
77
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
78
|
+
var user;
|
|
79
|
+
return __generator(this, function (_a) {
|
|
80
|
+
switch (_a.label) {
|
|
81
|
+
case 0: return [4 /*yield*/, (0, objectql_1.getSteedosSchema)().getObject('users').findOne(userId, { fields: ['name', 'username', 'mobile', 'email', 'utcOffset', 'steedos_id', 'locale'] })];
|
|
82
|
+
case 1:
|
|
83
|
+
user = _a.sent();
|
|
84
|
+
return [2 /*return*/, user];
|
|
49
85
|
}
|
|
50
|
-
|
|
51
|
-
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function getUserSession(userId) {
|
|
90
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
91
|
+
var expiredAt, session, user;
|
|
92
|
+
return __generator(this, function (_a) {
|
|
93
|
+
switch (_a.label) {
|
|
94
|
+
case 0:
|
|
95
|
+
expiredAt = new Date().getTime() + sessionCacheInMinutes * 60 * 1000;
|
|
96
|
+
session = getSessionFromCache(userId);
|
|
97
|
+
if (!!session) return [3 /*break*/, 2];
|
|
98
|
+
return [4 /*yield*/, getUser(userId)];
|
|
99
|
+
case 1:
|
|
100
|
+
user = _a.sent();
|
|
101
|
+
if (user) {
|
|
102
|
+
session = {};
|
|
103
|
+
session.userId = user._id;
|
|
104
|
+
session.name = user.name;
|
|
105
|
+
session.username = user.username;
|
|
106
|
+
session.mobile = user.mobile;
|
|
107
|
+
session.email = user.email;
|
|
108
|
+
session.utcOffset = user.utcOffset;
|
|
109
|
+
session.steedos_id = user.steedos_id;
|
|
110
|
+
session.locale = user.locale;
|
|
111
|
+
if (user.locale == "en-us") {
|
|
112
|
+
session.language = "en";
|
|
113
|
+
}
|
|
114
|
+
else if (user.locale == "zh-cn") {
|
|
115
|
+
session.language = "zh-CN";
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
session.language = user.locale;
|
|
119
|
+
}
|
|
120
|
+
session.expiredAt = expiredAt;
|
|
121
|
+
addSessionToCache(userId, session);
|
|
122
|
+
return [2 /*return*/, session];
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
return [2 /*return*/];
|
|
126
|
+
}
|
|
127
|
+
_a.label = 2;
|
|
128
|
+
case 2: return [2 /*return*/, session];
|
|
52
129
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return session;
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return session;
|
|
130
|
+
});
|
|
131
|
+
});
|
|
62
132
|
}
|
|
63
133
|
exports.getUserSession = getUserSession;
|
|
64
134
|
//# sourceMappingURL=userSession.js.map
|
package/lib/userSession.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userSession.js","sourceRoot":"","sources":["../src/userSession.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userSession.js","sourceRoot":"","sources":["../src/userSession.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/index.js
CHANGED
|
@@ -1,46 +1,107 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (_) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.__esModule = true;
|
|
3
50
|
exports.isExpried = exports.clearAuthCookies = exports.setAuthCookies = exports.insertHashedLoginToken = exports.hashStampedToken = exports.generateStampedLoginToken = exports.hashLoginToken = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
51
|
+
var crypto = require("crypto");
|
|
52
|
+
var random_1 = require("./random");
|
|
53
|
+
var objectql_1 = require("@steedos/objectql");
|
|
54
|
+
var Cookies = require('cookies');
|
|
55
|
+
var hashLoginToken = function (loginToken) {
|
|
56
|
+
var hash = crypto.createHash('sha256');
|
|
10
57
|
hash.update(loginToken);
|
|
11
58
|
return hash.digest('base64');
|
|
12
59
|
};
|
|
13
60
|
exports.hashLoginToken = hashLoginToken;
|
|
14
|
-
|
|
61
|
+
var generateStampedLoginToken = function () {
|
|
15
62
|
return {
|
|
16
|
-
token: random_1
|
|
63
|
+
token: random_1["default"].secret(),
|
|
17
64
|
when: new Date
|
|
18
65
|
};
|
|
19
66
|
};
|
|
20
67
|
exports.generateStampedLoginToken = generateStampedLoginToken;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
68
|
+
var hashStampedToken = function (stampedToken) {
|
|
69
|
+
var hashedStampedToken = Object.keys(stampedToken).reduce(function (prev, key) {
|
|
70
|
+
var _a;
|
|
71
|
+
return key === 'token' ?
|
|
72
|
+
prev : __assign(__assign({}, prev), (_a = {}, _a[key] = stampedToken[key], _a));
|
|
73
|
+
}, {});
|
|
74
|
+
return __assign(__assign({}, hashedStampedToken), { hashedToken: (0, exports.hashLoginToken)(stampedToken.token) });
|
|
25
75
|
};
|
|
26
76
|
exports.hashStampedToken = hashStampedToken;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
77
|
+
var insertHashedLoginToken = function (userId, hashedToken) {
|
|
78
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
79
|
+
var userObject, user, data;
|
|
80
|
+
return __generator(this, function (_a) {
|
|
81
|
+
switch (_a.label) {
|
|
82
|
+
case 0:
|
|
83
|
+
userObject = (0, objectql_1.getSteedosSchema)().getObject('users');
|
|
84
|
+
return [4 /*yield*/, userObject.findOne(userId, { fields: ['services'] })];
|
|
85
|
+
case 1:
|
|
86
|
+
user = _a.sent();
|
|
87
|
+
if (!user['services']) {
|
|
88
|
+
user['services'] = {};
|
|
89
|
+
}
|
|
90
|
+
if (!user['services']['resume']) {
|
|
91
|
+
user['services']['resume'] = { loginTokens: [] };
|
|
92
|
+
}
|
|
93
|
+
user['services']['resume']['loginTokens'].push(hashedToken);
|
|
94
|
+
data = { services: user['services'] };
|
|
95
|
+
return [4 /*yield*/, userObject.update(userId, data)];
|
|
96
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
});
|
|
39
100
|
};
|
|
40
101
|
exports.insertHashedLoginToken = insertHashedLoginToken;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
102
|
+
var setAuthCookies = function (req, res, userId, authToken, spaceId) {
|
|
103
|
+
var cookies = new Cookies(req, res);
|
|
104
|
+
var options = {
|
|
44
105
|
maxAge: 90 * 60 * 60 * 24 * 1000,
|
|
45
106
|
httpOnly: true,
|
|
46
107
|
overwrite: true
|
|
@@ -54,9 +115,9 @@ const setAuthCookies = function (req, res, userId, authToken, spaceId) {
|
|
|
54
115
|
return;
|
|
55
116
|
};
|
|
56
117
|
exports.setAuthCookies = setAuthCookies;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
118
|
+
var clearAuthCookies = function (req, res) {
|
|
119
|
+
var cookies = new Cookies(req, res);
|
|
120
|
+
var options = {
|
|
60
121
|
maxAge: 0,
|
|
61
122
|
httpOnly: true,
|
|
62
123
|
overwrite: true
|
package/lib/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/random.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
// primitive is hexString(), from which we construct fraction(). When using
|
|
8
8
|
// window.crypto.getRandomValues() or alea, the primitive is fraction and we use
|
|
9
9
|
// that to construct hex string.
|
|
10
|
-
|
|
10
|
+
exports.__esModule = true;
|
|
11
11
|
var nodeCrypto = require('crypto');
|
|
12
12
|
// see http://baagoe.org/en/wiki/Better_random_numbers_for_javascript
|
|
13
13
|
// for a full discussion and Alea implementation.
|
|
@@ -107,7 +107,7 @@ RandomGenerator['Type'] = {
|
|
|
107
107
|
NODE_CRYPTO: "NODE_CRYPTO",
|
|
108
108
|
// Use the *fast*, seedaable and not cryptographically secure
|
|
109
109
|
// Alea algorithm
|
|
110
|
-
ALEA: "ALEA"
|
|
110
|
+
ALEA: "ALEA"
|
|
111
111
|
};
|
|
112
112
|
/**
|
|
113
113
|
* @name Random.fraction
|
|
@@ -210,6 +210,6 @@ RandomGenerator.prototype.choice = function (arrayOrString) {
|
|
|
210
210
|
else
|
|
211
211
|
return arrayOrString[index];
|
|
212
212
|
};
|
|
213
|
-
|
|
214
|
-
exports
|
|
213
|
+
var Random = new RandomGenerator(RandomGenerator['Type'].NODE_CRYPTO);
|
|
214
|
+
exports["default"] = Random;
|
|
215
215
|
//# sourceMappingURL=random.js.map
|
package/lib/utils/random.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../src/utils/random.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../src/utils/random.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/auth",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.53-beta.3",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"watch": "tsc --watch",
|
|
@@ -13,23 +13,17 @@
|
|
|
13
13
|
"access": "public"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@steedos/
|
|
17
|
-
"
|
|
16
|
+
"@steedos/cachers": "2.2.53-beta.3",
|
|
17
|
+
"@steedos/objectql": "2.2.53-beta.3",
|
|
18
|
+
"cookies": "^0.8.0",
|
|
18
19
|
"express": "^4.16.4",
|
|
20
|
+
"ismobilejs": "^1.1.1",
|
|
19
21
|
"jsonwebtoken": "^8.5.1",
|
|
20
22
|
"sha256": "^0.2.0",
|
|
21
23
|
"underscore": "^1.9.1"
|
|
22
24
|
},
|
|
23
25
|
"devDependencies": {
|
|
24
|
-
"
|
|
25
|
-
"@types/chai-as-promised": "7.1.0",
|
|
26
|
-
"@types/mocha": "^5.2.6",
|
|
27
|
-
"chai": "^4.2.0",
|
|
28
|
-
"chai-as-promised": "^7.1.1",
|
|
29
|
-
"jslint": "^0.12.1",
|
|
30
|
-
"sinon-chai": "^3.3.0",
|
|
31
|
-
"ts-node": "^8.0.3",
|
|
32
|
-
"typescript": "3.5.3"
|
|
26
|
+
"typescript": "4.6.3"
|
|
33
27
|
},
|
|
34
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "5782f1171133c05cce158adef71e527d970ef50e"
|
|
35
29
|
}
|