@boxyhq/saml-jackson 1.20.1 → 1.20.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/controller/oauth/code-verifier.d.ts +0 -1
- package/dist/controller/oauth/code-verifier.js +2 -3
- package/dist/controller/oauth/code-verifier.js.map +1 -1
- package/dist/directory-sync/scim/transform.d.ts +0 -5
- package/dist/directory-sync/scim/transform.js +5 -8
- package/dist/directory-sync/scim/transform.js.map +1 -1
- package/dist/ee/product/index.js +3 -3
- package/dist/ee/product/index.js.map +1 -1
- package/dist/saml/x509.d.ts +0 -4
- package/dist/saml/x509.js +2 -3
- package/dist/saml/x509.js.map +1 -1
- package/package.json +1 -1
@@ -3,14 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.encode =
|
6
|
+
exports.encode = void 0;
|
7
7
|
const crypto_1 = __importDefault(require("crypto"));
|
8
8
|
const transformBase64 = (input) => {
|
9
9
|
return input.replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_');
|
10
10
|
};
|
11
|
-
exports.transformBase64 = transformBase64;
|
12
11
|
const encode = (code_challenge) => {
|
13
|
-
return
|
12
|
+
return transformBase64(crypto_1.default.createHash('sha256').update(code_challenge).digest('base64'));
|
14
13
|
};
|
15
14
|
exports.encode = encode;
|
16
15
|
//# sourceMappingURL=code-verifier.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"code-verifier.js","sourceRoot":"","sources":["../../../src/controller/oauth/code-verifier.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;
|
1
|
+
{"version":3,"file":"code-verifier.js","sourceRoot":"","sources":["../../../src/controller/oauth/code-verifier.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,MAAM,eAAe,GAAG,CAAC,KAAa,EAAU,EAAE;IAChD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACzE,CAAC,CAAC;AAEK,MAAM,MAAM,GAAG,CAAC,cAAsB,EAAU,EAAE;IACvD,OAAO,eAAe,CAAC,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC9F,CAAC,CAAC;AAFW,QAAA,MAAM,UAEjB"}
|
@@ -1,9 +1,4 @@
|
|
1
1
|
import { Directory, DirectorySyncEvent, DirectorySyncEventType, Group, User } from '../../typings';
|
2
|
-
export declare const transformUser: (user: User) => User;
|
3
|
-
export declare const transformGroup: (group: Group) => Group;
|
4
|
-
export declare const transformUserGroup: (user: User, group: Group) => User & {
|
5
|
-
group: Group;
|
6
|
-
};
|
7
2
|
export declare const transformEventPayload: (event: DirectorySyncEventType, payload: {
|
8
3
|
directory: Directory;
|
9
4
|
group?: Group | null;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.transformEventPayload =
|
3
|
+
exports.transformEventPayload = void 0;
|
4
4
|
const transformUser = (user) => {
|
5
5
|
return {
|
6
6
|
id: user.id,
|
@@ -11,7 +11,6 @@ const transformUser = (user) => {
|
|
11
11
|
raw: user.raw,
|
12
12
|
};
|
13
13
|
};
|
14
|
-
exports.transformUser = transformUser;
|
15
14
|
const transformGroup = (group) => {
|
16
15
|
return {
|
17
16
|
id: group.id,
|
@@ -19,11 +18,9 @@ const transformGroup = (group) => {
|
|
19
18
|
raw: group.raw,
|
20
19
|
};
|
21
20
|
};
|
22
|
-
exports.transformGroup = transformGroup;
|
23
21
|
const transformUserGroup = (user, group) => {
|
24
|
-
return Object.assign(Object.assign({},
|
22
|
+
return Object.assign(Object.assign({}, transformUser(user)), { group: transformGroup(group) });
|
25
23
|
};
|
26
|
-
exports.transformUserGroup = transformUserGroup;
|
27
24
|
const transformEventPayload = (event, payload) => {
|
28
25
|
const { directory, group, user } = payload;
|
29
26
|
const { tenant, product, id: directory_id } = directory;
|
@@ -35,15 +32,15 @@ const transformEventPayload = (event, payload) => {
|
|
35
32
|
};
|
36
33
|
// User events
|
37
34
|
if (['user.created', 'user.updated', 'user.deleted'].includes(event) && user) {
|
38
|
-
eventPayload['data'] =
|
35
|
+
eventPayload['data'] = transformUser(user);
|
39
36
|
}
|
40
37
|
// Group events
|
41
38
|
if (['group.created', 'group.updated', 'group.deleted'].includes(event) && group) {
|
42
|
-
eventPayload['data'] =
|
39
|
+
eventPayload['data'] = transformGroup(group);
|
43
40
|
}
|
44
41
|
// Group membership events
|
45
42
|
if (['group.user_added', 'group.user_removed'].includes(event) && user && group) {
|
46
|
-
eventPayload['data'] =
|
43
|
+
eventPayload['data'] = transformUserGroup(user, group);
|
47
44
|
}
|
48
45
|
return eventPayload;
|
49
46
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/directory-sync/scim/transform.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/directory-sync/scim/transform.ts"],"names":[],"mappings":";;;AAEA,MAAM,aAAa,GAAG,CAAC,IAAU,EAAQ,EAAE;IACzC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAY,EAAS,EAAE;IAC7C,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAE,KAAY,EAA2B,EAAE;IAC/E,uCACK,aAAa,CAAC,IAAI,CAAC,KACtB,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,IAC5B;AACJ,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CACnC,KAA6B,EAC7B,OAA2E,EAC3E,EAAE;IACF,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAC3C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IAExD,MAAM,YAAY,GAAG;QACnB,KAAK;QACL,MAAM;QACN,OAAO;QACP,YAAY;KACb,CAAC;IAEF,cAAc;IACd,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7E,YAAY,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,eAAe;IACf,IAAI,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACjF,YAAY,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QAChF,YAAY,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,YAAkC,CAAC;AAC5C,CAAC,CAAC;AA9BW,QAAA,qBAAqB,yBA8BhC"}
|
package/dist/ee/product/index.js
CHANGED
@@ -21,9 +21,9 @@ class ProductController {
|
|
21
21
|
return __awaiter(this, void 0, void 0, function* () {
|
22
22
|
yield (0, checkLicense_1.throwIfInvalidLicense)(this.opts.boxyhqLicenseKey);
|
23
23
|
const productConfig = (yield this.productStore.get(productId));
|
24
|
-
if (!productConfig) {
|
25
|
-
|
26
|
-
}
|
24
|
+
// if (!productConfig) {
|
25
|
+
// console.error(`Product config not found for ${productId}`);
|
26
|
+
// }
|
27
27
|
return Object.assign(Object.assign({}, productConfig), { id: productId, name: (productConfig === null || productConfig === void 0 ? void 0 : productConfig.name) || null, teamId: (productConfig === null || productConfig === void 0 ? void 0 : productConfig.teamId) || null, teamName: (productConfig === null || productConfig === void 0 ? void 0 : productConfig.teamName) || null, logoUrl: (productConfig === null || productConfig === void 0 ? void 0 : productConfig.logoUrl) || null, faviconUrl: (productConfig === null || productConfig === void 0 ? void 0 : productConfig.faviconUrl) || null, companyName: (productConfig === null || productConfig === void 0 ? void 0 : productConfig.companyName) || null, primaryColor: (productConfig === null || productConfig === void 0 ? void 0 : productConfig.primaryColor) || '#25c2a0' });
|
28
28
|
});
|
29
29
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ee/product/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAsD;AACtD,yDAA+D;AAG/D,MAAa,iBAAiB;IAI5B,YAAY,EAAE,YAAY,EAAE,IAAI,EAAmD;QACjF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEY,GAAG,CAAC,SAAiB;;YAChC,MAAM,IAAA,oCAAqB,EAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAExD,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAkB,CAAC;YAEhF,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ee/product/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAsD;AACtD,yDAA+D;AAG/D,MAAa,iBAAiB;IAI5B,YAAY,EAAE,YAAY,EAAE,IAAI,EAAmD;QACjF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEY,GAAG,CAAC,SAAiB;;YAChC,MAAM,IAAA,oCAAqB,EAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAExD,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAkB,CAAC;YAEhF,wBAAwB;YACxB,gEAAgE;YAChE,IAAI;YAEJ,uCACK,aAAa,KAChB,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,KAAI,IAAI,EACjC,MAAM,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,KAAI,IAAI,EACrC,QAAQ,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,KAAI,IAAI,EACzC,OAAO,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,KAAI,IAAI,EACvC,UAAU,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,KAAI,IAAI,EAC7C,WAAW,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,KAAI,IAAI,EAC/C,YAAY,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,KAAI,SAAS,IACtD;QACJ,CAAC;KAAA;IAEY,MAAM,CAAC,MAA+C;;YACjE,MAAM,IAAA,oCAAqB,EAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAExD,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,oBAAY,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAkB,CAAC;YAEhF,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,iCAAM,aAAa,GAAK,MAAM,EAAG,CAAC,CAAC,MAAM,CAAC;YAE1E,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AA5CD,8CA4CC"}
|
package/dist/saml/x509.d.ts
CHANGED
@@ -3,10 +3,6 @@ export declare const init: (store: Storable, opts: JacksonOption) => Promise<{
|
|
3
3
|
publicKey: string;
|
4
4
|
privateKey: string;
|
5
5
|
}>;
|
6
|
-
export declare const generateCertificate: () => {
|
7
|
-
publicKey: any;
|
8
|
-
privateKey: any;
|
9
|
-
};
|
10
6
|
export declare const getDefaultCertificate: () => Promise<{
|
11
7
|
publicKey: string;
|
12
8
|
privateKey: string;
|
package/dist/saml/x509.js
CHANGED
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
36
36
|
};
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
38
|
-
exports.getDefaultCertificate = exports.
|
38
|
+
exports.getDefaultCertificate = exports.init = void 0;
|
39
39
|
const forge = __importStar(require("node-forge"));
|
40
40
|
const crypto_1 = __importDefault(require("crypto"));
|
41
41
|
const pki = forge.pki;
|
@@ -85,7 +85,6 @@ const generateCertificate = () => {
|
|
85
85
|
privateKey: pki.privateKeyToPem(keys.privateKey),
|
86
86
|
};
|
87
87
|
};
|
88
|
-
exports.generateCertificate = generateCertificate;
|
89
88
|
const getDefaultCertificate = () => __awaiter(void 0, void 0, void 0, function* () {
|
90
89
|
var _a, _b;
|
91
90
|
if (cachedCertificate && !(yield isCertificateExpired(cachedCertificate.publicKey))) {
|
@@ -113,7 +112,7 @@ const getDefaultCertificate = () => __awaiter(void 0, void 0, void 0, function*
|
|
113
112
|
return cachedCertificate;
|
114
113
|
}
|
115
114
|
// If default certificate is not found or has expired, create one and store it.
|
116
|
-
cachedCertificate =
|
115
|
+
cachedCertificate = generateCertificate();
|
117
116
|
yield certificateStore.put('default', cachedCertificate);
|
118
117
|
return cachedCertificate;
|
119
118
|
});
|
package/dist/saml/x509.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"x509.js","sourceRoot":"","sources":["../../src/saml/x509.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAoC;AACpC,oDAA4B;AAI5B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;AACtB,IAAI,gBAA0B,CAAC;AAC/B,IAAI,iBAA4D,CAAC;AACjE,IAAI,aAA4B,CAAC;AAE1B,MAAM,IAAI,GAAG,CAAO,KAAe,EAAE,IAAmB,EAAE,EAAE;IACjE,gBAAgB,GAAG,KAAK,CAAC;IACzB,aAAa,GAAG,IAAI,CAAC;IAErB,OAAO,MAAM,IAAA,6BAAqB,GAAE,CAAC;AACvC,CAAC,CAAA,CAAC;AALW,QAAA,IAAI,QAKf;
|
1
|
+
{"version":3,"file":"x509.js","sourceRoot":"","sources":["../../src/saml/x509.ts"],"names":[],"mappings":"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"}
|