@boxyhq/saml-jackson 1.21.2 → 1.21.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. package/dist/controller/oauth.js +38 -20
  2. package/dist/controller/oauth.js.map +1 -1
  3. package/dist/cron/lock.d.ts +18 -0
  4. package/dist/{directory-sync/batch-events → cron}/lock.js +40 -21
  5. package/dist/cron/lock.js.map +1 -0
  6. package/dist/directory-sync/batch-events/queue.d.ts +5 -2
  7. package/dist/directory-sync/batch-events/queue.js +47 -26
  8. package/dist/directory-sync/batch-events/queue.js.map +1 -1
  9. package/dist/directory-sync/index.d.ts +2 -3
  10. package/dist/directory-sync/index.js +30 -18
  11. package/dist/directory-sync/index.js.map +1 -1
  12. package/dist/directory-sync/non-scim/index.d.ts +16 -2
  13. package/dist/directory-sync/non-scim/index.js +70 -32
  14. package/dist/directory-sync/non-scim/index.js.map +1 -1
  15. package/dist/directory-sync/request.d.ts +8 -1
  16. package/dist/directory-sync/request.js +4 -3
  17. package/dist/directory-sync/request.js.map +1 -1
  18. package/dist/directory-sync/scim/Groups.js +15 -20
  19. package/dist/directory-sync/scim/Groups.js.map +1 -1
  20. package/dist/directory-sync/scim/Users.js +9 -13
  21. package/dist/directory-sync/scim/Users.js.map +1 -1
  22. package/dist/directory-sync/scim/WebhookEventsLogger.js +8 -8
  23. package/dist/directory-sync/scim/WebhookEventsLogger.js.map +1 -1
  24. package/dist/directory-sync/scim/utils.d.ts +6 -0
  25. package/dist/directory-sync/scim/utils.js +7 -1
  26. package/dist/directory-sync/scim/utils.js.map +1 -1
  27. package/dist/directory-sync/types.d.ts +2 -2
  28. package/dist/directory-sync/utils.d.ts +4 -2
  29. package/dist/directory-sync/utils.js +5 -3
  30. package/dist/directory-sync/utils.js.map +1 -1
  31. package/dist/sso-tracer/types.d.ts +3 -2
  32. package/dist/typings.d.ts +4 -0
  33. package/package.json +5 -5
  34. package/dist/directory-sync/batch-events/lock.d.ts +0 -18
  35. package/dist/directory-sync/batch-events/lock.js.map +0 -1
@@ -77,6 +77,7 @@ class OAuthController {
77
77
  let requestedProduct;
78
78
  let requestedScopes;
79
79
  let requestedOIDCFlow;
80
+ let isOIDCFederated;
80
81
  let connection;
81
82
  let fedApp;
82
83
  try {
@@ -148,6 +149,7 @@ class OAuthController {
148
149
  // client_id is not encoded, so we look for the connection using the client_id
149
150
  // First we check if it's a federated connection
150
151
  if (client_id.startsWith(`${utils_1.clientIDFederatedPrefix}${utils_1.clientIDOIDCPrefix}`)) {
152
+ isOIDCFederated = true;
151
153
  fedApp = yield this.samlFedApp.get({
152
154
  id: client_id.replace(utils_1.clientIDFederatedPrefix, ''),
153
155
  });
@@ -196,6 +198,9 @@ class OAuthController {
196
198
  throw new error_1.JacksonError('Redirect URL is not allowed.', 403);
197
199
  }
198
200
  }
201
+ if (!(0, utils_2.isConnectionActive)(connection)) {
202
+ throw new error_1.JacksonError('SSO connection is deactivated. Please contact your administrator.', 403);
203
+ }
199
204
  }
200
205
  catch (err) {
201
206
  const error_description = (0, utils_2.getErrorMessage)(err);
@@ -207,14 +212,12 @@ class OAuthController {
207
212
  product: requestedProduct || '',
208
213
  clientID: (connection === null || connection === void 0 ? void 0 : connection.clientID) || '',
209
214
  requestedOIDCFlow,
215
+ isOIDCFederated,
210
216
  redirectUri: redirect_uri,
211
217
  },
212
218
  });
213
219
  throw err;
214
220
  }
