@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.
@@ -1,10 +1,48 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logout = void 0;
4
- const utils_1 = require("../utils");
5
- const logout = async (req, res) => {
6
- (0, utils_1.clearAuthCookies)(req, res);
7
- return res.end();
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
+ }
8
37
  };
38
+ exports.__esModule = true;
39
+ exports.logout = void 0;
40
+ var utils_1 = require("../utils");
41
+ var logout = function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
42
+ return __generator(this, function (_a) {
43
+ (0, utils_1.clearAuthCookies)(req, res);
44
+ return [2 /*return*/, res.end()];
45
+ });
46
+ }); };
9
47
  exports.logout = logout;
10
48
  //# sourceMappingURL=logout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/endpoints/logout.ts"],"names":[],"mappings":";;;AAEA,oCAA4C;AAErC,MAAM,MAAM,GAAG,KAAK,EAAE,GAAoB,EAAE,GAAqB,EAAE,EAAE;IACxE,IAAA,wBAAgB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC,CAAA;AAHY,QAAA,MAAM,UAGlB"}
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/endpoints/logout.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,kCAA4C;AAErC,IAAM,MAAM,GAAG,UAAO,GAAY,EAAE,GAAa;;QACpD,IAAA,wBAAgB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3B,sBAAO,GAAG,CAAC,GAAG,EAAE,EAAC;;KACpB,CAAA;AAHY,QAAA,MAAM,UAGlB"}
@@ -1,37 +1,86 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
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.validate = void 0;
4
- const session_1 = require("../session");
5
- const utils_1 = require("../utils");
6
- const objectql_1 = require("@steedos/objectql");
7
- const validate = async (req, res) => {
8
- let utcOffset = req.body.utcOffset;
9
- let userSession = await (0, session_1.auth)(req, res);
10
- let spaceUser = await (0, objectql_1.getSteedosSchema)().getObject('space_users').find({ filters: [['space', '=', userSession.spaceId], ['user', '=', userSession.userId], ['user_accepted', '=', true]] });
11
- if (userSession.userId) {
12
- if (spaceUser.length > 0) {
13
- let user = await (0, objectql_1.getSteedosSchema)().getObject('users').findOne(userSession.userId, { fields: ['utcOffset', 'password_expired', 'lockout'] });
14
- if (user.lockout) {
40
+ var session_1 = require("../session");
41
+ var utils_1 = require("../utils");
42
+ var objectql_1 = require("@steedos/objectql");
43
+ var validate = function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
44
+ var utcOffset, userSession, spaceUser, user;
45
+ return __generator(this, function (_a) {
46
+ switch (_a.label) {
47
+ case 0:
48
+ utcOffset = req.body.utcOffset;
49
+ return [4 /*yield*/, (0, session_1.auth)(req, res)];
50
+ case 1:
51
+ userSession = _a.sent();
52
+ return [4 /*yield*/, (0, objectql_1.getSteedosSchema)().getObject('space_users').find({ filters: [['space', '=', userSession.spaceId], ['user', '=', userSession.userId], ['user_accepted', '=', true]] })];
53
+ case 2:
54
+ spaceUser = _a.sent();
55
+ if (!userSession.userId) return [3 /*break*/, 9];
56
+ if (!(spaceUser.length > 0)) return [3 /*break*/, 8];
57
+ return [4 /*yield*/, (0, objectql_1.getSteedosSchema)().getObject('users').findOne(userSession.userId, { fields: ['utcOffset', 'password_expired', 'lockout'] })];
58
+ case 3:
59
+ user = _a.sent();
60
+ if (!user.lockout) return [3 /*break*/, 4];
15
61
  (0, utils_1.clearAuthCookies)(req, res);
16
- }
17
- else {
62
+ return [3 /*break*/, 7];
63
+ case 4:
18
64
  (0, utils_1.setAuthCookies)(req, res, userSession.userId, userSession.authToken, userSession.spaceId);
19
- if (!user.hasOwnProperty('utcOffset')) {
20
- await (0, objectql_1.getSteedosSchema)().getObject('users').update(userSession.userId, { 'utcOffset': utcOffset });
21
- }
22
- return res.send(Object.assign({}, userSession, { password_expired: user.password_expired }));
23
- }
24
- }
25
- else {
26
- (0, utils_1.clearAuthCookies)(req, res);
65
+ if (!!user.hasOwnProperty('utcOffset')) return [3 /*break*/, 6];
66
+ return [4 /*yield*/, (0, objectql_1.getSteedosSchema)().getObject('users').update(userSession.userId, { 'utcOffset': utcOffset })];
67
+ case 5:
68
+ _a.sent();
69
+ _a.label = 6;
70
+ case 6: return [2 /*return*/, res.send(Object.assign({}, userSession, { password_expired: user.password_expired }))];
71
+ case 7: return [3 /*break*/, 9];
72
+ case 8:
73
+ (0, utils_1.clearAuthCookies)(req, res);
74
+ _a.label = 9;
75
+ case 9:
76
+ (0, utils_1.clearAuthCookies)(req, res);
77
+ return [2 /*return*/, res.status(401).send({
78
+ "error": "Validate Request -- Missing X-Auth-Token",
79
+ "instance": "1329598861",
80
+ "success": false
81
+ })];
27
82
  }
28
- }
29
- (0, utils_1.clearAuthCookies)(req, res);
30
- return res.status(401).send({
31
- "error": "Validate Request -- Missing X-Auth-Token",
32
- "instance": "1329598861",
33
- "success": false
34
83
  });
35
- };
84
+ }); };
36
85
  exports.validate = validate;
