@boxyhq/saml-jackson 1.9.0 → 1.9.2-beta.6087

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.
Files changed (49) hide show
  1. package/dist/controller/admin.d.ts +7 -3
  2. package/dist/controller/admin.js +17 -1
  3. package/dist/controller/admin.js.map +1 -1
  4. package/dist/controller/connection/saml.js +2 -5
  5. package/dist/controller/connection/saml.js.map +1 -1
  6. package/dist/controller/oauth.d.ts +3 -1
  7. package/dist/controller/oauth.js +321 -211
  8. package/dist/controller/oauth.js.map +1 -1
  9. package/dist/controller/saml-handler.d.ts +1 -0
  10. package/dist/controller/saml-handler.js +4 -2
  11. package/dist/controller/saml-handler.js.map +1 -1
  12. package/dist/controller/utils.d.ts +2 -1
  13. package/dist/controller/utils.js +1 -0
  14. package/dist/controller/utils.js.map +1 -1
  15. package/dist/directory-sync/DirectoryUsers.js +15 -14
  16. package/dist/directory-sync/DirectoryUsers.js.map +1 -1
  17. package/dist/directory-sync/types.d.ts +15 -0
  18. package/dist/directory-sync/utils.d.ts +13 -9
  19. package/dist/directory-sync/utils.js +60 -28
  20. package/dist/directory-sync/utils.js.map +1 -1
  21. package/dist/ee/branding/index.d.ts +15 -0
  22. package/dist/ee/branding/index.js +49 -0
  23. package/dist/ee/branding/index.js.map +1 -0
  24. package/dist/ee/federated-saml/app.d.ts +12 -5
  25. package/dist/ee/federated-saml/app.js +19 -12
  26. package/dist/ee/federated-saml/app.js.map +1 -1
  27. package/dist/ee/federated-saml/index.d.ts +3 -2
  28. package/dist/ee/federated-saml/index.js +2 -2
  29. package/dist/ee/federated-saml/index.js.map +1 -1
  30. package/dist/ee/federated-saml/sso.d.ts +4 -1
  31. package/dist/ee/federated-saml/sso.js +70 -45
  32. package/dist/ee/federated-saml/sso.js.map +1 -1
  33. package/dist/ee/federated-saml/types.d.ts +3 -0
  34. package/dist/index.d.ts +3 -0
  35. package/dist/index.js +12 -2
  36. package/dist/index.js.map +1 -1
  37. package/dist/saml/lib.d.ts +1 -0
  38. package/dist/saml/lib.js +3 -2
  39. package/dist/saml/lib.js.map +1 -1
  40. package/dist/saml-tracer/index.d.ts +14 -0
  41. package/dist/saml-tracer/index.js +87 -0
  42. package/dist/saml-tracer/index.js.map +1 -0
  43. package/dist/saml-tracer/types.d.ts +31 -0
  44. package/dist/saml-tracer/types.js +3 -0
  45. package/dist/saml-tracer/types.js.map +1 -0
  46. package/dist/typings.d.ts +12 -0
  47. package/dist/typings.js +1 -0
  48. package/dist/typings.js.map +1 -1
  49. package/package.json +9 -7
@@ -21,7 +21,7 @@ class App {
21
21
  this.opts = opts;
22
22
  }
23
23
  // Create a new SAML Federation app for the tenant and product
24
- create({ name, tenant, product, acsUrl, entityId, }) {
24
+ create({ name, tenant, product, acsUrl, entityId }) {
25
25
  return __awaiter(this, void 0, void 0, function* () {
26
26
  if (!tenant || !product || !acsUrl || !entityId || !name) {
27
27
  throw new error_1.JacksonError('Missing required parameters. Required parameters are: name, tenant, product, acsUrl, entityId', 400);
@@ -35,12 +35,15 @@ class App {
35
35
  product,
36
36
  acsUrl,
37
37
  entityId,
38
+ logoUrl: null,
39
+ faviconUrl: null,
40
+ primaryColor: null,
38
41
  };
39
42
  yield this.store.put(id, app, {
40
43
  name: utils_2.IndexNames.EntityID,
41
44
  value: entityId,
42
45
  });
43
- return Object.assign({}, app);
46
+ return app;
44
47
  });
45
48
  }
46
49
  // Get an app by tenant and product
@@ -53,7 +56,7 @@ class App {
53
56
  if (!app) {
54
57
  throw new error_1.JacksonError('SAML Federation app not found', 404);
55
58
  }
56
- return Object.assign({}, app);
59
+ return app;
57
60
  });
58
61
  }