215
- if (!(0, utils_2.isConnectionActive)(connection)) {
216
- throw new error_1.JacksonError('SSO connection is deactivated. Please contact your administrator.', 403);
217
- }
218
221
  const isMissingJWTKeysForOIDCFlow = requestedOIDCFlow &&
219
222
  (!((_a = this.opts.openid) === null || _a === void 0 ? void 0 : _a.jwtSigningKeys) || !(0, utils_2.isJWSKeyPairLoaded)(this.opts.openid.jwtSigningKeys));
220
223
  const oAuthClientReqError = !state || response_type !== 'code';
@@ -247,6 +250,7 @@ class OAuthController {
247
250
  product: requestedProduct,
248
251
  clientID: connection.clientID,
249
252
  requestedOIDCFlow,
253
+ isOIDCFederated,
250
254
  redirectUri: redirect_uri,
251
255
  },
252
256
  });
@@ -290,6 +294,7 @@ class OAuthController {
290
294
  product: requestedProduct,
291
295
  clientID: connection.clientID,
292
296
  requestedOIDCFlow,
297
+ isOIDCFederated,
293
298
  redirectUri: redirect_uri,
294
299
  },
295
300
  });
@@ -325,6 +330,7 @@ class OAuthController {
325
330
  product: requestedProduct,
326
331
  clientID: connection.clientID,
327
332
  requestedOIDCFlow,
333
+ isOIDCFederated,
328
334
  redirectUri: redirect_uri,
329
335
  },
330
336
  });