37
86
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/endpoints/validate.ts"],"names":[],"mappings":";;;AAEA,wCAAkC;AAClC,oCAA4D;AAC5D,gDAAqD;AAE9C,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAoB,EAAE,GAAqB,EAAE,EAAE;IAC1E,IAAI,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;IACnC,IAAI,WAAW,GAAG,MAAM,IAAA,cAAI,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,SAAS,GAAG,MAAM,IAAA,2BAAgB,GAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC;IAC1L,IAAI,WAAW,CAAC,MAAM,EAAE;QACpB,IAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAC;YACpB,IAAI,IAAI,GAAG,MAAM,IAAA,2BAAgB,GAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,WAAW,EAAC,kBAAkB,EAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC3I,IAAG,IAAI,CAAC,OAAO,EAAC;gBACZ,IAAA,wBAAgB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAA;aAC7B;iBAAI;gBACD,IAAA,sBAAc,EAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;gBACzF,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;oBACnC,MAAM,IAAA,2BAAgB,GAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAA;iBACrG;gBACD,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,EAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAC,CAAC,CAAC,CAAC;aAC9F;SACJ;aAAI;YACD,IAAA,wBAAgB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAA;SAC7B;KACJ;IACD,IAAA,wBAAgB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACxB,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,KAAK;KACnB,CAAC,CAAA;AACN,CAAC,CAAA;AA1BY,QAAA,QAAQ,YA0BpB"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/endpoints/validate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,sCAAkC;AAClC,kCAA4D;AAC5D,8CAAqD;AAE9C,IAAM,QAAQ,GAAG,UAAO,GAAY,EAAE,GAAa;;;;;gBAClD,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACjB,qBAAM,IAAA,cAAI,EAAC,GAAG,EAAE,GAAG,CAAC,EAAA;;gBAAlC,WAAW,GAAG,SAAoB;gBACtB,qBAAM,IAAA,2BAAgB,GAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,EAAC,CAAC,EAAA;;gBAArL,SAAS,GAAG,SAAyK;qBACrL,WAAW,CAAC,MAAM,EAAlB,wBAAkB;qBACf,CAAA,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA,EAApB,wBAAoB;gBACR,qBAAM,IAAA,2BAAgB,GAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,WAAW,EAAC,kBAAkB,EAAC,SAAS,CAAC,EAAE,CAAC,EAAA;;gBAAtI,IAAI,GAAG,SAA+H;qBACvI,IAAI,CAAC,OAAO,EAAZ,wBAAY;gBACX,IAAA,wBAAgB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAA;;;gBAE1B,IAAA,sBAAc,EAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;qBACrF,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAjC,wBAAiC;gBACjC,qBAAM,IAAA,2BAAgB,GAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAA;;gBAAlG,SAAkG,CAAA;;oBAEtG,sBAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,EAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAC,CAAC,CAAC,EAAC;;;gBAG/F,IAAA,wBAAgB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAA;;;gBAGlC,IAAA,wBAAgB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3B,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACxB,OAAO,EAAE,0CAA0C;wBACnD,UAAU,EAAE,YAAY;wBACxB,SAAS,EAAE,KAAK;qBACnB,CAAC,EAAA;;;KACL,CAAA;AA1BY,QAAA,QAAQ,YA0BpB"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.__esModule = true;
3
3
  exports.authExpress = void 0;
