@builder6/oidc 0.16.3-alpha.9 → 0.16.5

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,22 @@ 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"));
22
+ const request_ip_1 = __importDefault(require("request-ip"));
16
23
  let OidcService = class OidcService {
17
- constructor(configService) {
24
+ constructor(configService, mongodbService) {
18
25
  this.configService = configService;
26
+ this.mongodbService = mongodbService;
19
27
  }
20
28
  async getProviderFromDB(providerId) {
21
29
  const code_challenge_method = 'S256';
@@ -37,10 +45,142 @@ let OidcService = class OidcService {
37
45
  code_challenge,
38
46
  };
39
47
  }
48
+ async recordLoginSession(userId, spaceId, auth_token, req) {
49
+ const userAgent = this.getUserAgent(req) || '';
50
+ let ip = request_ip_1.default.getClientIp(req);
51
+ if (ip.indexOf('::ffff:') === 0) {
52
+ ip = ip.substring(7);
53
+ }
54
+ let is_phone = false;
55
+ let is_tablet = false;
56
+ if (userAgent) {
57
+ try {
58
+ const { phone, tablet } = (0, ismobilejs_1.default)(userAgent);
59
+ is_phone = phone;
60
+ is_tablet = tablet;
61
+ }
62
+ catch (Exception) {
63
+ console.log(`Exception`, Exception);
64
+ }
65
+ }
66
+ let login_expiration_in_days = null;
67
+ let phone_login_expiration_in_days = null;
68
+ const userProfile = await this.getUserProfile(userId, spaceId);
69
+ if (userProfile) {
70
+ login_expiration_in_days = userProfile.login_expiration_in_days;
71
+ phone_login_expiration_in_days =
72
+ userProfile.phone_login_expiration_in_days;
73
+ }
74
+ const now = new Date();
75
+ await this.mongodbService.insertOne('sessions', {
76
+ userId,
77
+ token: auth_token,
78
+ ip,
79
+ userAgent,
80
+ login_expiration_in_days,
81
+ phone_login_expiration_in_days,
82
+ is_phone,
83
+ is_tablet,
84
+ space: spaceId,
85
+ valid: true,
86
+ created: now,
87
+ modified: now,
88
+ });
89
+ await this.mongodbService.insertOne('operation_logs', {
90
+ name: '登录',
91
+ type: 'login',
92
+ remote_user: userId,
93
+ remote_addr: ip,
94
+ http_user_agent: userAgent,
95
+ is_mobile: is_phone,
96
+ is_tablet,
97
+ object: 'users',
98
+ status: 'success',
99
+ create: new Date(),
100
+ space: spaceId,
101
+ message: '',
102
+ data: JSON.stringify({}),
103
+ related_to: {
104
+ o: 'users',
105
+ ids: [userId],
106
+ },
107
+ created: now,
108
+ modified: now,
109
+ });
110
+ }
111
+ getUserAgent(req) {
112
+ let userAgent = req.headers['user-agent'] || '';
113
+ if (req.headers['x-ucbrowser-ua']) {
114
+ userAgent = req.headers['x-ucbrowser-ua'];
115
+ }
116
+ return userAgent;
117
+ }
118
+ async getUserProfile(userId, spaceId) {
119
+ let password_history = 3;
120
+ let max_login_attempts = 10;
121
+ let lockout_interval = 15;
122
+ let enable_MFA = false;
123
+ let logout_other_clients = false;
124
+ let login_expiration_in_days = null;
125
+ let phone_logout_other_clients = false;
126
+ let phone_login_expiration_in_days = null;
127
+ const spaceUsers = await this.mongodbService.find('space_users', {
128
+ user: userId,
129
+ space: spaceId,
130
+ });
131
+ if (spaceUsers.length > 0) {
132
+ const spaceUser = spaceUsers[0];
133
+ const profiles = await this.mongodbService.find('permission_set', {
134
+ name: spaceUser.profile,
135
+ type: 'profile',
136
+ space: spaceId,
137
+ });
138
+ if (profiles.length > 0) {
139
+ const userProfile = profiles[0];
140
+ if (lodash_1.default.has(userProfile, 'password_history')) {
141
+ password_history = Number(userProfile.password_history);
142
+ }
143
+ if (lodash_1.default.has(userProfile, 'max_login_attempts')) {
144
+ max_login_attempts = Number(userProfile.max_login_attempts);
145
+ }
146
+ if (lodash_1.default.has(userProfile, 'lockout_interval')) {
147
+ lockout_interval = Number(userProfile.lockout_interval);
148
+ }
149
+ if (lodash_1.default.has(userProfile, 'enable_MFA')) {
150
+ enable_MFA = userProfile.enable_MFA;
151
+ }
152
+ if (lodash_1.default.has(userProfile, 'logout_other_clients')) {
153
+ logout_other_clients = userProfile.logout_other_clients;
154
+ }
155
+ if (lodash_1.default.has(userProfile, 'login_expiration_in_days')) {
156
+ login_expiration_in_days = userProfile.login_expiration_in_days;
157
+ }
158
+ if (lodash_1.default.has(userProfile, 'phone_logout_other_clients')) {
159
+ phone_logout_other_clients = userProfile.phone_logout_other_clients;
160
+ }
161
+ if (lodash_1.default.has(userProfile, 'phone_login_expiration_in_days')) {
162
+ phone_login_expiration_in_days =
163
+ userProfile.phone_login_expiration_in_days;
164
+ }
165
+ }
166
+ }
167
+ return Object.assign({
168
+ space: spaceId,
169
+ password_history: password_history,
170
+ max_login_attempts: max_login_attempts,
171
+ lockout_interval: lockout_interval,
172
+ logout_other_clients,
173
+ enable_MFA,
174
+ login_expiration_in_days,
175
+ phone_logout_other_clients,
176
+ phone_login_expiration_in_days,
177
+ });
178
+ }
40
179
  };
41
180
  exports.OidcService = OidcService;
42
181
  exports.OidcService = OidcService = __decorate([
43
182
  (0, common_1.Injectable)(),
44
- __metadata("design:paramtypes", [config_1.ConfigService])
183
+ __metadata("design:paramtypes", [config_1.ConfigService,
184
+ core_1.MongodbService])
45
185
  ], OidcService);
46
186
  //# 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.5",
4
4
  "main": "dist/index.js",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -12,13 +12,18 @@
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.5",
16
16
  "ejs": "^3.1.10",
17
+ "ismobilejs": "^1.1.1",
17
18
  "lodash": "^4.17.5",
18
- "openid-client": "^5.7.1"
19
+ "openid-client": "^5.7.1",
20
+ "request-ip": "^3.3.0"
19
21
  },
20
22
  "publishConfig": {
21
23
  "access": "public"
22
24
  },
23
- "gitHead": "a1ed81edc6b288594578487aed10899e9a3eaf20"
25
+ "gitHead": "e0bb2101ccec989a876c7fa69e34ba067e18c282",
26
+ "devDependencies": {
27
+ "@types/request-ip": "^0.0.41"
28
+ }
24
29
  }