@boxyhq/saml-jackson 1.9.2 → 1.9.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.
Files changed (115) hide show
  1. package/dist/controller/admin.d.ts +10 -4
  2. package/dist/controller/admin.js +6 -6
  3. package/dist/controller/admin.js.map +1 -1
  4. package/dist/controller/api.d.ts +3 -1
  5. package/dist/controller/api.js +19 -12
  6. package/dist/controller/api.js.map +1 -1
  7. package/dist/controller/connection/saml.js +2 -2
  8. package/dist/controller/connection/saml.js.map +1 -1
  9. package/dist/controller/logout.js +4 -4
  10. package/dist/controller/logout.js.map +1 -1
  11. package/dist/controller/oauth.js +4 -3
  12. package/dist/controller/oauth.js.map +1 -1
  13. package/dist/controller/saml-handler.js +4 -4
  14. package/dist/controller/saml-handler.js.map +1 -1
  15. package/dist/controller/setup-link.d.ts +4 -1
  16. package/dist/controller/setup-link.js +8 -8
  17. package/dist/controller/setup-link.js.map +1 -1
  18. package/dist/controller/utils.d.ts +16 -2
  19. package/dist/controller/utils.js +11 -8
  20. package/dist/controller/utils.js.map +1 -1
  21. package/dist/db/db.d.ts +4 -3
  22. package/dist/db/db.js +24 -10
  23. package/dist/db/db.js.map +1 -1
  24. package/dist/db/defaultDb.js +4 -0
  25. package/dist/db/defaultDb.js.map +1 -1
  26. package/dist/db/dynamoDb.d.ts +18 -0
  27. package/dist/db/dynamoDb.js +336 -0
  28. package/dist/db/dynamoDb.js.map +1 -0
  29. package/dist/db/mem.d.ts +4 -3
  30. package/dist/db/mem.js +15 -5
  31. package/dist/db/mem.js.map +1 -1
  32. package/dist/db/mongo.d.ts +4 -3
  33. package/dist/db/mongo.js +16 -5
  34. package/dist/db/mongo.js.map +1 -1
  35. package/dist/db/planetscale/entity/JacksonIndex.js.map +1 -1
  36. package/dist/db/planetscale/entity/JacksonStore.js.map +1 -1
  37. package/dist/db/planetscale/entity/JacksonTTL.js.map +1 -1
  38. package/dist/db/redis.d.ts +4 -3
  39. package/dist/db/redis.js +26 -5
  40. package/dist/db/redis.js.map +1 -1
  41. package/dist/db/sql/entity/JacksonIndex.js.map +1 -1
  42. package/dist/db/sql/entity/JacksonStore.js.map +1 -1
  43. package/dist/db/sql/entity/JacksonTTL.js.map +1 -1
  44. package/dist/db/sql/mariadb/entity/JacksonIndex.js.map +1 -1
  45. package/dist/db/sql/mariadb/entity/JacksonStore.js.map +1 -1
  46. package/dist/db/sql/mariadb/entity/JacksonTTL.js.map +1 -1
  47. package/dist/db/sql/mssql/entity/JacksonIndex.js.map +1 -1
  48. package/dist/db/sql/mssql/entity/JacksonStore.js.map +1 -1
  49. package/dist/db/sql/mssql/entity/JacksonTTL.js.map +1 -1
  50. package/dist/db/sql/sql.d.ts +4 -3
  51. package/dist/db/sql/sql.js +33 -4
  52. package/dist/db/sql/sql.js.map +1 -1
  53. package/dist/db/store.js +9 -4
  54. package/dist/db/store.js.map +1 -1
  55. package/dist/directory-sync/Base.d.ts +1 -0
  56. package/dist/directory-sync/Base.js +1 -0
  57. package/dist/directory-sync/Base.js.map +1 -1
  58. package/dist/directory-sync/DirectoryConfig.d.ts +22 -8
  59. package/dist/directory-sync/DirectoryConfig.js +38 -15
  60. package/dist/directory-sync/DirectoryConfig.js.map +1 -1
  61. package/dist/directory-sync/DirectoryGroups.d.ts +4 -5
  62. package/dist/directory-sync/DirectoryGroups.js +55 -77
  63. package/dist/directory-sync/DirectoryGroups.js.map +1 -1
  64. package/dist/directory-sync/DirectoryUsers.js +6 -6
  65. package/dist/directory-sync/DirectoryUsers.js.map +1 -1
  66. package/dist/directory-sync/Groups.d.ts +3 -2
  67. package/dist/directory-sync/Groups.js +48 -18
  68. package/dist/directory-sync/Groups.js.map +1 -1
  69. package/dist/directory-sync/Users.d.ts +1 -1
  70. package/dist/directory-sync/Users.js +18 -14
  71. package/dist/directory-sync/Users.js.map +1 -1
  72. package/dist/directory-sync/WebhookEventsLogger.d.ts +7 -6
  73. package/dist/directory-sync/WebhookEventsLogger.js +26 -18
  74. package/dist/directory-sync/WebhookEventsLogger.js.map +1 -1
  75. package/dist/directory-sync/events.js +7 -18
  76. package/dist/directory-sync/events.js.map +1 -1
  77. package/dist/directory-sync/index.d.ts +3 -2
  78. package/dist/directory-sync/index.js +6 -5
  79. package/dist/directory-sync/index.js.map +1 -1
  80. package/dist/directory-sync/transform.d.ts +9 -5
  81. package/dist/directory-sync/transform.js +26 -2
  82. package/dist/directory-sync/transform.js.map +1 -1
  83. package/dist/directory-sync/types.d.ts +24 -4
  84. package/dist/directory-sync/utils.d.ts +23 -26
  85. package/dist/directory-sync/utils.js +50 -86
  86. package/dist/directory-sync/utils.js.map +1 -1
  87. package/dist/ee/federated-saml/app.d.ts +4 -3
  88. package/dist/ee/federated-saml/app.js +4 -4
  89. package/dist/ee/federated-saml/app.js.map +1 -1
  90. package/dist/event/axios.d.ts +2 -0
  91. package/dist/event/axios.js +32 -0
  92. package/dist/event/axios.js.map +1 -0
  93. package/dist/event/index.d.ts +10 -0
  94. package/dist/event/index.js +54 -0
  95. package/dist/event/index.js.map +1 -0
  96. package/dist/event/types.d.ts +21 -0
  97. package/dist/event/types.js +3 -0
  98. package/dist/event/types.js.map +1 -0
  99. package/dist/event/utils.d.ts +4 -0
  100. package/dist/event/utils.js +39 -0
  101. package/dist/event/utils.js.map +1 -0
  102. package/dist/event/webhook.d.ts +3 -0
  103. package/dist/event/webhook.js +39 -0
  104. package/dist/event/webhook.js.map +1 -0
  105. package/dist/index.js +4 -2
  106. package/dist/index.js.map +1 -1
  107. package/dist/loadConnection.js +1 -2
  108. package/dist/loadConnection.js.map +1 -1
  109. package/dist/saml-tracer/index.d.ts +2 -2
  110. package/dist/saml-tracer/index.js +5 -4
  111. package/dist/saml-tracer/index.js.map +1 -1
  112. package/dist/typings.d.ts +25 -7
  113. package/dist/typings.js +1 -0
  114. package/dist/typings.js.map +1 -1
  115. package/package.json +13 -10