59
62
  // Get the app by SP EntityId
@@ -69,26 +72,30 @@ class App {
69
72
  if (!apps || apps.length === 0) {
70
73
  throw new error_1.JacksonError('SAML Federation app not found', 404);
71
74
  }
72
- return Object.assign({}, apps[0]);
75
+ return apps[0];
73
76
  });
74
77
  }
75
78
  // Update the app
76
- update(id, { acsUrl, entityId, name }) {
79
+ update(id, params) {
77
80
  return __awaiter(this, void 0, void 0, function* () {
78
- if (!id && (!acsUrl || !entityId || !name)) {
79
- throw new error_1.JacksonError("Missing required parameters. Required parameters are: id, acsUrl, entityId, name'", 400);
81
+ const { acsUrl, entityId, name, logoUrl, faviconUrl, primaryColor } = params;
82
+ if (!id) {
83
+ throw new error_1.JacksonError('Missing the app id', 400);
84
+ }
85
+ if (!acsUrl && !entityId && !name && !logoUrl && !faviconUrl && !primaryColor) {
86
+ throw new error_1.JacksonError('Missing required parameters. Please provide at least one of the following parameters: acsUrl, entityId, name, logoUrl, faviconUrl, primaryColor', 400);
80
87
  }
81
88
  const app = yield this.get(id);
82
- const updatedApp = Object.assign(Object.assign({}, app), { name: name || app.name, acsUrl: acsUrl || app.acsUrl, entityId: entityId || app.entityId });
89
+ const updatedApp = Object.assign(Object.assign({}, app), { name: name || app.name, acsUrl: acsUrl || app.acsUrl, entityId: entityId || app.entityId, logoUrl: logoUrl || app.logoUrl, faviconUrl: faviconUrl || app.faviconUrl, primaryColor: primaryColor || app.primaryColor });
83
90
  yield this.store.put(id, updatedApp);
84
- return Object.assign({}, updatedApp);
91
+ return updatedApp;
85
92
  });
86
93
  }
87
94
  // Get all apps
88
- getAll({ pageOffset, pageLimit, }) {
95
+ getAll({ pageOffset, pageLimit }) {
89
96
  return __awaiter(this, void 0, void 0, function* () {
90
- const apps = (yield this.store.getAll(pageOffset, pageLimit));
91
- return apps.map((app) => (Object.assign({}, app)));
97
+ const apps = yield this.store.getAll(pageOffset, pageLimit);
98
+ return apps;
92
99
  });
93
100
  }
94
101
  // Delete the app
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/app.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { SSO } from './sso';
2
2
  import { App } from './app';
3
- import type { JacksonOption } from '../../typings';
4
- declare const SAMLFederation: ({ db, opts }: {
3
+ import type { JacksonOption, SAMLTracerInstance } from '../../typings';
4
+ declare const SAMLFederation: ({ db, opts, samlTracer, }: {
5
5
  db: any;
6
6
  opts: JacksonOption;
7
+ samlTracer: SAMLTracerInstance;
7
8
  }) => Promise<{
8
9
  app: App;
9
10
  sso: SSO;
@@ -27,7 +27,7 @@ const sso_1 = require("./sso");
27
27
  const app_1 = require("./app");
28
28
  const saml_handler_1 = require("../../controller/saml-handler");
29
29
  // This is the main entry point for the SAML Federation module
30
- const SAMLFederation = ({ db, opts }) => __awaiter(void 0, void 0, void 0, function* () {
30
+ const SAMLFederation = ({ db, opts, samlTracer, }) => __awaiter(void 0, void 0, void 0, function* () {
31
31
  const appStore = db.store('samlfed:apps');
32
32
  const sessionStore = db.store('oauth:session', opts.db.ttl);
33
33
  const connectionStore = db.store('saml:config');
@@ -37,7 +37,7 @@ const SAMLFederation = ({ db, opts }) => __awaiter(void 0, void 0, void 0, funct
37
37
  opts,
38
38
  });
39
39
  const app = new app_1.App({ store: appStore, opts });
40
- const sso = new sso_1.SSO({ app, samlHandler });
40
+ const sso = new sso_1.SSO({ app, samlHandler, samlTracer });
41
41
  const response = {
42
42
  app,
43
43
  sso,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4B;AAC5B,+BAA4B;AAE5B,gEAA4D;AAE5D,8DAA8D;AAC9D,MAAM,cAAc,GAAG,CAAO,EAAE,EAAE,EAAE,IAAI,EAA+B,EAAE,EAAE;IACzE,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAEhD,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC;QAClC,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,YAAY;QACrB,IAAI;KACL,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG;QACf,GAAG;QACH,GAAG;KACJ,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAA,CAAC;AAEF,kBAAe,cAAc,CAAC;AAE9B,0CAAwB;AAExB,wBAAwB;AACxB,qGAAqG;AACrG,oDAAoD;AACpD,2FAA2F;AAC3F,iEAAiE;AACjE,8FAA8F;AAC9F,4HAA4H"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4B;AAC5B,+BAA4B;AAE5B,gEAA4D;AAE5D,8DAA8D;AAC9D,MAAM,cAAc,GAAG,CAAO,EAC5B,EAAE,EACF,IAAI,EACJ,UAAU,GAKX,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAEhD,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC;QAClC,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,YAAY;QACrB,IAAI;KACL,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG;QACf,GAAG;QACH,GAAG;KACJ,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAA,CAAC;AAEF,kBAAe,cAAc,CAAC;AAE9B,0CAAwB;AAExB,wBAAwB;AACxB,qGAAqG;AACrG,oDAAoD;AACpD,2FAA2F;AAC3F,iEAAiE;AACjE,8FAA8F;AAC9F,4HAA4H"}
@@ -1,11 +1,14 @@
1
1
  import { App } from './app';
2
2
  import { SAMLHandler } from '../../controller/saml-handler';
3
+ import type { SAMLTracerInstance } from '../../typings';
3
4
  export declare class SSO {
4
5
  private app;
5
6
  private samlHandler;
6
- constructor({ app, samlHandler }: {
7
+ private samlTracer;
8
+ constructor({ app, samlHandler, samlTracer, }: {
7
9
  app: App;
8
10
  samlHandler: SAMLHandler;
11
+ samlTracer: SAMLTracerInstance;
9
12
  });
10
13
  getAuthorizeUrl: ({ request, relayState, idp_hint, }: {
11
14
  request: string;
@@ -16,60 +16,85 @@ exports.SSO = void 0;
16
16
  const saml20_1 = __importDefault(require("@boxyhq/saml20"));
17
17
  const error_1 = require("../../controller/error");
18
18
  const lib_1 = require("../../saml/lib");
19
+ const utils_1 = require("../../controller/utils");
19
20
  class SSO {
20
- constructor({ app, samlHandler }) {
21
+ constructor({ app, samlHandler, samlTracer, }) {
21
22
  // Accept the SAML Request from Service Provider, and create a new SAML Request to be sent to Identity Provider
22
23
  this.getAuthorizeUrl = ({ request, relayState, idp_hint, }) => __awaiter(this, void 0, void 0, function* () {
23
- const { id, acsUrl, entityId, publicKey, providerName } = yield (0, lib_1.extractSAMLRequestAttributes)(request);
24
- // Verify the request if it is signed
25
- if (publicKey && !saml20_1.default.hasValidSignature(request, publicKey, null)) {
26
- throw new error_1.JacksonError('Invalid SAML Request signature.', 400);
27
- }
28
- const app = yield this.app.getByEntityId(entityId);
29
- if (app.acsUrl !== acsUrl) {
30
- throw new error_1.JacksonError("Assertion Consumer Service URL doesn't match.", 400);
31
- }
32
- const response = yield this.samlHandler.resolveConnection({
33
- tenant: app.tenant,
34
- product: app.product,
35
- idp_hint,
36
- authFlow: 'saml',
37
- originalParams: {
38
- RelayState: relayState,
39
- SAMLRequest: request,
40
- },
41
- });
42
- // If there is a redirect URL, then we need to redirect to that URL
43
- if ('redirectUrl' in response) {
44
- return {
45
- redirectUrl: response.redirectUrl,
46
- };
47
- }
48
24
  let connection;
49
- // If there is a connection, use that connection
50
- if ('connection' in response && 'idpMetadata' in response.connection) {
51
- connection = response.connection;
25
+ let id, acsUrl, entityId, publicKey, providerName, decodedRequest, app;
26
+ try {
27
+ const parsedSAMLRequest = yield (0, lib_1.extractSAMLRequestAttributes)(request);
28
+ id = parsedSAMLRequest.id;
29
+ acsUrl = parsedSAMLRequest.acsUrl;
30
+ entityId = parsedSAMLRequest.entityId;
31
+ publicKey = parsedSAMLRequest.publicKey;
32
+ providerName = parsedSAMLRequest.providerName;
33
+ decodedRequest = parsedSAMLRequest.decodedRequest;
34
+ // Verify the request if it is signed
35
+ if (publicKey && !saml20_1.default.hasValidSignature(request, publicKey, null)) {
36
+ throw new error_1.JacksonError('Invalid SAML Request signature.', 400);
37
+ }
38
+ app = yield this.app.getByEntityId(entityId);
39
+ if (app.acsUrl !== acsUrl) {
40
+ throw new error_1.JacksonError("Assertion Consumer Service URL doesn't match.", 400);
41
+ }
42
+ const response = yield this.samlHandler.resolveConnection({
43
+ tenant: app.tenant,
44
+ product: app.product,
45
+ idp_hint,
46
+ authFlow: 'saml',
47
+ originalParams: {
48
+ RelayState: relayState,
49
+ SAMLRequest: request,
50
+ },
51
+ });
52
+ // If there is a redirect URL, then we need to redirect to that URL
53
+ if ('redirectUrl' in response) {
54
+ return {
55
+ redirectUrl: response.redirectUrl,
56
+ };
57
+ }
58
+ // If there is a connection, use that connection
59
+ if ('connection' in response && 'idpMetadata' in response.connection) {
60
+ connection = response.connection;
61
+ }
62
+ if (!connection) {
63
+ throw new error_1.JacksonError('No SAML connection found.', 404);
64
+ }
65
+ return yield this.samlHandler.createSAMLRequest({
66
+ connection,
67
+ requestParams: {
68
+ id,
69
+ acsUrl,
70
+ entityId,
71
+ publicKey,
72
+ providerName,
73
+ relayState,
74
+ },
75
+ });
52
76
  }
53
- if (!connection) {
54
- throw new error_1.JacksonError('No SAML connection found.', 404);
77
+ catch (err) {
78
+ const error_description = (0, utils_1.getErrorMessage)(err);
79
+ this.samlTracer.saveTrace({
80
+ error: error_description,
81
+ context: {
82
+ tenant: (app === null || app === void 0 ? void 0 : app.tenant) || '',
83
+ product: (app === null || app === void 0 ? void 0 : app.product) || '',
84
+ clientID: (connection === null || connection === void 0 ? void 0 : connection.clientID) || '',
85
+ isSAMLFederated: true,
86
+ providerName,
87
+ acsUrl,
88
+ entityId,
89
+ samlRequest: decodedRequest,
90
+ },
91
+ });
92
+ throw err;
55
93
  }
56
- const { redirectUrl } = yield this.samlHandler.createSAMLRequest({
57
- connection,
58
- requestParams: {
59
- id,
60
- acsUrl,
61
- entityId,
62
- publicKey,
63
- providerName,
64
- relayState,
65
- },
66
- });
67
- return {
68
- redirectUrl,
69
- };
70
94
  });
71
95
  this.app = app;
72
96
  this.samlHandler = samlHandler;
97
+ this.samlTracer = samlTracer;
73
98
  }
74
99
  }
75
100
  exports.SSO = SSO;
@@ -1 +1 @@
1
- {"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/sso.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4DAAkC;AAGlC,kDAAsD;AAGtD,wCAA8D;AAE9D,MAAa,GAAG;IAId,YAAY,EAAE,GAAG,EAAE,WAAW,EAA0C;QAKxE,+GAA+G;QACxG,oBAAe,GAAG,CAAO,EAC9B,OAAO,EACP,UAAU,EACV,QAAQ,GAKT,EAAE,EAAE;YACH,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,kCAA4B,EAAC,OAAO,CAAC,CAAC;YAEtG,qCAAqC;YACrC,IAAI,SAAS,IAAI,CAAC,gBAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClE,MAAM,IAAI,oBAAY,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;aAChE;YAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAEnD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE;gBACzB,MAAM,IAAI,oBAAY,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC;aAC9E;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;gBACxD,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,QAAQ;gBACR,QAAQ,EAAE,MAAM;gBAChB,cAAc,EAAE;oBACd,UAAU,EAAE,UAAU;oBACtB,WAAW,EAAE,OAAO;iBACrB;aACF,CAAC,CAAC;YAEH,mEAAmE;YACnE,IAAI,aAAa,IAAI,QAAQ,EAAE;gBAC7B,OAAO;oBACL,WAAW,EAAE,QAAQ,CAAC,WAAW;iBAClC,CAAC;aACH;YAED,IAAI,UAAqC,CAAC;YAE1C,gDAAgD;YAChD,IAAI,YAAY,IAAI,QAAQ,IAAI,aAAa,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACpE,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;aAClC;YAED,IAAI,CAAC,UAAU,EAAE;gBACf,MAAM,IAAI,oBAAY,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;aAC1D;YAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;gBAC/D,UAAU;gBACV,aAAa,EAAE;oBACb,EAAE;oBACF,MAAM;oBACN,QAAQ;oBACR,SAAS;oBACT,YAAY;oBACZ,UAAU;iBACX;aACF,CAAC,CAAC;YAEH,OAAO;gBACL,WAAW;aACZ,CAAC;QACJ,CAAC,CAAA,CAAC;QAvEA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CAsEF;AA7ED,kBA6EC"}
1
+ {"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/sso.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,9 @@ export type SAMLFederationApp = {
7
7
  product: string;
8
8
  acsUrl: string;
9
9
  entityId: string;
10
+ logoUrl: string | null;
11
+ faviconUrl: string | null;
12
+ primaryColor: string | null;
10
13
  };
11
14
  export type SAMLFederationAppWithMetadata = SAMLFederationApp & {
12
15
  metadata: {
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ import { SPSAMLConfig } from './controller/sp-config';
9
9
  import { SetupLinkController } from './controller/setup-link';
10
10
  import { type ISAMLFederationController } from './ee/federated-saml';
11
11
  import checkLicense from './ee/common/checkLicense';
12
+ import { BrandingController } from './ee/branding';
12
13
  export declare const controllers: (opts: JacksonOption) => Promise<{
13
14
  apiController: ConnectionAPIController;
14
15
  connectionAPIController: ConnectionAPIController;
@@ -21,6 +22,7 @@ export declare const controllers: (opts: JacksonOption) => Promise<{
21
22
  oidcDiscoveryController: OidcDiscoveryController;
22
23
  spConfig: SPSAMLConfig;
23
24
  samlFederatedController: ISAMLFederationController;
25
+ brandingController: IBrandingController | null;
24
26
  checkLicense: () => Promise<boolean>;
25
27
  }>;
26
28
  export default controllers;
@@ -28,3 +30,4 @@ export * from './typings';
28
30
  export * from './ee/federated-saml/types';
29
31
  export type SAMLJackson = Awaited<ReturnType<typeof controllers>>;
30
32
  export type ISetupLinkController = InstanceType<typeof SetupLinkController>;
33
+ export type IBrandingController = InstanceType<typeof BrandingController>;
package/dist/index.js CHANGED
@@ -56,6 +56,8 @@ const analytics_1 = require("./controller/analytics");
56
56
  const x509 = __importStar(require("./saml/x509"));
57
57
  const federated_saml_1 = __importDefault(require("./ee/federated-saml"));
58
58
  const checkLicense_1 = __importDefault(require("./ee/common/checkLicense"));
59
+ const branding_1 = require("./ee/branding");
60
+ const saml_tracer_1 = __importDefault(require("./saml-tracer"));
59
61
  const defaultOpts = (opts) => {
60
62
  const newOpts = Object.assign({}, opts);
61
63
  if (!newOpts.externalUrl) {
@@ -89,8 +91,10 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
89
91
  const healthCheckStore = db.store('_health:check');
90
92
  const setupLinkStore = db.store('setup:link');
91
93
  const certificateStore = db.store('x509:certificates');
94
+ const settingsStore = db.store('portal:settings');
95
+ const samlTracer = new saml_tracer_1.default({ db });
92
96
  const connectionAPIController = new api_1.ConnectionAPIController({ connectionStore, opts });
93
- const adminController = new admin_1.AdminController({ connectionStore });
97
+ const adminController = new admin_1.AdminController({ connectionStore, samlTracer });
94
98
  const healthCheckController = new health_check_1.HealthCheckController({ healthCheckStore });
95
99
  yield healthCheckController.init();
96
100
  const setupLinkController = new setup_link_1.SetupLinkController({ setupLinkStore });
@@ -107,6 +111,7 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
107
111
  sessionStore,
108
112
  codeStore,
109
113
  tokenStore,
114
+ samlTracer,
110
115
  opts,
111
116
  });
112
117
  const logoutController = new logout_1.LogoutController({
@@ -117,7 +122,11 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
117
122
  const oidcDiscoveryController = new oidc_discovery_1.OidcDiscoveryController({ opts });
118
123
  const spConfig = new sp_config_1.SPSAMLConfig(opts);
119
124
  const directorySyncController = yield (0, directory_sync_1.default)({ db, opts });
120
- const samlFederatedController = yield (0, federated_saml_1.default)({ db, opts });
125
+ // Enterprise Features
126
+ const samlFederatedController = yield (0, federated_saml_1.default)({ db, opts, samlTracer });
127
+ const brandingController = (yield (0, checkLicense_1.default)(opts.boxyhqLicenseKey))
128
+ ? new branding_1.BrandingController({ store: settingsStore })
129
+ : null;
121
130
  // write pre-loaded connections if present
122
131
  const preLoadedConnection = opts.preLoadedConnection || opts.preLoadedConfig;
123
132
  if (preLoadedConnection && preLoadedConnection.length > 0) {
@@ -146,6 +155,7 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
146
155
  directorySyncController,
147
156
  oidcDiscoveryController,
148
157
  samlFederatedController,
158
+ brandingController,
149
159
  checkLicense: () => {
150
160
  return (0, checkLicense_1.default)(opts.boxyhqLicenseKey);
151
161
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare const extractSAMLRequestAttributes: (samlRequest: string) => Prom
6
6
  entityId: string;
7
7
  publicKey: string;
8
8
  providerName: string;
9
+ decodedRequest: string;
9
10
  }>;
10
11
  export declare const createMetadataXML: ({ ssoUrl, entityId, x509cert, }: {
11
12
  ssoUrl: string;
package/dist/saml/lib.js CHANGED
@@ -61,8 +61,8 @@ const extractSAMLResponseAttributes = (decodedResponse, validateOpts) => __await
61
61
  });
62
62
  exports.extractSAMLResponseAttributes = extractSAMLResponseAttributes;
63
63
  const extractSAMLRequestAttributes = (samlRequest) => __awaiter(void 0, void 0, void 0, function* () {
64
- const decodeRequest = yield (0, exports.decodeBase64)(samlRequest, true);
65
- const result = yield parseXML(decodeRequest);
64
+ const decodedRequest = yield (0, exports.decodeBase64)(samlRequest, true);
65
+ const result = yield parseXML(decodedRequest);
66
66
  const publicKey = result['samlp:AuthnRequest']['Signature']
67
67
  ? result['samlp:AuthnRequest']['Signature'][0]['KeyInfo'][0]['X509Data'][0]['X509Certificate'][0]
68
68
  : null;
@@ -83,6 +83,7 @@ const extractSAMLRequestAttributes = (samlRequest) => __awaiter(void 0, void 0,
83
83
  entityId,
84
84
  publicKey,
85
85
  providerName,
86
+ decodedRequest,
86
87
  };
87
88
  });
88
89
  exports.extractSAMLRequestAttributes = extractSAMLRequestAttributes;
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/saml/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/saml/lib.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Storable } from '../typings';
2
+ import type { SAMLTrace, Trace } from './types';
3
+ declare class SAMLTracer {
4
+ tracerStore: Storable;
5
+ constructor({ db }: {
6
+ db: any;
7
+ });
8
+ saveTrace(payload: SAMLTrace): Promise<string | undefined>;
9
+ getByTraceId(traceId: string): Promise<Trace>;
10
+ getAllTraces(pageOffset?: number, pageLimit?: number): Promise<Trace[]>;
11
+ /** Cleans up stale traces older than 1 week */
12
+ cleanUpStaleTraces(): Promise<void>;
13
+ }
14
+ export default SAMLTracer;
@@ -0,0 +1,87 @@
1
+ "use strict";
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const error_code_mnemonic_1 = require("@boxyhq/error-code-mnemonic");
13
+ const utils_1 = require("../controller/utils");
14
+ const utils_2 = require("../db/utils");
15
+ const INTERVAL_1_WEEK_MS = 7 * 24 * 60 * 60 * 1000;
16
+ const INTERVAL_1_DAY_MS = 24 * 60 * 60 * 1000;
17
+ class SAMLTracer {
18
+ constructor({ db }) {
19
+ this.tracerStore = db.store('saml:tracer');
20
+ // Clean up stale traces at the start
21
+ this.cleanUpStaleTraces();
22
+ // Set timer to run every day
23
+ setInterval(() => __awaiter(this, void 0, void 0, function* () {
24
+ this.cleanUpStaleTraces();
25
+ }), INTERVAL_1_DAY_MS);
26
+ }
27
+ saveTrace(payload) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ try {
30
+ const { context } = payload;
31
+ // Friendly trace id
32
+ const traceId = yield (0, error_code_mnemonic_1.generateMnemonic)();
33
+ // If timestamp present in payload use that value, else generate the current timestamp
34
+ const timestamp = typeof payload.timestamp === 'number' ? payload.timestamp : Date.now();
35
+ const traceValue = Object.assign(Object.assign({}, payload), { traceId, timestamp });
36
+ const { tenant, product, clientID } = context;
37
+ const indices = [
38
+ {
39
+ name: utils_1.IndexNames.TenantProduct,
40
+ value: (0, utils_2.keyFromParts)(tenant, product),
41
+ filterLogic: ({ tenant, product }) => !!(tenant && product),
42
+ },
43
+ {
44
+ name: utils_1.IndexNames.SSOClientID,
45
+ value: clientID,
46
+ filterLogic: ({ clientID }) => !!clientID,
47
+ },
48
+ ]
49
+ .filter(({ filterLogic }) => filterLogic(context))
50
+ .map(({ name, value }) => ({ name, value }));
51
+ yield this.tracerStore.put(traceId, traceValue, ...indices);
52
+ return traceId;
53
+ }
54
+ catch (err) {
55
+ console.error(`Failed to save trace`, err);
56
+ }
57
+ });
58
+ }
59
+ getByTraceId(traceId) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ return (yield this.tracerStore.get(traceId));
62
+ });
63
+ }
64
+ getAllTraces(pageOffset, pageLimit) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ return (yield this.tracerStore.getAll(pageOffset || 0, pageLimit || 0));
67
+ });
68
+ }
69
+ /** Cleans up stale traces older than 1 week */
70
+ cleanUpStaleTraces() {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ let staleTraces = [];
73
+ for (let pageOffset = 0;; pageOffset++) {
74
+ const page = yield this.getAllTraces(pageOffset, 50);
75
+ if (page.length === 0) {
76
+ break;
77
+ }
78
+ staleTraces = staleTraces.concat(page.filter(({ timestamp }) => Date.now() - timestamp > INTERVAL_1_WEEK_MS));
79
+ }
80
+ for (let i = 0; i < staleTraces.length; i++) {
81
+ yield this.tracerStore.delete(staleTraces[i].traceId);
82
+ }
83
+ });
84
+ }
85
+ }
86
+ exports.default = SAMLTracer;
87
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/saml-tracer/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { SAMLProfile } from '@boxyhq/saml20/dist/typings';
2
+ import SAMLTracer from '.';
3
+ export interface Trace {
4
+ traceId: string;
5
+ timestamp: number;
6
+ error: string;
7
+ context: {
8
+ [key: string]: unknown;
9
+ };
10
+ }
11
+ export interface SAMLTrace extends Omit<Trace, 'traceId' | 'timestamp'> {
12
+ timestamp?: number /** Can be passed in from outside else will be set to Date.now() */;
13
+ context: Trace['context'] & {
14
+ tenant: string;
15
+ product: string;
16
+ clientID: string;
17
+ redirectUri?: string;
18
+ requestedOIDCFlow?: boolean;
19
+ isSAMLFederated?: boolean;
20
+ isIDPFlow?: boolean;
21
+ relayState?: string;
22
+ providerName?: string;
23
+ acsUrl?: string;
24
+ entityId?: string;
25
+ samlRequest?: string;
26
+ samlResponse?: string;
27
+ issuer?: string;
28
+ profile?: SAMLProfile;
29
+ };
30
+ }
31
+ export type SAMLTracerInstance = InstanceType<typeof SAMLTracer>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/saml-tracer/types.ts"],"names":[],"mappings":""}