@@ -342,18 +348,11 @@ class OAuthController {
342
348
  let oidcCodeVerifier;
343
349
  let oidcNonce;
344
350
  if (connectionIsOIDC) {
345
- if (!this.opts.oidcPath) {
346
- return {
347
- redirect_url: (0, utils_2.OAuthErrorResponse)({
348
- error: 'server_error',
349
- error_description: 'OpenID response handler path (oidcPath) is not set',
350
- redirect_uri,
351
- state,
352
- }),
353
- };
354
- }
355
351
  const { discoveryUrl, metadata, clientId, clientSecret } = connection.oidcProvider;
356
352
  try {
353
+ if (!this.opts.oidcPath) {
354
+ throw new error_1.JacksonError('OpenID response handler path (oidcPath) is not set');
355
+ }
357
356
  const oidcIssuer = yield (0, oidc_issuer_1.oidcIssuerInstance)(discoveryUrl, metadata);
358
357
  const oidcClient = new oidcIssuer.Client({
359
358
  client_id: clientId,
@@ -379,11 +378,24 @@ class OAuthController {
379
378
  });
380
379
  }
381
380
  catch (err) {
381
+ const error_description = (err === null || err === void 0 ? void 0 : err.error) || (0, utils_2.getErrorMessage)(err);
382
+ // Save the error trace
383
+ const traceId = yield this.ssoTracer.saveTrace({
384
+ error: error_description,
385
+ context: {
386
+ tenant: requestedTenant,
387
+ product: requestedProduct,
388
+ clientID: connection.clientID,
389
+ requestedOIDCFlow,
390
+ isOIDCFederated,
391
+ redirectUri: redirect_uri,
392
+ },
393
+ });
382
394
  if (err) {
383
395
  return {
384
396
  redirect_url: (0, utils_2.OAuthErrorResponse)({
385
397
  error: 'server_error',
386
- error_description: (err === null || err === void 0 ? void 0 : err.error) || (0, utils_2.getErrorMessage)(err),
398
+ error_description: traceId ? `${traceId}: ${error_description}` : error_description,
387
399
  redirect_uri,
388
400
  state,
389
401
  }),
@@ -472,6 +484,7 @@ class OAuthController {
472
484
  product: requestedProduct,
473
485
  clientID: connection.clientID,
474
486
  requestedOIDCFlow,
487
+ isOIDCFederated,
475
488
  redirectUri: redirect_uri,
476
489
  samlRequest: (samlReq === null || samlReq === void 0 ? void 0 : samlReq.request) || '',
477
490
  },
@@ -546,6 +559,9 @@ class OAuthController {
546
559
  // Found a connection
547
560
  if ('connection' in response) {
548
561
  connection = response.connection;
562
+ if (!(0, utils_2.isConnectionActive)(connection)) {
563
+ throw new error_1.JacksonError('SSO connection is deactivated. Please contact your administrator.', 403);
564
+ }
549
565
  }
550
566
  }
551
567
  // SP initiated SSO flow
@@ -600,8 +616,9 @@ class OAuthController {
600
616
  providerName: (_e = connection === null || connection === void 0 ? void 0 : connection.idpMetadata) === null || _e === void 0 ? void 0 : _e.provider,
601
617
  redirectUri: isIdPFlow ? connection === null || connection === void 0 ? void 0 : connection.defaultRedirectUrl : session === null || session === void 0 ? void 0 : session.redirect_uri,
602
618
  issuer,
603
- isSAMLFederated: !!isSAMLFederated,
604
- isIdPFlow: !!isIdPFlow,
619
+ isSAMLFederated,
620
+ isOIDCFederated,
621
+ isIdPFlow,
605
622
  requestedOIDCFlow: !!((_f = session === null || session === void 0 ? void 0 : session.requested) === null || _f === void 0 ? void 0 : _f.oidc),
606
623
  acsUrl: (_g = session === null || session === void 0 ? void 0 : session.requested) === null || _g === void 0 ? void 0 : _g.acsUrl,
607
624
  entityId: (_h = session === null || session === void 0 ? void 0 : session.requested) === null || _h === void 0 ? void 0 : _h.entityId,
@@ -642,6 +659,7 @@ class OAuthController {
642
659
  providerName: (_j = connection === null || connection === void 0 ? void 0 : connection.idpMetadata) === null || _j === void 0 ? void 0 : _j.provider,
643
660
  redirectUri: isIdPFlow ? connection === null || connection === void 0 ? void 0 : connection.defaultRedirectUrl : session === null || session === void 0 ? void 0 : session.redirect_uri,
644
661
  isSAMLFederated,
662
+ isOIDCFederated,
645
663
  isIdPFlow,
646
664
  acsUrl: session.requested.acsUrl,
647
665
  entityId: session.requested.entityId,
@@ -720,8 +738,8 @@ class OAuthController {
720
738
  entityId: (_g = session === null || session === void 0 ? void 0 : session.requested) === null || _g === void 0 ? void 0 : _g.entityId,
721
739
  redirectUri: redirect_uri,
722
740
  relayState: RelayState,
723
- isSAMLFederated: !!isSAMLFederated,
724
- isOIDCFederated: !!isOIDCFederated,
741
+ isSAMLFederated,
742
+ isOIDCFederated,
725
743
  requestedOIDCFlow: !!((_h = session === null || session === void 0 ? void 0 : session.requested) === null || _h === void 0 ? void 0 : _h.oidc),
726
744
  },
727
745
  });
@@ -772,8 +790,8 @@ class OAuthController {
772
790
  providerName: oidcConnection.oidcProvider.provider,
773
791
  redirectUri: redirect_uri,
774
792
  relayState: RelayState,
775
- isSAMLFederated: !!isSAMLFederated,
776
- isOIDCFederated: !!isOIDCFederated,
793
+ isSAMLFederated,
794
+ isOIDCFederated,
777
795
  acsUrl: session.requested.acsUrl,
778
796
  entityId: session.requested.entityId,
779
797
  requestedOIDCFlow: !!session.requested.oidc,
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/controller/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/controller/oauth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Storable } from '../typings';
2
+ interface LockParams {
3
+ lockStore: Storable;
4
+ key: string;
5
+ }
6
+ export declare class CronLock {
7
+ private lockStore;
8
+ private key;
9
+ private intervalId;
10
+ constructor({ key, lockStore }: LockParams);
11
+ acquire(): Promise<boolean>;
12
+ private renew;
13
+ private add;
14
+ private get;
15
+ release(): Promise<void>;
16
+ private isExpired;
17
+ }
18
+ export {};
@@ -9,71 +9,90 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.EventLock = void 0;
13
- class EventLock {
14
- constructor({ lockStore }) {
12
+ exports.CronLock = void 0;
13
+ const crypto_1 = require("crypto");
14
+ const utils_1 = require("../directory-sync/utils");
15
+ const lockRenewalInterval = (utils_1.eventLockTTL / 2) * 1000;
16
+ const instanceKey = (0, crypto_1.randomUUID)();
17
+ class CronLock {
18
+ constructor({ key, lockStore }) {
15
19
  this.lockStore = lockStore;
20
+ this.key = key;
16
21
  }
17
- acquire(key) {
22
+ acquire() {
18
23
  return __awaiter(this, void 0, void 0, function* () {
19
24
  try {
20
25
  const lock = yield this.get();
21
- if (lock) {
22
- return lock.key === key;
26
+ if (lock && !this.isExpired(lock)) {
27
+ return lock.key === instanceKey;
28
+ }
29
+ yield this.add();
30
+ // Renew the lock periodically
31
+ if (!this.intervalId) {
32
+ this.intervalId = setInterval(() => __awaiter(this, void 0, void 0, function* () {
33
+ this.renew();
34
+ }), lockRenewalInterval);
23
35
  }
24
- yield this.add(key);
25
36
  return true;
26
37
  }
27
38
  catch (e) {
28
- console.error(`Error acquiring lock for ${key}: ${e}`);
39
+ console.error(`Error acquiring lock for ${instanceKey}: ${e}`);
29
40
  return false;
30
41
  }
31
42
  });
32
43
  }
33
- renew(key) {
44
+ renew() {
34
45
  return __awaiter(this, void 0, void 0, function* () {
35
46
  try {
36
47
  const lock = yield this.get();
37
48
  if (!lock) {
38
49
  return;
39
50
  }
40
- if (lock.key != key) {
51
+ if (lock.key != instanceKey) {
41
52
  return;
42
53
  }
43
- yield this.add(key);
54
+ yield this.add();
44
55
  }
45
56
  catch (e) {
46
- console.error(`Error renewing lock for ${key}: ${e}`);
57
+ console.error(`Error renewing lock for ${instanceKey}: ${e}`);
47
58
  }
48
59
  });
49
60
  }
50
- add(key) {
61
+ add() {
51
62
  return __awaiter(this, void 0, void 0, function* () {
52
63
  const record = {
53
- key,
64
+ key: instanceKey,
54
65
  created_at: new Date().toISOString(),
55
66
  };
56
- yield this.lockStore.put(key, record);
67
+ yield this.lockStore.put(this.key, record);
57
68
  });
58
69
  }
59
70
  get() {
60
71
  return __awaiter(this, void 0, void 0, function* () {
61
- const { data } = (yield this.lockStore.getAll());
62
- return data.length > 0 ? data[0] : null;
72
+ return (yield this.lockStore.get(this.key));
63
73
  });
64
74
  }
65
- release(key) {
75
+ release() {
66
76
  return __awaiter(this, void 0, void 0, function* () {
77
+ if (this.intervalId) {
78
+ clearInterval(this.intervalId);
79
+ }
67
80
  const lock = yield this.get();
68
81
  if (!lock) {
69
82
  return;
70
83
  }
71
- if (lock.key != key) {
84
+ if (lock.key != instanceKey) {
72
85
  return;
73
86
  }
74
- yield this.lockStore.delete(key);
87
+ yield this.lockStore.delete(this.key);
75
88
  });
76
89
  }
90
+ isExpired(lock) {
91
+ const lockDate = new Date(lock.created_at);
92
+ const currentDate = new Date();
93
+ const diffSeconds = (currentDate.getTime() - lockDate.getTime()) / 1000;
94
+ return diffSeconds > utils_1.eventLockTTL;
95
+ }
77
96
  }
78
- exports.EventLock = EventLock;
97
+ exports.CronLock = CronLock;
79
98
  //# sourceMappingURL=lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/cron/lock.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { DirectorySyncEvent, IDirectoryConfig, Storable, JacksonOption, EventLock, IWebhookEventsLogger } from '../../typings';
1
+ import type { DirectorySyncEvent, IDirectoryConfig, Storable, JacksonOption, CronLock, IWebhookEventsLogger } from '../../typings';
2
2
  declare enum EventStatus {
3
3
  PENDING = "PENDING",
4
4
  FAILED = "FAILED",
@@ -14,7 +14,7 @@ interface QueuedEvent {
14
14
  interface DirectoryEventsParams {
15
15
  opts: JacksonOption;
16
16
  eventStore: Storable;
17
- eventLock: EventLock;
17
+ eventLock: CronLock;
18
18
  directories: IDirectoryConfig;
19
19
  webhookLogs: IWebhookEventsLogger;
20
20
  }
@@ -24,8 +24,10 @@ export declare class EventProcessor {
24
24
  private opts;
25
25
  private directories;
26
26
  private webhookLogs;
27
+ private cronInterval;
27
28
  constructor({ opts, eventStore, eventLock, directories, webhookLogs }: DirectoryEventsParams);
28
29
  push(event: DirectorySyncEvent): Promise<QueuedEvent>;
30
+ private _process;
29
31
  process(): Promise<void>;
30
32
  fetchNextBatch(offset: number, limit: number): Promise<QueuedEvent[]>;
31
33
  private send;
@@ -33,5 +35,6 @@ export declare class EventProcessor {
33
35
  private markAsFailed;
34
36
  private logWebhookEvent;
35
37
  private notifyAllEventsFailed;
38
+ scheduleWorker(): Promise<void>;
36
39
  }
37
40
  export {};
@@ -36,14 +36,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  exports.EventProcessor = void 0;
39
- const os_1 = __importDefault(require("os"));
40
39
  const lodash_1 = __importDefault(require("lodash"));
41
40
  const crypto_1 = require("crypto");
42
- const utils_1 = require("../utils");
43
41
  const webhook_1 = require("../../event/webhook");
44
- const utils_2 = require("../../controller/utils");
42
+ const utils_1 = require("../../controller/utils");
45
43
  const error_1 = require("../../controller/error");
46
44
  const metrics = __importStar(require("../../opentelemetry/metrics"));
45
+ const utils_2 = require("../scim/utils");
47
46
  var EventStatus;
48
47
  (function (EventStatus) {
49
48
  EventStatus["PENDING"] = "PENDING";
@@ -51,15 +50,20 @@ var EventStatus;
51
50
  EventStatus["PROCESSING"] = "PROCESSING";
52
51
  })(EventStatus || (EventStatus = {}));
53
52
  let isJobRunning = false;
54
- const lockKey = os_1.default.hostname();
55
- const lockRenewalInterval = (utils_1.eventLockTTL / 2) * 1000;
53
+ let intervalId;
56
54
  class EventProcessor {
57
55
  constructor({ opts, eventStore, eventLock, directories, webhookLogs }) {
56
+ var _a;
58
57
  this.opts = opts;
59
58
  this.eventLock = eventLock;
60
59
  this.eventStore = eventStore;
61
60
  this.directories = directories;
62
61
  this.webhookLogs = webhookLogs;
62
+ this.cronInterval = (_a = this.opts.dsync) === null || _a === void 0 ? void 0 : _a.webhookBatchCronInterval;
63
+ if (this.cronInterval) {
64
+ this.scheduleWorker = this.scheduleWorker.bind(this);
65
+ this.scheduleWorker();
66
+ }
63
67
  }
64
68
  // Push the new event to the database
65
69
  push(event) {
@@ -74,7 +78,7 @@ class EventProcessor {
74
78
  };
75
79
  const index = [
76
80
  {
77
- name: 'directoryId',
81
+ name: utils_2.indexNames.directoryId,
78
82
  value: event.directory_id,
79
83
  },
80
84
  ];
@@ -82,32 +86,16 @@ class EventProcessor {
82
86
  return record;
83
87
  });
84
88
  }
85
- // Process the events and send them to the webhooks as a batch
86
- process() {
89
+ _process() {
87
90
  return __awaiter(this, void 0, void 0, function* () {
88
91
  var _a, _b;
89
- if (isJobRunning) {
90
- return;
91
- }
92
- if (!(yield this.eventLock.acquire(lockKey))) {
93
- return;
94
- }
95
- isJobRunning = true;
96
- // Renew the lock periodically
97
- const intervalId = setInterval(() => __awaiter(this, void 0, void 0, function* () {
98
- this.eventLock.renew(lockKey);
99
- }), lockRenewalInterval);
100
- const batchSize = (_a = this.opts.dsync) === null || _a === void 0 ? void 0 : _a.webhookBatchSize;
101
- if (!batchSize) {
102
- throw new error_1.JacksonError('Batch size not defined');
103
- }
92
+ const batchSize = ((_a = this.opts.dsync) === null || _a === void 0 ? void 0 : _a.webhookBatchSize) || 50;
104
93
  // eslint-disable-next-line no-constant-condition
105
94
  while (true) {
106
95
  const events = yield this.fetchNextBatch(0, batchSize);
107
96
  const eventsCount = events.length;
108
97
  if (eventsCount === 0) {
109
- clearInterval(intervalId);
110
- yield this.eventLock.release(lockKey);
98
+ yield this.eventLock.release();
111
99
  break;
112
100
  }
113
101
  // Group the events by directory
@@ -133,7 +121,7 @@ class EventProcessor {
133
121
  yield this.delete(events);
134
122
  continue;
135
123
  }
136
- if (!(0, utils_2.isConnectionActive)(directory)) {
124
+ if (!(0, utils_1.isConnectionActive)(directory)) {
137
125
  console.error(`Directory ${directoryId} is not active. Deleting the dsync events.`);
138
126
  yield this.delete(events);
139
127
  continue;
@@ -164,7 +152,29 @@ class EventProcessor {
164
152
  }
165
153
  }
166
154
  }
155
+ });
156
+ }
157
+ // Process the events and send them to the webhooks as a batch
158
+ process() {
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ if (isJobRunning) {
161
+ console.info('A batch process is already running, skipping.');
162
+ return;
163
+ }
164
+ if (!(yield this.eventLock.acquire())) {
165
+ return;
166
+ }
167
+ isJobRunning = true;
168
+ try {
169
+ this._process();
170
+ }
171
+ catch (e) {
172
+ console.error(' Error processing webhooks batch:', e);
173
+ }
167
174
  isJobRunning = false;
175
+ if (this.cronInterval) {
176
+ this.scheduleWorker();
177
+ }
168
178
  });
169
179
  }
170
180
  // Fetch next batch of events from the database
@@ -230,6 +240,17 @@ class EventProcessor {
230
240
  console.error('All events in the batch have failed. Please check the system.');
231
241
  });
232
242
  }
243
+ scheduleWorker() {
244
+ return __awaiter(this, void 0, void 0, function* () {
245
+ if (!this.cronInterval) {
246
+ return;
247
+ }
248
+ if (intervalId) {
249
+ clearInterval(intervalId);
250
+ }
251
+ intervalId = setInterval(() => this.process(), this.cronInterval * 1000);
252
+ });
253
+ }
233
254
  }
234
255
  exports.EventProcessor = EventProcessor;
235
256
  //# sourceMappingURL=queue.js.map