4
- const express = require('express');
5
- const login_1 = require("./endpoints/login");
6
- const logout_1 = require("./endpoints/logout");
7
- const validate_1 = require("./endpoints/validate");
8
- const jwt_1 = require("./endpoints/jwt");
4
+ var express = require('express');
5
+ var login_1 = require("./endpoints/login");
6
+ var logout_1 = require("./endpoints/logout");
7
+ var validate_1 = require("./endpoints/validate");
8
+ var jwt_1 = require("./endpoints/jwt");
9
9
  exports.authExpress = express.Router();
10
10
  exports.authExpress.post('/api/v4/users/login', login_1.login);
11
11
  exports.authExpress.post('/api/v4/users/logout', logout_1.logout);
@@ -1 +1 @@
1
- {"version":3,"file":"express-middleware.js","sourceRoot":"","sources":["../src/express-middleware.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEnC,6CAA0C;AAC1C,+CAA4C;AAC5C,mDAAgD;AAChD,yCAAyC;AAE5B,QAAA,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AAE5C,mBAAW,CAAC,IAAI,CAAC,qBAAqB,EAAE,aAAK,CAAC,CAAC;AAC/C,mBAAW,CAAC,IAAI,CAAC,sBAAsB,EAAE,eAAM,CAAC,CAAC;AACjD,mBAAW,CAAC,IAAI,CAAC,wBAAwB,EAAE,mBAAQ,CAAC,CAAA;AAEpD,YAAY;AACZ,mBAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAK,CAAC,CAAC;AAC5C,mBAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,eAAM,CAAC,CAAA;AAC7C,mBAAW,CAAC,IAAI,CAAC,qBAAqB,EAAE,mBAAQ,CAAC,CAAA;AAEjD,mBAAW,CAAC,GAAG,CAAC,UAAU,EAAE,YAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"express-middleware.js","sourceRoot":"","sources":["../src/express-middleware.ts"],"names":[],"mappings":";;;AAAA,IAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEnC,2CAA0C;AAC1C,6CAA4C;AAC5C,iDAAgD;AAChD,uCAAyC;AAE5B,QAAA,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AAE5C,mBAAW,CAAC,IAAI,CAAC,qBAAqB,EAAE,aAAK,CAAC,CAAC;AAC/C,mBAAW,CAAC,IAAI,CAAC,sBAAsB,EAAE,eAAM,CAAC,CAAC;AACjD,mBAAW,CAAC,IAAI,CAAC,wBAAwB,EAAE,mBAAQ,CAAC,CAAA;AAEpD,YAAY;AACZ,mBAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAK,CAAC,CAAC;AAC5C,mBAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,eAAM,CAAC,CAAA;AAC7C,mBAAW,CAAC,IAAI,CAAC,qBAAqB,EAAE,mBAAQ,CAAC,CAAA;AAEjD,mBAAW,CAAC,GAAG,CAAC,UAAU,EAAE,YAAM,CAAC,CAAC"}
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -9,23 +13,23 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
- Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.__esModule = true;
13
17
  exports.requireAuthentication = exports.getAPIKeyAuthHeader = exports.authExpress = exports.removeUserSessionsCacheByUserId = exports.getSessionByUserIdSync = exports.getSessionByUserId = exports.setRequestUser = exports.auth = exports.getSession = void 0;
14
18
  var session_1 = require("./session");
15
- Object.defineProperty(exports, "getSession", { enumerable: true, get: function () { return session_1.getSession; } });
16
- Object.defineProperty(exports, "auth", { enumerable: true, get: function () { return session_1.auth; } });
17
- Object.defineProperty(exports, "setRequestUser", { enumerable: true, get: function () { return session_1.setRequestUser; } });
18
- Object.defineProperty(exports, "getSessionByUserId", { enumerable: true, get: function () { return session_1.getSessionByUserId; } });
19
- Object.defineProperty(exports, "getSessionByUserIdSync", { enumerable: true, get: function () { return session_1.getSessionByUserIdSync; } });
20
- Object.defineProperty(exports, "removeUserSessionsCacheByUserId", { enumerable: true, get: function () { return session_1.removeUserSessionsCacheByUserId; } });
19
+ __createBinding(exports, session_1, "getSession");
20
+ __createBinding(exports, session_1, "auth");
21
+ __createBinding(exports, session_1, "setRequestUser");
22
+ __createBinding(exports, session_1, "getSessionByUserId");
23
+ __createBinding(exports, session_1, "getSessionByUserIdSync");
24
+ __createBinding(exports, session_1, "removeUserSessionsCacheByUserId");
21
25
  __exportStar(require("./utils"), exports);
22
26
  __exportStar(require("./tokenMap"), exports);
23
27
  __exportStar(require("./userSession"), exports);
24
28
  __exportStar(require("./spaceUserSession"), exports);
25
29
  var express_middleware_1 = require("./express-middleware");
26
- Object.defineProperty(exports, "authExpress", { enumerable: true, get: function () { return express_middleware_1.authExpress; } });
30
+ __createBinding(exports, express_middleware_1, "authExpress");
27
31
  var apikey_1 = require("./apikey");
28
- Object.defineProperty(exports, "getAPIKeyAuthHeader", { enumerable: true, get: function () { return apikey_1.getAPIKeyAuthHeader; } });
32
+ __createBinding(exports, apikey_1, "getAPIKeyAuthHeader");
29
33
  var auth_middleware_1 = require("./auth-middleware");
30
- Object.defineProperty(exports, "requireAuthentication", { enumerable: true, get: function () { return auth_middleware_1.requireAuthentication; } });
34
+ __createBinding(exports, auth_middleware_1, "requireAuthentication");
31
35
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAA0I;AAAjI,qGAAA,UAAU,OAAA;AAAE,+FAAA,IAAI,OAAA;AAAE,yGAAA,cAAc,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,iHAAA,sBAAsB,OAAA;AAAE,0HAAA,+BAA+B,OAAA;AACtH,0CAAwB;AACxB,6CAA2B;AAC3B,gDAA8B;AAC9B,qDAAmC;AACnC,2DAAmD;AAA1C,iHAAA,WAAW,OAAA;AACpB,mCAA+C;AAAtC,6GAAA,mBAAmB,OAAA;AAC5B,qDAA0D;AAAjD,wHAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAA0I;AAAjI,kDAAU;AAAE,4CAAI;AAAE,sDAAc;AAAE,0DAAkB;AAAE,8DAAsB;AAAE,uEAA+B;AACtH,0CAAwB;AACxB,6CAA2B;AAC3B,gDAA8B;AAC9B,qDAAmC;AACnC,2DAAmD;AAA1C,8DAAW;AACpB,mCAA+C;AAAtC,0DAAmB;AAC5B,qDAA0D;AAAjD,qEAAqB"}
package/lib/session.js CHANGED
@@ -1,15 +1,51 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeUserSessionsCacheByUserId = exports.setRequestUser = exports.auth = exports.getLoginDevice = exports.getUserAgent = exports.getSession = exports.getSessionByUserIdSync = exports.getSessionByUserId = void 0;
4
- const objectql_1 = require("@steedos/objectql");
5
- const tokenMap_1 = require("./tokenMap");
6
- const userSession_1 = require("./userSession");
7
- const spaceUserSession_1 = require("./spaceUserSession");
8
- const apikey_1 = require("./apikey");
9
- const ismobilejs_1 = require("ismobilejs");
10
- const Cookies = require("cookies");
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.isPropValueChanged = exports.removeUserSessionsCacheByUserId = exports.setRequestUser = exports.auth = exports.getLoginDevice = exports.getUserAgent = exports.getSession = exports.getSessionByUserIdSync = exports.getSessionByUserId = void 0;
40
+ var objectql_1 = require("@steedos/objectql");
41
+ var tokenMap_1 = require("./tokenMap");
42
+ var userSession_1 = require("./userSession");
43
+ var spaceUserSession_1 = require("./spaceUserSession");
44
+ var apikey_1 = require("./apikey");
45
+ var ismobilejs_1 = require("ismobilejs");
46
+ var Cookies = require("cookies");
11
47
  function assignSession(spaceId, userSession, spaceSession) {
12
- let result = Object.assign({ spaceId: spaceId }, userSession, spaceSession);
48
+ var result = Object.assign({ spaceId: spaceId }, userSession, spaceSession);
13
49
  return reviseSession(result);
14
50
  }
15
51
  function reviseSession(session) {
@@ -19,56 +55,84 @@ function reviseSession(session) {
19
55
  }
20
56
  return session;
21
57
  }
22
- async function getSessionByUserId(userId, spaceId) {
23
- if (!userId) {
24
- return;
25
- }
26
- let userSession = await (0, userSession_1.getUserSession)(userId);
27
- if (!userSession) {
28
- return;
29
- }
30
- let spaceUserSession = {};
31
- if (spaceId) {
32
- spaceUserSession = await (0, spaceUserSession_1.getSpaceUserSession)(spaceId, userId);
33
- }
34
- return assignSession(spaceId, userSession, spaceUserSession);
58
+ function getSessionByUserId(userId, spaceId) {
59
+ return __awaiter(this, void 0, void 0, function () {
60
+ var userSession, spaceUserSession;
61
+ return __generator(this, function (_a) {
62
+ switch (_a.label) {
63
+ case 0:
64
+ if (!userId) {
65
+ return [2 /*return*/];
66
+ }
67
+ return [4 /*yield*/, (0, userSession_1.getUserSession)(userId)];
68
+ case 1:
69
+ userSession = _a.sent();
70
+ if (!userSession) {
71
+ return [2 /*return*/];
72
+ }
73
+ spaceUserSession = {};
74
+ if (!spaceId) return [3 /*break*/, 3];
75
+ return [4 /*yield*/, (0, spaceUserSession_1.getSpaceUserSession)(spaceId, userId)];
76
+ case 2:
77
+ spaceUserSession = _a.sent();
78
+ _a.label = 3;
79
+ case 3: return [2 /*return*/, assignSession(spaceId, userSession, spaceUserSession)];
80
+ }
81
+ });
82
+ });
35
83
  }
36
84
  exports.getSessionByUserId = getSessionByUserId;
37
85
  function getSessionByUserIdSync(userId, spaceId) {
38
- let getSessionFn = function () {
86
+ var getSessionFn = function () {
39
87
  return getSessionByUserId(userId, spaceId);
40
88
  };
41
89
  return (0, objectql_1.wrapAsync)(getSessionFn, {});
42
90
  }
43
91
  exports.getSessionByUserIdSync = getSessionByUserIdSync;
44
- async function getSession(token, spaceId, clientInfos) {
45
- if (!token) {
46
- return;
47
- }
48
- let userId = null;
49
- if ((0, apikey_1.isAPIKey)(token)) {
50
- const apiKeyInfo = await (0, apikey_1.verifyAPIKey)(token);
51
- if (apiKeyInfo) {
52
- userId = apiKeyInfo.userId;
53
- spaceId = apiKeyInfo.spaceId;
54
- }
55
- }
56
- else {
57
- userId = await (0, tokenMap_1.getUserIdByToken)(token, clientInfos);
58
- }
59
- if (!userId) {
60
- return;
61
- }
62
- let userSession = await (0, userSession_1.getUserSession)(userId);
63
- if (!userSession) {
64
- return;
65
- }
66
- let spaceUserSession = await (0, spaceUserSession_1.getSpaceUserSession)(spaceId, userId);
67
- return assignSession(spaceId, userSession, spaceUserSession);
92
+ function getSession(token, spaceId, clientInfos) {
93
+ return __awaiter(this, void 0, void 0, function () {
94
+ var userId, apiKeyInfo, userSession, spaceUserSession;
95
+ return __generator(this, function (_a) {
96
+ switch (_a.label) {
97
+ case 0:
98
+ if (!token) {
99
+ return [2 /*return*/];
100
+ }
101
+ userId = null;
102
+ if (!(0, apikey_1.isAPIKey)(token)) return [3 /*break*/, 2];
103
+ return [4 /*yield*/, (0, apikey_1.verifyAPIKey)(token)];
104
+ case 1:
105
+ apiKeyInfo = _a.sent();
106
+ if (apiKeyInfo) {
107
+ userId = apiKeyInfo.userId;
108
+ spaceId = apiKeyInfo.spaceId;
109
+ }
110
+ return [3 /*break*/, 4];
111
+ case 2: return [4 /*yield*/, (0, tokenMap_1.getUserIdByToken)(token, clientInfos)];
112
+ case 3:
113
+ userId = _a.sent();
114
+ _a.label = 4;
115
+ case 4:
116
+ if (!userId) {
117
+ return [2 /*return*/];
118
+ }
119
+ return [4 /*yield*/, (0, userSession_1.getUserSession)(userId)];
120
+ case 5:
121
+ userSession = _a.sent();
122
+ if (!userSession) {
123
+ return [2 /*return*/];
124
+ }
125
+ return [4 /*yield*/, (0, spaceUserSession_1.getSpaceUserSession)(spaceId, userId)];
126
+ case 6:
127
+ spaceUserSession = _a.sent();
128
+ return [2 /*return*/, assignSession(spaceId, userSession, spaceUserSession)];
129
+ }
130
+ });
131
+ });
68
132
  }
69
133
  exports.getSession = getSession;
70
134
  function getUserAgent(req) {
71
- let userAgent = req.headers["user-agent"] || "";
135
+ var userAgent = req.headers["user-agent"] || "";
72
136
  if (req.headers["x-ucbrowser-ua"]) {
73
137
  // special case of UC Browser
74
138
  userAgent = req.headers["x-ucbrowser-ua"];
@@ -77,74 +141,111 @@ function getUserAgent(req) {
77
141
  }
78
142
  exports.getUserAgent = getUserAgent;
79
143
  function getLoginDevice(userAgent) {
80
- let is_phone = false;
81
- let is_tablet = false;
144
+ var is_phone = false;
145
+ var is_tablet = false;
82
146
  if (userAgent) {
83
147
  try {
84
- const { phone, tablet } = (0, ismobilejs_1.default)(userAgent);
148
+ var _a = (0, ismobilejs_1["default"])(userAgent), phone = _a.phone, tablet = _a.tablet;
85
149
  is_phone = phone;
86
150
  is_tablet = tablet;
87
151
  }
88
152
  catch (Exception) {
89
- console.log(`Exception`, Exception);
153
+ console.log("Exception", Exception);
90
154
  }
91
155
  }
92
- return { is_phone, is_tablet };
156
+ return { is_phone: is_phone, is_tablet: is_tablet };
93
157
  }
94
158
  exports.getLoginDevice = getLoginDevice;
95
159
  // 解析Request对象,返回SteedosUserSession类型
96
- async function auth(request, response) {
97
- let cookies = new Cookies(request, response);
98
- let authToken = request.headers["x-auth-token"] || (cookies.get("X-Auth-Token") || "").replace(/"/g, "");
99
- let spaceToken = (cookies.get("X-Space-Token") || "").replace(/"/g, "");
100
- let authorization = request.headers.authorization;
101
- let spaceId = (request.params ? request.params.spaceId : null) ||
102
- (request.query ? request.query.space_id : null) ||
103
- request.headers["x-space-id"];
104
- if (authorization && authorization.split(" ")[0] == "Bearer") {
105
- let spaceAuthToken = authorization.split(" ")[1];
106
- if ((0, apikey_1.isAPIKey)(spaceAuthToken)) {
107
- authToken = spaceAuthToken;
108
- }
109
- else {
110
- if (!spaceId) {
111
- spaceId = spaceAuthToken.split(",")[0];
160
+ function auth(request, response) {
161
+ return __awaiter(this, void 0, void 0, function () {
162
+ var cookies, authToken, spaceToken, authorization, spaceId, spaceAuthToken, userAgent, loginDevice, user;
163
+ return __generator(this, function (_a) {
164
+ switch (_a.label) {
165
+ case 0:
166
+ cookies = new Cookies(request, response);
167
+ authToken = request.headers["x-auth-token"] || (cookies.get("X-Auth-Token") || "").replace(/"/g, "");
168
+ spaceToken = (cookies.get("X-Space-Token") || "").replace(/"/g, "");
169
+ authorization = request.headers.authorization;
170
+ spaceId = (request.params ? request.params.spaceId : null) ||
171
+ (request.query ? request.query.space_id : null) ||
172
+ request.headers["x-space-id"];
173
+ if (authorization && authorization.split(" ")[0] == "Bearer") {
174
+ spaceAuthToken = authorization.split(" ")[1];
175
+ if ((0, apikey_1.isAPIKey)(spaceAuthToken)) {
176
+ authToken = spaceAuthToken;
177
+ }
178
+ else {
179
+ if (!spaceId) {
180
+ spaceId = spaceAuthToken.split(",")[0];
181
+ }
182
+ authToken = spaceAuthToken.split(",")[1];
183
+ }
184
+ }
185
+ if (spaceToken) {
186
+ if (!spaceId) {
187
+ spaceId = spaceToken.split(",")[0];
188
+ }
189
+ if (!authToken) {
190
+ authToken = spaceToken.split(",")[1];
191
+ }
192
+ }
193
+ userAgent = getUserAgent(request) || "";
194
+ loginDevice = getLoginDevice(userAgent);
195
+ return [4 /*yield*/, getSession(authToken, spaceId, loginDevice)];
196
+ case 1:
197
+ user = _a.sent();
198
+ if ((0, objectql_1.isTemplateSpace)(spaceId)) {
199
+ return [2 /*return*/, Object.assign({ authToken: authToken }, user, loginDevice, {
200
+ spaceId: spaceId
201
+ })];
202
+ }
203
+ else {
204
+ return [2 /*return*/, Object.assign({ authToken: authToken }, user, loginDevice)];
205
+ }
206
+ return [2 /*return*/];
112
207
  }
113
- authToken = spaceAuthToken.split(",")[1];
114
- }
115
- }
116
- if (spaceToken) {
117
- if (!spaceId) {
118
- spaceId = spaceToken.split(",")[0];
119
- }
120
- if (!authToken) {
121
- authToken = spaceToken.split(",")[1];
122
- }
123
- }
124
- let userAgent = getUserAgent(request) || "";
125
- const loginDevice = getLoginDevice(userAgent);
126
- let user = await getSession(authToken, spaceId, loginDevice);
127
- if ((0, objectql_1.isTemplateSpace)(spaceId)) {
128
- return Object.assign({ authToken: authToken }, user, loginDevice, {
129
- spaceId: spaceId,
130
208
  });
131
- }
132
- else {
133
- return Object.assign({ authToken: authToken }, user, loginDevice);
134
- }
209
+ });
135
210
  }
136
211
  exports.auth = auth;
137
212
  // 给Request对象添加user属性,值为SteedosUserSession类型
138
- async function setRequestUser(request, response, next) {
139
- let user = await auth(request, response);
140
- if (user.userId) {
141
- request.user = user;
142
- }
143
- next();
213
+ function setRequestUser(request, response, next) {
214
+ return __awaiter(this, void 0, void 0, function () {
215
+ var user;
216
+ return __generator(this, function (_a) {
217
+ switch (_a.label) {
218
+ case 0: return [4 /*yield*/, auth(request, response)];
219
+ case 1:
220
+ user = _a.sent();
221
+ if (user.userId) {
222
+ request.user = user;
223
+ }
224
+ next();
225
+ return [2 /*return*/];
226
+ }
227
+ });
228
+ });
144
229
  }
145
230
  exports.setRequestUser = setRequestUser;
146
231
  function removeUserSessionsCacheByUserId(userId, is_phone) {
147
232
  return (0, tokenMap_1.removeUserTokens)(userId, is_phone);
148
233
  }
149
234
  exports.removeUserSessionsCacheByUserId = removeUserSessionsCacheByUserId;
235
+ /**
236
+ * 判断属性值是否已变更,转字符串比对
237
+ * @param newDoc
238
+ * @param oldDoc
239
+ * @returns true/false
240
+ */
241
+ function isPropValueChanged(newDoc, oldDoc, props) {
242
+ for (var _i = 0, props_1 = props; _i < props_1.length; _i++) {
243
+ var key = props_1[_i];
244
+ if ((newDoc[key] + '') !== (oldDoc[key] + '')) {
245
+ return true;
246
+ }
247
+ }
248
+ return false;
249
+ }
250
+ exports.isPropValueChanged = isPropValueChanged;
150
251
  //# sourceMappingURL=session.js.map