@@ -1,36 +1,33 @@
1
- import type { Directory, DirectorySyncEvent, DirectorySyncEventType, DirectorySyncGroupMember, Group, User } from '../typings';
2
- import { UserPatchOperation } from '../typings';
3
- declare const parseGroupOperations: (operations: {
4
- op: 'add' | 'remove' | 'replace';
5
- path: string;
6
- value: any;
7
- }[]) => {
8
- action: 'addGroupMember' | 'removeGroupMember';
9
- members: DirectorySyncGroupMember[];
1
+ import type { User } from '../typings';
2
+ import { UserPatchOperation, GroupPatchOperation } from '../typings';
3
+ declare const parseGroupOperation: (operation: GroupPatchOperation) => {
4
+ action: string;
5
+ members: {
6
+ value: string;
7
+ display?: string | undefined;
8
+ }[];
9
+ displayName?: undefined;
10
10
  } | {
11
- action: 'updateGroupName';
12
- displayName: string;
11
+ action: string;
12
+ displayName: unknown;
13
+ members?: undefined;
13
14
  } | {
14
- action: 'unknown';
15
+ action: string;
16
+ members?: undefined;
17
+ displayName?: undefined;
15
18
  };
16
- declare const toGroupMembers: (users: {
17
- user_id: string;
18
- }[]) => DirectorySyncGroupMember[];
19
19
  declare const getDirectorySyncProviders: () => {
20
20
  [K: string]: string;
21
21
  };
22
- declare const transformEventPayload: (event: DirectorySyncEventType, payload: {
23
- directory: Directory;
24
- group?: Group | null;
25
- user?: User | null;
26
- }) => DirectorySyncEvent;
27
- declare const createHeader: (secret: string, event: DirectorySyncEvent) => Promise<{
28
- 'Content-Type': string;
29
- 'BoxyHQ-Signature': string;
30
- }>;
31
- declare const createSignatureString: (secret: string, event: DirectorySyncEvent) => Promise<string>;
32
22
  declare const parseUserPatchRequest: (operation: UserPatchOperation) => {
33
23
  attributes: Partial<User>;
34
24
  rawAttributes: {};
35
25
  };
36
- export { parseGroupOperations, toGroupMembers, getDirectorySyncProviders, transformEventPayload, createHeader, createSignatureString, parseUserPatchRequest, };
26
+ declare const extractStandardUserAttributes: (body: any) => {
27
+ first_name: string;
28
+ last_name: string;
29
+ email: string;
30
+ active: true;
31
+ };
32
+ declare const updateRawUserAttributes: (raw: any, attributes: any) => any;
33
+ export { parseGroupOperation, getDirectorySyncProviders, parseUserPatchRequest, extractStandardUserAttributes, updateRawUserAttributes, };
@@ -1,46 +1,37 @@
1
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
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.parseUserPatchRequest = exports.createSignatureString = exports.createHeader = exports.transformEventPayload = exports.getDirectorySyncProviders = exports.toGroupMembers = exports.parseGroupOperations = void 0;
6
+ exports.updateRawUserAttributes = exports.extractStandardUserAttributes = exports.parseUserPatchRequest = exports.getDirectorySyncProviders = exports.parseGroupOperation = void 0;
16
7
  const typings_1 = require("../typings");
17
- const transform_1 = require("./transform");
18
- const crypto_1 = __importDefault(require("crypto"));
19
- const parseGroupOperations = (operations) => {
20
- const { op, path, value } = operations[0];
21
- // Add group members
22
- if (op === 'add' && path === 'members') {
23
- return {
24
- action: 'addGroupMember',
25
- members: value,
26
- };
27
- }
28
- // Remove group members
29
- if (op === 'remove' && path === 'members') {
30
- return {
31
- action: 'removeGroupMember',
32
- members: value,
33
- };
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ const parseGroupOperation = (operation) => {
10
+ const { op, path, value } = operation;
11
+ if (path === 'members') {
12
+ if (op === 'add') {
13
+ return {
14
+ action: 'addGroupMember',
15
+ members: value,
16
+ };
17
+ }
18
+ if (op === 'remove') {
19
+ return {
20
+ action: 'removeGroupMember',
21
+ members: value,
22
+ };
23
+ }
34
24
  }
35
- // Remove group members
36
- if (op === 'remove' && path.startsWith('members[value eq')) {
37
- return {
38
- action: 'removeGroupMember',
39
- members: [{ value: path.split('"')[1] }],
40
- };
25
+ if (path && path.startsWith('members[value eq')) {
26
+ if (op === 'remove') {
27
+ return {
28
+ action: 'removeGroupMember',
29
+ members: [{ value: path.split('"')[1] }],
30
+ };
31
+ }
41
32
  }
42
33
  // Update group name
43
- if (op === 'replace') {
34
+ if (op === 'replace' && 'displayName' in value) {
44
35
  return {
45
36
  action: 'updateGroupName',
46
37
  displayName: value.displayName,
@@ -50,13 +41,7 @@ const parseGroupOperations = (operations) => {
50
41
  action: 'unknown',
51
42
  };
52
43
  };
53
- exports.parseGroupOperations = parseGroupOperations;
54
- const toGroupMembers = (users) => {
55
- return users.map((user) => ({
56
- value: user.user_id,
57
- }));
58
- };
59
- exports.toGroupMembers = toGroupMembers;
44
+ exports.parseGroupOperation = parseGroupOperation;
60
45
  // List of directory sync providers
61
46
  // TODO: Fix the return type
62
47
  const getDirectorySyncProviders = () => {
@@ -66,51 +51,6 @@ const getDirectorySyncProviders = () => {
66
51
  }, {});
67
52
  };
68
53
  exports.getDirectorySyncProviders = getDirectorySyncProviders;
69
- const transformEventPayload = (event, payload) => {
70
- const { directory, group, user } = payload;
71
- const { tenant, product, id: directory_id } = directory;
72
- const eventPayload = {
73
- event,
74
- tenant,
75
- product,
76
- directory_id,
77
- };
78
- // User events
79
- if (['user.created', 'user.updated', 'user.deleted'].includes(event) && user) {
80
- eventPayload['data'] = (0, transform_1.transformUser)(user);
81
- }
82
- // Group events
83
- if (['group.created', 'group.updated', 'group.deleted'].includes(event) && group) {
84
- eventPayload['data'] = (0, transform_1.transformGroup)(group);
85
- }
86
- // Group membership events
87
- if (['group.user_added', 'group.user_removed'].includes(event) && user && group) {
88
- eventPayload['data'] = (0, transform_1.transformUserGroup)(user, group);
89
- }
90
- return eventPayload;
91
- };
92
- exports.transformEventPayload = transformEventPayload;
93
- // Create request headers
94
- const createHeader = (secret, event) => __awaiter(void 0, void 0, void 0, function* () {
95
- return {
96
- 'Content-Type': 'application/json',
97
- 'BoxyHQ-Signature': yield createSignatureString(secret, event),
98
- };
99
- });
100
- exports.createHeader = createHeader;
101
- // Create a signature string
102
- const createSignatureString = (secret, event) => __awaiter(void 0, void 0, void 0, function* () {
103
- if (!secret) {
104
- return '';
105
- }
106
- const timestamp = new Date().getTime();
107
- const signature = crypto_1.default
108
- .createHmac('sha256', secret)
109
- .update(`${timestamp}.${JSON.stringify(event)}`)
110
- .digest('hex');
111
- return `t=${timestamp},s=${signature}`;
112
- });
113
- exports.createSignatureString = createSignatureString;
114
54
  // Parse the PATCH request body and return the user attributes (both standard and custom)
115
55
  const parseUserPatchRequest = (operation) => {
116
56
  const { value, path } = operation;
@@ -120,6 +60,7 @@ const parseUserPatchRequest = (operation) => {
120
60
  active: 'active',
121
61
  'name.givenName': 'first_name',
122
62
  'name.familyName': 'last_name',
63
+ 'emails[type eq "work"].value': 'email',
123
64
  };
124
65
  // If there is a path, then the value is the value
125
66
  // For example { path: "active", value: true }
@@ -145,4 +86,27 @@ const parseUserPatchRequest = (operation) => {
145
86
  };
146
87
  };
147
88
  exports.parseUserPatchRequest = parseUserPatchRequest;
89
+ // Extract standard attributes from the user body
90
+ const extractStandardUserAttributes = (body) => {
91
+ const { name, emails, userName, active } = body;
92
+ return {
93
+ first_name: name && 'givenName' in name ? name.givenName : '',
94
+ last_name: name && 'familyName' in name ? name.familyName : '',
95
+ email: emails && emails.length > 0 ? emails[0].value : userName,
96
+ active: active || true,
97
+ };
98
+ };
99
+ exports.extractStandardUserAttributes = extractStandardUserAttributes;
100
+ // Update raw user attributes
101
+ const updateRawUserAttributes = (raw, attributes) => {
102
+ const keys = Object.keys(attributes);
103
+ if (keys.length === 0) {
104
+ return raw;
105
+ }
106
+ for (const key of keys) {
107
+ lodash_1.default.set(raw, key, attributes[key]);
108
+ }
109
+ return raw;
110
+ };
111
+ exports.updateRawUserAttributes = updateRawUserAttributes;
148
112
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/directory-sync/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/directory-sync/utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Storable, JacksonOption, SAMLFederationApp } from '../../typings';
1
+ import type { Storable, JacksonOption, SAMLFederationApp, Records } from '../../typings';
2
2
  type NewAppParams = Pick<SAMLFederationApp, 'name' | 'tenant' | 'product' | 'acsUrl' | 'entityId'>;
3
3
  export declare class App {
4
4
  protected store: Storable;
@@ -11,10 +11,11 @@ export declare class App {
11
11
  get(id: string): Promise<SAMLFederationApp>;
12
12
  getByEntityId(entityId: string): Promise<SAMLFederationApp>;
13
13
  update(id: string, params: Partial<Omit<SAMLFederationApp, 'id'>>): Promise<SAMLFederationApp>;
14
- getAll({ pageOffset, pageLimit }: {
14
+ getAll({ pageOffset, pageLimit, pageToken, }: {
15
15
  pageOffset?: number;
16
16
  pageLimit?: number;
17
- }): Promise<SAMLFederationApp[]>;
17
+ pageToken?: string;
18
+ }): Promise<Records<SAMLFederationApp>>;
18
19
  delete(id: string): Promise<void>;
19
20
  getMetadata(): Promise<{
20
21
  xml: string;
@@ -65,10 +65,10 @@ class App {
65
65
  if (!entityId) {
66
66
  throw new error_1.JacksonError('Missing required parameters. Required parameters are: entityId', 400);
67
67
  }
68
- const apps = yield this.store.getByIndex({
68
+ const apps = (yield this.store.getByIndex({
69
69
  name: utils_2.IndexNames.EntityID,
70
70
  value: entityId,
71
- });
71
+ })).data;
72
72
  if (!apps || apps.length === 0) {
73
73
  throw new error_1.JacksonError('SAML Federation app not found', 404);
74
74
  }
@@ -92,9 +92,9 @@ class App {
92
92
  });
93
93
  }
94
94
  // Get all apps
95
- getAll({ pageOffset, pageLimit }) {
95
+ getAll({ pageOffset, pageLimit, pageToken, }) {
96
96
  return __awaiter(this, void 0, void 0, function* () {
97
- const apps = yield this.store.getAll(pageOffset, pageLimit);
97
+ const apps = (yield this.store.getAll(pageOffset, pageLimit, pageToken));
98
98
  return apps;
99
99
  });
100
100
  }
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ declare const axiosInstance: import("axios").AxiosInstance;
2
+ export default axiosInstance;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const axios_1 = __importDefault(require("axios"));
7
+ const retry = 3;
8
+ const retryDelay = 3000;
9
+ const axiosInstance = axios_1.default.create();
10
+ // Axios interceptors to handle the Webhook retries
11
+ axiosInstance.interceptors.response.use(undefined, (err) => {
12
+ const config = err.config;
13
+ if (!config) {
14
+ return Promise.reject(err);
15
+ }
16
+ config.__retryCount = config.__retryCount || 0;
17
+ if (config.__retryCount >= retry) {
18
+ return Promise.reject(err);
19
+ }
20
+ config.__retryCount += 1;
21
+ const backoff = new Promise(function (resolve) {
22
+ setTimeout(function () {
23
+ resolve(1);
24
+ }, retryDelay);
25
+ });
26
+ return backoff.then(function () {
27
+ console.info(`Retrying sending webhook event to ${config.url}... Attempt ${config.__retryCount}`);
28
+ return axiosInstance(config);
29
+ });
30
+ });
31
+ exports.default = axiosInstance;
32
+ //# sourceMappingURL=axios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axios.js","sourceRoot":"","sources":["../../src/event/axios.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,MAAM,KAAK,GAAG,CAAC,CAAC;AAChB,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,eAAK,CAAC,MAAM,EAAE,CAAC;AAErC,mDAAmD;AACnD,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAQ,EAAE,EAAE;IAC9D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAE1B,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KAC5B;IAED,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,YAAY,IAAI,KAAK,EAAE;QAChC,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KAC5B;IAED,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IAEzB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,OAAO;QAC3C,UAAU,CAAC;YACT,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,EAAE,UAAU,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,IAAI,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,qCAAqC,MAAM,CAAC,GAAG,eAAe,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAClG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kBAAe,aAAa,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Directory, JacksonOption, SAMLSSORecord, EventType, SSOConnectionEventType, Webhook, EventPayloadSchema, OIDCSSORecord } from '../typings';
2
+ export default class Event {
3
+ private webhook;
4
+ constructor({ opts }: {
5
+ opts: JacksonOption;
6
+ });
7
+ notify<T extends EventType>(event: T, data: T extends SSOConnectionEventType ? SAMLSSORecord | OIDCSSORecord : Directory): Promise<import("axios").AxiosResponse<any, any> | undefined>;
8
+ private constructPayload;
9
+ sendWebhookEvent(webhook: Webhook | undefined, payload: EventPayloadSchema): Promise<import("axios").AxiosResponse<any, any> | undefined>;
10
+ }
@@ -0,0 +1,54 @@
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 webhook_1 = require("./webhook");
13
+ const utils_1 = require("./utils");
14
+ class Event {
15
+ constructor({ opts }) {
16
+ this.webhook = opts.webhook;
17
+ }
18
+ notify(event, data) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ const payload = this.constructPayload(event, data);
21
+ return this.sendWebhookEvent(this.webhook, payload);
22
+ });
23
+ }
24
+ constructPayload(event, data) {
25
+ let transformedData;
26
+ if ('idpMetadata' in data) {
27
+ transformedData = (0, utils_1.transformSAMLSSOConnection)(data);
28
+ }
29
+ else if ('oidcProvider' in data) {
30
+ transformedData = (0, utils_1.transformOIDCSSOConnection)(data);
31
+ }
32
+ else {
33
+ transformedData = (0, utils_1.transformDirectoryConnection)(data);
34
+ }
35
+ const { tenant, product } = data;
36
+ const payload = {
37
+ event,
38
+ tenant,
39
+ product,
40
+ data: transformedData,
41
+ };
42
+ return payload;
43
+ }
44
+ sendWebhookEvent(webhook, payload) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ if (!(webhook === null || webhook === void 0 ? void 0 : webhook.endpoint) || !webhook.secret) {
47
+ return;
48
+ }
49
+ return yield (0, webhook_1.sendPayloadToWebhook)(webhook, payload);
50
+ });
51
+ }
52
+ }
53
+ exports.default = Event;
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/event/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAWA,uCAAiD;AACjD,mCAIiB;AAEjB,MAAqB,KAAK;IAGxB,YAAY,EAAE,IAAI,EAA2B;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;IAEK,MAAM,CACV,KAAQ,EACR,IAAkF;;YAElF,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAEnD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;KAAA;IAEO,gBAAgB,CAAC,KAAgB,EAAE,IAA+C;QACxF,IAAI,eAA0B,CAAC;QAE/B,IAAI,aAAa,IAAI,IAAI,EAAE;YACzB,eAAe,GAAG,IAAA,kCAA0B,EAAC,IAAI,CAAC,CAAC;SACpD;aAAM,IAAI,cAAc,IAAI,IAAI,EAAE;YACjC,eAAe,GAAG,IAAA,kCAA0B,EAAC,IAAI,CAAC,CAAC;SACpD;aAAM;YACL,eAAe,GAAG,IAAA,oCAA4B,EAAC,IAAI,CAAC,CAAC;SACtD;QAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEjC,MAAM,OAAO,GAAuB;YAClC,KAAK;YACL,MAAM;YACN,OAAO;YACP,IAAI,EAAE,eAAe;SACtB,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAEK,gBAAgB,CAAC,OAA4B,EAAE,OAA2B;;YAC9E,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACzC,OAAO;aACR;YAED,OAAO,MAAM,IAAA,8BAAoB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;KAAA;CACF;AA9CD,wBA8CC"}
@@ -0,0 +1,21 @@
1
+ import EventController from '../event';
2
+ import type { Directory, DirectorySyncEventType, SAMLSSORecord, OIDCSSORecord, DirectorySyncEventData } from '../typings';
3
+ export type IEventController = InstanceType<typeof EventController>;
4
+ export type SSOConnectionEventType = 'sso.created' | 'sso.deleted' | 'sso.activated' | 'sso.deactivated';
5
+ export type DsyncConnectionEventType = 'dsync.created' | 'dsync.deleted' | 'dsync.activated' | 'dsync.deactivated';
6
+ export type EventType = SSOConnectionEventType | DsyncConnectionEventType | DirectorySyncEventType;
7
+ export type SAMLSSOConnectionEventData = Pick<SAMLSSORecord, 'name' | 'description' | 'clientID' | 'clientSecret'> & {
8
+ provider: string;
9
+ friendlyProviderName: string;
10
+ };
11
+ export type OIDCSSOConnectionEventData = Pick<OIDCSSORecord, 'name' | 'description' | 'clientID' | 'clientSecret'> & {
12
+ provider: string | undefined;
13
+ };
14
+ export type DsyncConnectionEventData = Pick<Directory, 'id' | 'name' | 'type'>;
15
+ export type EventData = SAMLSSOConnectionEventData | OIDCSSOConnectionEventData | DsyncConnectionEventData | DirectorySyncEventData;
16
+ export type EventPayloadSchema = {
17
+ tenant: string;
18
+ product: string;
19
+ event: EventType;
20
+ data: EventData;
21
+ };
@@ -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/event/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { Directory, DsyncConnectionEventData, SAMLSSOConnectionEventData, OIDCSSOConnectionEventData, SAMLSSORecord, OIDCSSORecord } from '../typings';
2
+ export declare const transformSAMLSSOConnection: (data: SAMLSSORecord) => SAMLSSOConnectionEventData;
3
+ export declare const transformOIDCSSOConnection: (data: OIDCSSORecord) => OIDCSSOConnectionEventData;
4
+ export declare const transformDirectoryConnection: (data: Directory) => DsyncConnectionEventData;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformDirectoryConnection = exports.transformOIDCSSOConnection = exports.transformSAMLSSOConnection = void 0;
4
+ const utils_1 = require("../controller/utils");
5
+ const transformSAMLSSOConnection = (data) => {
6
+ const { name, description, clientID, clientSecret, idpMetadata } = data;
7
+ const { provider } = idpMetadata;
8
+ return {
9
+ name,
10
+ description,
11
+ clientID,
12
+ clientSecret,
13
+ provider,
14
+ friendlyProviderName: (0, utils_1.findFriendlyProviderName)(provider),
15
+ };
16
+ };
17
+ exports.transformSAMLSSOConnection = transformSAMLSSOConnection;
18
+ const transformOIDCSSOConnection = (data) => {
19
+ const { name, description, clientID, clientSecret, oidcProvider } = data;
20
+ const { provider } = oidcProvider;
21
+ return {
22
+ name,
23
+ description,
24
+ clientID,
25
+ clientSecret,
26
+ provider,
27
+ };
28
+ };
29
+ exports.transformOIDCSSOConnection = transformOIDCSSOConnection;
30
+ const transformDirectoryConnection = (data) => {
31
+ const { id, name, type } = data;
32
+ return {
33
+ id,
34
+ name,
35
+ type,
36
+ };
37
+ };
38
+ exports.transformDirectoryConnection = transformDirectoryConnection;
39
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/event/utils.ts"],"names":[],"mappings":";;;AAQA,+CAA+D;AAExD,MAAM,0BAA0B,GAAG,CAAC,IAAmB,EAA8B,EAAE;IAC5F,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACxE,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IAEjC,OAAO;QACL,IAAI;QACJ,WAAW;QACX,QAAQ;QACR,YAAY;QACZ,QAAQ;QACR,oBAAoB,EAAE,IAAA,gCAAwB,EAAC,QAAQ,CAAC;KACzD,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,0BAA0B,8BAYrC;AAEK,MAAM,0BAA0B,GAAG,CAAC,IAAmB,EAA8B,EAAE;IAC5F,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IACzE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;IAElC,OAAO;QACL,IAAI;QACJ,WAAW;QACX,QAAQ;QACR,YAAY;QACZ,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,0BAA0B,8BAWrC;AAEK,MAAM,4BAA4B,GAAG,CAAC,IAAe,EAA4B,EAAE;IACxF,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAEhC,OAAO;QACL,EAAE;QACF,IAAI;QACJ,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,4BAA4B,gCAQvC"}
@@ -0,0 +1,3 @@
1
+ import type { EventPayloadSchema, Webhook } from '../typings';
2
+ export declare const createSignatureString: (secret: string, payload: EventPayloadSchema) => string;
3
+ export declare const sendPayloadToWebhook: (webhook: Webhook, payload: EventPayloadSchema) => Promise<import("axios").AxiosResponse<any, any>>;
@@ -0,0 +1,39 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.sendPayloadToWebhook = exports.createSignatureString = void 0;
16
+ const crypto_1 = __importDefault(require("crypto"));
17
+ const axios_1 = __importDefault(require("./axios"));
18
+ const createSignatureString = (secret, payload) => {
19
+ if (!secret) {
20
+ return '';
21
+ }
22
+ const timestamp = new Date().getTime();
23
+ const signature = crypto_1.default
24
+ .createHmac('sha256', secret)
25
+ .update(`${timestamp}.${JSON.stringify(payload)}`)
26
+ .digest('hex');
27
+ return `t=${timestamp},s=${signature}`;
28
+ };
29
+ exports.createSignatureString = createSignatureString;
30
+ const sendPayloadToWebhook = (webhook, payload) => __awaiter(void 0, void 0, void 0, function* () {
31
+ return yield axios_1.default.post(webhook.endpoint, payload, {
32
+ headers: {
33
+ 'Content-Type': 'application/json',
34
+ 'BoxyHQ-Signature': (0, exports.createSignatureString)(webhook.secret, payload),
35
+ },
36
+ });
37
+ });
38
+ exports.sendPayloadToWebhook = sendPayloadToWebhook;
39
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/event/webhook.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,oDAA4B;AAC5B,oDAA4B;AAErB,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,OAA2B,EAAE,EAAE;IACnF,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,CAAC;KACX;IAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAEvC,MAAM,SAAS,GAAG,gBAAM;SACrB,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC5B,MAAM,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;SACjD,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjB,OAAO,KAAK,SAAS,MAAM,SAAS,EAAE,CAAC;AACzC,CAAC,CAAC;AAbW,QAAA,qBAAqB,yBAahC;AAEK,MAAM,oBAAoB,GAAG,CAAO,OAAgB,EAAE,OAA2B,EAAE,EAAE;IAC1F,OAAO,MAAM,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE;QACjD,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,kBAAkB,EAAE,IAAA,6BAAqB,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;SACnE;KACF,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAPW,QAAA,oBAAoB,wBAO/B"}
package/dist/index.js CHANGED
@@ -58,6 +58,7 @@ const federated_saml_1 = __importDefault(require("./ee/federated-saml"));
58
58
  const checkLicense_1 = __importDefault(require("./ee/common/checkLicense"));
59
59
  const branding_1 = require("./ee/branding");
60
60
  const saml_tracer_1 = __importDefault(require("./saml-tracer"));
61
+ const event_1 = __importDefault(require("./event"));
61
62
  const defaultOpts = (opts) => {
62
63
  const newOpts = Object.assign({}, opts);
63
64
  if (!newOpts.externalUrl) {
@@ -93,7 +94,8 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
93
94
  const certificateStore = db.store('x509:certificates');
94
95
  const settingsStore = db.store('portal:settings');
95
96
  const samlTracer = new saml_tracer_1.default({ db });
96
- const connectionAPIController = new api_1.ConnectionAPIController({ connectionStore, opts });
97
+ const eventController = new event_1.default({ opts });
98
+ const connectionAPIController = new api_1.ConnectionAPIController({ connectionStore, opts, eventController });
97
99
  const adminController = new admin_1.AdminController({ connectionStore, samlTracer });
98
100
  const healthCheckController = new health_check_1.HealthCheckController({ healthCheckStore });
99
101
  yield healthCheckController.init();
@@ -121,7 +123,7 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
121
123
  });
122
124
  const oidcDiscoveryController = new oidc_discovery_1.OidcDiscoveryController({ opts });
123
125
  const spConfig = new sp_config_1.SPSAMLConfig(opts);
124
- const directorySyncController = yield (0, directory_sync_1.default)({ db, opts });
126
+ const directorySyncController = yield (0, directory_sync_1.default)({ db, opts, eventController });
125
127
  // Enterprise Features
126
128
  const samlFederatedController = yield (0, federated_saml_1.default)({ db, opts, samlTracer });
127
129
  const brandingController = (yield (0, checkLicense_1.default)(opts.boxyhqLicenseKey))
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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"}