@builder6/oidc 0.16.3-alpha.9 → 0.16.4

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.
@@ -86,6 +86,7 @@ let OidcController = class OidcController {
86
86
  delete req.session[`oidc_${providerId}_code_verifier`];
87
87
  delete req.session[`oidc_${providerId}_nonce`];
88
88
  delete req.session[`oidc_${providerId}_returnTo`];
89
+ await this.oidcService.recordLoginSession(user, space, auth_token, req);
89
90
  return res.redirect(returnTo);
90
91
  }
91
92
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"oidc.controller.js","sourceRoot":"","sources":["../../src/oidc/oidc.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oidc.controller.js","sourceRoot":"","sources":["../../src/oidc/oidc.controller.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ let OidcModule = class OidcModule {
16
16
  exports.OidcModule = OidcModule;
17
17
  exports.OidcModule = OidcModule = __decorate([
18
18
  (0, common_1.Module)({
19
- imports: [core_1.AuthModule],
19
+ imports: [core_1.AuthModule, core_1.MongodbModule],
20
20
  providers: [oidc_service_1.OidcService],
21
21
  controllers: [oidc_controller_1.OidcController],
22
22
  })
@@ -1 +1 @@
1
- {"version":3,"file":"oidc.module.js","sourceRoot":"","sources":["../../src/oidc/oidc.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yCAA4C;AAC5C,iDAA6C;AAC7C,uDAAmD;AAO5C,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IALtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,iBAAU,CAAC;QACrB,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,WAAW,EAAE,CAAC,gCAAc,CAAC;KAC9B,CAAC;GACW,UAAU,CAAG"}
1
+ {"version":3,"file":"oidc.module.js","sourceRoot":"","sources":["../../src/oidc/oidc.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yCAA2D;AAC3D,iDAA6C;AAC7C,uDAAmD;AAO5C,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IALtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,iBAAU,EAAE,oBAAa,CAAC;QACpC,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,WAAW,EAAE,CAAC,gCAAc,CAAC;KAC9B,CAAC;GACW,UAAU,CAAG"}
@@ -1,7 +1,9 @@
1
1
  import { ConfigService } from '@nestjs/config';
2
+ import { MongodbService } from '@builder6/core';
2
3
  export declare class OidcService {
3
4
  private configService;
4
- constructor(configService: ConfigService);
5
+ private mongodbService;
6
+ constructor(configService: ConfigService, mongodbService: MongodbService);
5
7
  getProviderFromDB(providerId: string): Promise<{
6
8
  issuer: any;
7
9
  config_url: any;
@@ -15,4 +17,7 @@ export declare class OidcService {
15
17
  code_verifier: string;
16
18
  code_challenge: string;
17
19
  }>;
20
+ recordLoginSession(userId: any, spaceId: any, auth_token: any, req: any): Promise<void>;
21
+ getUserAgent(req: any): string;
22
+ getUserProfile(userId: any, spaceId: any): Promise<any>;
18
23
  }
@@ -8,14 +8,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.OidcService = void 0;
13
16
  const common_1 = require("@nestjs/common");
14
17
  const config_1 = require("@nestjs/config");
15
18
  const openid_client_1 = require("openid-client");
19
+ const core_1 = require("@builder6/core");
20
+ const ismobilejs_1 = __importDefault(require("ismobilejs"));
21
+ const lodash_1 = __importDefault(require("lodash"));
16
22
  let OidcService = class OidcService {
17
- constructor(configService) {
23
+ constructor(configService, mongodbService) {
18
24
  this.configService = configService;
25
+ this.mongodbService = mongodbService;
19
26
  }
20
27
  async getProviderFromDB(providerId) {
21
28
  const code_challenge_method = 'S256';
@@ -37,10 +44,139 @@ let OidcService = class OidcService {
37
44
  code_challenge,
38
45
  };
39
46
  }
47
+ async recordLoginSession(userId, spaceId, auth_token, req) {
48
+ const userAgent = this.getUserAgent(req) || '';
49
+ const ip = req.ip;
50
+ let is_phone = false;
51
+ let is_tablet = false;
52
+ if (userAgent) {
53
+ try {
54
+ const { phone, tablet } = (0, ismobilejs_1.default)(userAgent);
55
+ is_phone = phone;
56
+ is_tablet = tablet;
57
+ }
58
+ catch (Exception) {
59
+ console.log(`Exception`, Exception);
60
+ }
61
+ }
62
+ let login_expiration_in_days = null;
63
+ let phone_login_expiration_in_days = null;
64
+ const userProfile = await this.getUserProfile(userId, spaceId);
65
+ if (userProfile) {
66
+ login_expiration_in_days = userProfile.login_expiration_in_days;
67
+ phone_login_expiration_in_days =
68
+ userProfile.phone_login_expiration_in_days;
69
+ }
70
+ const now = new Date();
71
+ await this.mongodbService.insertOne('sessions', {
72
+ userId,
73
+ token: auth_token,
74
+ ip,
75
+ userAgent,
76
+ login_expiration_in_days,
77
+ phone_login_expiration_in_days,
78
+ is_phone,
79
+ is_tablet,
80
+ space: spaceId,
81
+ valid: true,
82
+ created: now,
83
+ modified: now,
84
+ });
85
+ await this.mongodbService.insertOne('operation_logs', {
86
+ name: '登录',
87
+ type: 'login',
88
+ remote_user: userId,
89
+ remote_addr: ip,
90
+ http_user_agent: userAgent,
91
+ is_mobile: is_phone,
92
+ is_tablet,
93
+ object: 'users',
94
+ status: 'success',
95
+ create: new Date(),
96
+ space: spaceId,
97
+ message: '',
98
+ data: JSON.stringify({}),
99
+ related_to: {
100
+ o: 'users',
101
+ ids: [userId],
102
+ },
103
+ created: now,
104
+ modified: now,
105
+ });
106
+ }
107
+ getUserAgent(req) {
108
+ let userAgent = req.headers['user-agent'] || '';
109
+ if (req.headers['x-ucbrowser-ua']) {
110
+ userAgent = req.headers['x-ucbrowser-ua'];
111
+ }
112
+ return userAgent;
113
+ }
114
+ async getUserProfile(userId, spaceId) {
115
+ let password_history = 3;
116
+ let max_login_attempts = 10;
117
+ let lockout_interval = 15;
118
+ let enable_MFA = false;
119
+ let logout_other_clients = false;
120
+ let login_expiration_in_days = null;
121
+ let phone_logout_other_clients = false;
122
+ let phone_login_expiration_in_days = null;
123
+ const spaceUsers = await this.mongodbService.find('space_users', {
124
+ user: userId,
125
+ space: spaceId,
126
+ });
127
+ if (spaceUsers.length > 0) {
128
+ const spaceUser = spaceUsers[0];
129
+ const profiles = await this.mongodbService.find('permission_set', {
130
+ name: spaceUser.profile,
131
+ type: 'profile',
132
+ space: spaceId,
133
+ });
134
+ if (profiles.length > 0) {
135
+ const userProfile = profiles[0];
136
+ if (lodash_1.default.has(userProfile, 'password_history')) {
137
+ password_history = Number(userProfile.password_history);
138
+ }
139
+ if (lodash_1.default.has(userProfile, 'max_login_attempts')) {
140
+ max_login_attempts = Number(userProfile.max_login_attempts);
141
+ }
142
+ if (lodash_1.default.has(userProfile, 'lockout_interval')) {
143
+ lockout_interval = Number(userProfile.lockout_interval);
144
+ }
145
+ if (lodash_1.default.has(userProfile, 'enable_MFA')) {
146
+ enable_MFA = userProfile.enable_MFA;
147
+ }
148
+ if (lodash_1.default.has(userProfile, 'logout_other_clients')) {
149
+ logout_other_clients = userProfile.logout_other_clients;
150
+ }
151
+ if (lodash_1.default.has(userProfile, 'login_expiration_in_days')) {
152
+ login_expiration_in_days = userProfile.login_expiration_in_days;
153
+ }
154
+ if (lodash_1.default.has(userProfile, 'phone_logout_other_clients')) {
155
+ phone_logout_other_clients = userProfile.phone_logout_other_clients;
156
+ }
157
+ if (lodash_1.default.has(userProfile, 'phone_login_expiration_in_days')) {
158
+ phone_login_expiration_in_days =
159
+ userProfile.phone_login_expiration_in_days;
160
+ }
161
+ }
162
+ }
163
+ return Object.assign({
164
+ space: spaceId,
165
+ password_history: password_history,
166
+ max_login_attempts: max_login_attempts,
167
+ lockout_interval: lockout_interval,
168
+ logout_other_clients,
169
+ enable_MFA,
170
+ login_expiration_in_days,
171
+ phone_logout_other_clients,
172
+ phone_login_expiration_in_days,
173
+ });
174
+ }
40
175
  };
41
176
  exports.OidcService = OidcService;
42
177
  exports.OidcService = OidcService = __decorate([
43
178
  (0, common_1.Injectable)(),
44
- __metadata("design:paramtypes", [config_1.ConfigService])
179
+ __metadata("design:paramtypes", [config_1.ConfigService,
180
+ core_1.MongodbService])
45
181
  ], OidcService);
46
182
  //# sourceMappingURL=oidc.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"oidc.service.js","sourceRoot":"","sources":["../../src/oidc/oidc.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAA+C;AAC/C,iDAA2C;AAGpC,IAAM,WAAW,GAAjB,MAAM,WAAW;IACtB,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IACpD,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QACxC,MAAM,qBAAqB,GAAG,MAAM,CAAC;QACrC,MAAM,aAAa,GAAG,0BAAU,CAAC,YAAY,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,0BAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,0BAAU,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,0BAAU,CAAC,MAAM,EAAE,CAAC;QAGlC,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC;YAC7C,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC;YACrD,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACnD,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC;YAC3D,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,UAAU,iBAAiB;YAC1F,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,sBAAsB;YACrE,KAAK;YACL,KAAK;YACL,qBAAqB;YACrB,aAAa;YACb,cAAc;SACf,CAAC;IACJ,CAAC;CACF,CAAA;AAxBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAEwB,sBAAa;GADrC,WAAW,CAwBvB"}
1
+ {"version":3,"file":"oidc.service.js","sourceRoot":"","sources":["../../src/oidc/oidc.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder6/oidc",
3
- "version": "0.16.3-alpha.9",
3
+ "version": "0.16.4",
4
4
  "main": "dist/index.js",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -12,13 +12,14 @@
12
12
  "build:watch": "rimraf dist && tsc --watch"
13
13
  },
14
14
  "dependencies": {
15
- "@builder6/core": "0.16.3-alpha.9",
15
+ "@builder6/core": "0.16.4",
16
16
  "ejs": "^3.1.10",
17
+ "ismobilejs": "^1.1.1",
17
18
  "lodash": "^4.17.5",
18
19
  "openid-client": "^5.7.1"
19
20
  },
20
21
  "publishConfig": {
21
22
  "access": "public"
22
23
  },
23
- "gitHead": "a1ed81edc6b288594578487aed10899e9a3eaf20"
24
+ "gitHead": "9ebc74f72ab3139786046af17e11df8bb5b58a67"
24
25
  }