@boxyhq/saml-jackson 1.20.2 → 1.20.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/controller/oauth/allowed.js +13 -1
- package/dist/controller/oauth/allowed.js.map +1 -1
- package/dist/controller/oauth.d.ts +3 -1
- package/dist/controller/oauth.js +124 -59
- package/dist/controller/oauth.js.map +1 -1
- package/dist/controller/sso-handler.d.ts +4 -3
- package/dist/controller/sso-handler.js +18 -13
- package/dist/controller/sso-handler.js.map +1 -1
- package/dist/controller/utils.d.ts +3 -0
- package/dist/controller/utils.js +7 -1
- package/dist/controller/utils.js.map +1 -1
- package/dist/ee/federated-saml/app.d.ts +29 -15
- package/dist/ee/federated-saml/app.js +67 -31
- package/dist/ee/federated-saml/app.js.map +1 -1
- package/dist/ee/federated-saml/index.js +1 -1
- package/dist/ee/federated-saml/index.js.map +1 -1
- package/dist/ee/federated-saml/types.d.ts +6 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
@@ -8,8 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
9
|
});
|
10
10
|
};
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
+
};
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
15
|
exports.App = void 0;
|
16
|
+
const crypto_1 = __importDefault(require("crypto"));
|
13
17
|
const utils_1 = require("../../controller/utils");
|
14
18
|
const lib_1 = require("../../saml/lib");
|
15
19
|
const error_1 = require("../../controller/error");
|
@@ -59,7 +63,7 @@ class App {
|
|
59
63
|
* @swagger
|
60
64
|
* /api/v1/federated-saml:
|
61
65
|
* post:
|
62
|
-
* summary: Create
|
66
|
+
* summary: Create an Identity Federation app
|
63
67
|
* parameters:
|
64
68
|
* - name: name
|
65
69
|
* description: Name
|
@@ -102,7 +106,7 @@ class App {
|
|
102
106
|
* required: false
|
103
107
|
* type: string
|
104
108
|
* - name: tenants
|
105
|
-
* description: Mapping of tenants whose connections will be grouped under this
|
109
|
+
* description: Mapping of tenants whose connections will be grouped under this Identity Federation app
|
106
110
|
* in: formData
|
107
111
|
* required: false
|
108
112
|
* type: array
|
@@ -111,7 +115,17 @@ class App {
|
|
111
115
|
* in: formData
|
112
116
|
* required: false
|
113
117
|
* type: array
|
114
|
-
*
|
118
|
+
* - name: type
|
119
|
+
* description: If creating an OIDC app, this should be set to 'oidc' otherwise it defaults to 'saml'
|
120
|
+
* in: formData
|
121
|
+
* required: false
|
122
|
+
* type: array
|
123
|
+
* - name: redirectUrl
|
124
|
+
* description: If creating an OIDC app, provide the redirect URL
|
125
|
+
* in: formData
|
126
|
+
* required: false
|
127
|
+
* type: array
|
128
|
+
* tags: [Identity Federation]
|
115
129
|
* produces:
|
116
130
|
* - application/json
|
117
131
|
* consumes:
|
@@ -125,14 +139,21 @@ class App {
|
|
125
139
|
* items:
|
126
140
|
* $ref: '#/definitions/SAMLFederationApp'
|
127
141
|
*/
|
128
|
-
create({ name, tenant, product, acsUrl, entityId, logoUrl, faviconUrl, primaryColor, tenants, mappings, }) {
|
142
|
+
create({ name, type, redirectUrl, tenant, product, acsUrl, entityId, logoUrl, faviconUrl, primaryColor, tenants, mappings, }) {
|
129
143
|
return __awaiter(this, void 0, void 0, function* () {
|
130
144
|
yield (0, checkLicense_1.throwIfInvalidLicense)(this.opts.boxyhqLicenseKey);
|
131
|
-
if (
|
132
|
-
|
145
|
+
if (type === 'oidc') {
|
146
|
+
if (!tenant || !product || !redirectUrl || !name) {
|
147
|
+
throw new error_1.JacksonError('Missing required parameters. Required parameters are: name, tenant, product, redirectUrl', 400);
|
148
|
+
}
|
149
|
+
}
|
150
|
+
else {
|
151
|
+
if (!tenant || !product || !acsUrl || !entityId || !name) {
|
152
|
+
throw new error_1.JacksonError('Missing required parameters. Required parameters are: name, tenant, product, acsUrl, entityId', 400);
|
153
|
+
}
|
133
154
|
}
|
134
155
|
(0, utils_2.validateTenantAndProduct)(tenant, product);
|
135
|
-
const id = (0, utils_1.
|
156
|
+
const id = (0, utils_1.fedAppID)(tenant, product, type);
|
136
157
|
// Check if an app already exists for the same tenant and product
|
137
158
|
const foundApp = yield this.store.get(id);
|
138
159
|
if (foundApp) {
|
@@ -157,6 +178,8 @@ class App {
|
|
157
178
|
}
|
158
179
|
const app = {
|
159
180
|
id,
|
181
|
+
type,
|
182
|
+
redirectUrl,
|
160
183
|
name,
|
161
184
|
tenant,
|
162
185
|
product,
|
@@ -168,13 +191,23 @@ class App {
|
|
168
191
|
tenants: _tenants,
|
169
192
|
mappings: mappings || [],
|
170
193
|
};
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
}
|
175
|
-
|
176
|
-
|
177
|
-
|
194
|
+
if (type === 'oidc') {
|
195
|
+
app.clientID = `${utils_1.clientIDFederatedPrefix}${id}`;
|
196
|
+
app.clientSecret = crypto_1.default.randomBytes(24).toString('hex');
|
197
|
+
}
|
198
|
+
const indexes = [
|
199
|
+
{
|
200
|
+
name: utils_2.IndexNames.Product,
|
201
|
+
value: product,
|
202
|
+
},
|
203
|
+
];
|
204
|
+
if (type !== 'oidc') {
|
205
|
+
indexes.push({
|
206
|
+
name: utils_2.IndexNames.EntityID,
|
207
|
+
value: entityId,
|
208
|
+
});
|
209
|
+
}
|
210
|
+
yield this.store.put(id, app, ...indexes);
|
178
211
|
return app;
|
179
212
|
});
|
180
213
|
}
|
@@ -182,7 +215,7 @@ class App {
|
|
182
215
|
* @swagger
|
183
216
|
* /api/v1/federated-saml:
|
184
217
|
* get:
|
185
|
-
* summary: Get
|
218
|
+
* summary: Get an Identity Federation app
|
186
219
|
* parameters:
|
187
220
|
* - name: id
|
188
221
|
* description: App ID
|
@@ -200,7 +233,7 @@ class App {
|
|
200
233
|
* required: false
|
201
234
|
* type: string
|
202
235
|
* tags:
|
203
|
-
* -
|
236
|
+
* - Identity Federation
|
204
237
|
* produces:
|
205
238
|
* - application/json
|
206
239
|
* responses:
|
@@ -215,14 +248,14 @@ class App {
|
|
215
248
|
if ('id' in params) {
|
216
249
|
const app = yield this.store.get(params.id);
|
217
250
|
if (!app) {
|
218
|
-
throw new error_1.JacksonError('
|
251
|
+
throw new error_1.JacksonError('Identity Federation app not found', 404);
|
219
252
|
}
|
220
253
|
return app;
|
221
254
|
}
|
222
255
|
if ('tenant' in params && 'product' in params) {
|
223
|
-
const app = yield this.store.get((0, utils_1.
|
256
|
+
const app = yield this.store.get((0, utils_1.fedAppID)(params.tenant, params.product, params.type));
|
224
257
|
if (!app) {
|
225
|
-
throw new error_1.JacksonError('
|
258
|
+
throw new error_1.JacksonError('Identity Federation app not found', 404);
|
226
259
|
}
|
227
260
|
return app;
|
228
261
|
}
|
@@ -233,7 +266,7 @@ class App {
|
|
233
266
|
* @swagger
|
234
267
|
* /api/v1/federated-saml/product:
|
235
268
|
* get:
|
236
|
-
* summary: Get
|
269
|
+
* summary: Get Identity Federation apps by product
|
237
270
|
* parameters:
|
238
271
|
* - name: product
|
239
272
|
* description: Product
|
@@ -241,7 +274,7 @@ class App {
|
|
241
274
|
* required: true
|
242
275
|
* type: string
|
243
276
|
* tags:
|
244
|
-
* -
|
277
|
+
* - Identity Federation
|
245
278
|
* produces:
|
246
279
|
* - application/json
|
247
280
|
* responses:
|
@@ -277,7 +310,7 @@ class App {
|
|
277
310
|
value: entityId,
|
278
311
|
})).data;
|
279
312
|
if (!apps || apps.length === 0) {
|
280
|
-
throw new error_1.JacksonError('
|
313
|
+
throw new error_1.JacksonError('Identity Federation app not found', 404);
|
281
314
|
}
|
282
315
|
return apps[0];
|
283
316
|
});
|
@@ -286,7 +319,7 @@ class App {
|
|
286
319
|
* @swagger
|
287
320
|
* /api/v1/federated-saml:
|
288
321
|
* patch:
|
289
|
-
* summary: Update
|
322
|
+
* summary: Update an Identity Federation app
|
290
323
|
* parameters:
|
291
324
|
* - name: id
|
292
325
|
* description: App ID
|
@@ -329,7 +362,7 @@ class App {
|
|
329
362
|
* required: false
|
330
363
|
* type: string
|
331
364
|
* - name: tenants
|
332
|
-
* description: Mapping of tenants whose connections will be grouped under this
|
365
|
+
* description: Mapping of tenants whose connections will be grouped under this Identity Federation app
|
333
366
|
* in: formData
|
334
367
|
* required: false
|
335
368
|
* type: array
|
@@ -339,7 +372,7 @@ class App {
|
|
339
372
|
* required: false
|
340
373
|
* type: array
|
341
374
|
* tags:
|
342
|
-
* -
|
375
|
+
* - Identity Federation
|
343
376
|
* produces:
|
344
377
|
* - application/json
|
345
378
|
* consumes:
|
@@ -354,7 +387,7 @@ class App {
|
|
354
387
|
update(params) {
|
355
388
|
return __awaiter(this, void 0, void 0, function* () {
|
356
389
|
yield (0, checkLicense_1.throwIfInvalidLicense)(this.opts.boxyhqLicenseKey);
|
357
|
-
const { id, tenant, product } = params;
|
390
|
+
const { id, tenant, product, type } = params;
|
358
391
|
if (!id && (!tenant || !product)) {
|
359
392
|
throw new error_1.JacksonError('Provide either the `id` or `tenant` and `product` to update the app', 400);
|
360
393
|
}
|
@@ -363,16 +396,19 @@ class App {
|
|
363
396
|
app = yield this.get({ id });
|
364
397
|
}
|
365
398
|
else if (tenant && product) {
|
366
|
-
app = yield this.get({ tenant, product });
|
399
|
+
app = yield this.get({ tenant, product, type });
|
367
400
|
}
|
368
401
|
if (!app) {
|
369
|
-
throw new error_1.JacksonError('
|
402
|
+
throw new error_1.JacksonError('Identity Federation app not found', 404);
|
370
403
|
}
|
371
404
|
const toUpdate = {};
|
372
405
|
// Support partial updates
|
373
406
|
if ('name' in params) {
|
374
407
|
toUpdate['name'] = params.name;
|
375
408
|
}
|
409
|
+
if ('redirectUrl' in params) {
|
410
|
+
toUpdate['redirectUrl'] = params.redirectUrl;
|
411
|
+
}
|
376
412
|
if ('acsUrl' in params) {
|
377
413
|
toUpdate['acsUrl'] = params.acsUrl;
|
378
414
|
}
|
@@ -419,7 +455,7 @@ class App {
|
|
419
455
|
* @swagger
|
420
456
|
* /api/v1/federated-saml:
|
421
457
|
* delete:
|
422
|
-
* summary: Delete
|
458
|
+
* summary: Delete an Identity Federation app
|
423
459
|
* parameters:
|
424
460
|
* - name: id
|
425
461
|
* description: App ID
|
@@ -437,7 +473,7 @@ class App {
|
|
437
473
|
* required: false
|
438
474
|
* type: string
|
439
475
|
* tags:
|
440
|
-
* -
|
476
|
+
* - Identity Federation
|
441
477
|
* produces:
|
442
478
|
* - application/json
|
443
479
|
* responses:
|
@@ -453,7 +489,7 @@ class App {
|
|
453
489
|
return yield this.store.delete(params.id);
|
454
490
|
}
|
455
491
|
if ('tenant' in params && 'product' in params) {
|
456
|
-
const id = (0, utils_1.
|
492
|
+
const id = (0, utils_1.fedAppID)(params.tenant, params.product, params.type);
|
457
493
|
return yield this.store.delete(id);
|
458
494
|
}
|
459
495
|
throw new error_1.JacksonError('Provide either the `id` or `tenant` and `product` to delete the app', 400);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/app.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/app.ts"],"names":[],"mappings":"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"}
|
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
const sso_1 = require("./sso");
|
27
27
|
const app_1 = require("./app");
|
28
28
|
const sso_handler_1 = require("../../controller/sso-handler");
|
29
|
-
// This is the main entry point for the
|
29
|
+
// This is the main entry point for the Identity Federation module
|
30
30
|
const SAMLFederation = ({ db, opts, ssoTracer, }) => __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);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4B;AAC5B,+BAA4B;AAE5B,8DAA0D;AAE1D,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4B;AAC5B,+BAA4B;AAE5B,8DAA0D;AAE1D,kEAAkE;AAClE,MAAM,cAAc,GAAG,CAAO,EAC5B,EAAE,EACF,IAAI,EACJ,SAAS,GAKV,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,UAAU,GAAG,IAAI,wBAAU,CAAC;QAChC,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,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1D,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"}
|
@@ -6,6 +6,10 @@ export type AttributeMapping = {
|
|
6
6
|
};
|
7
7
|
export type SAMLFederationApp = {
|
8
8
|
id: string;
|
9
|
+
type?: string;
|
10
|
+
clientID?: string;
|
11
|
+
clientSecret?: string;
|
12
|
+
redirectUrl?: string[] | string;
|
9
13
|
name: string;
|
10
14
|
tenant: string;
|
11
15
|
product: string;
|
@@ -15,7 +19,7 @@ export type SAMLFederationApp = {
|
|
15
19
|
faviconUrl: string | null;
|
16
20
|
primaryColor: string | null;
|
17
21
|
tenants?: string[];
|
18
|
-
mappings
|
22
|
+
mappings?: AttributeMapping[] | null;
|
19
23
|
};
|
20
24
|
export type SAMLFederationAppWithMetadata = SAMLFederationApp & {
|
21
25
|
metadata: {
|
@@ -30,4 +34,5 @@ export type AppRequestParams = {
|
|
30
34
|
} | {
|
31
35
|
tenant: string;
|
32
36
|
product: string;
|
37
|
+
type?: string;
|
33
38
|
};
|
package/dist/index.js
CHANGED
@@ -112,6 +112,9 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
112
112
|
const setupLinkController = new setup_link_1.SetupLinkController({ setupLinkStore, opts });
|
113
113
|
// Create default certificate if it doesn't exist.
|
114
114
|
yield x509.init(certificateStore, opts);
|
115
|
+
// Enterprise Features
|
116
|
+
const samlFederatedController = yield (0, federated_saml_1.default)({ db, opts, ssoTracer });
|
117
|
+
const brandingController = new branding_1.BrandingController({ store: settingsStore, opts });
|
115
118
|
const oauthController = new oauth_1.OAuthController({
|
116
119
|
connectionStore,
|
117
120
|
sessionStore,
|
@@ -119,6 +122,7 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
119
122
|
tokenStore,
|
120
123
|
ssoTracer,
|
121
124
|
opts,
|
125
|
+
samlFedApp: samlFederatedController.app,
|
122
126
|
});
|
123
127
|
const logoutController = new logout_1.LogoutController({
|
124
128
|
connectionStore,
|
@@ -128,9 +132,6 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
128
132
|
const oidcDiscoveryController = new oidc_discovery_1.OidcDiscoveryController({ opts });
|
129
133
|
const spConfig = new sp_config_1.SPSSOConfig(opts);
|
130
134
|
const directorySyncController = yield (0, directory_sync_1.default)({ db, opts, eventController });
|
131
|
-
// Enterprise Features
|
132
|
-
const samlFederatedController = yield (0, federated_saml_1.default)({ db, opts, ssoTracer });
|
133
|
-
const brandingController = new branding_1.BrandingController({ store: settingsStore, opts });
|
134
135
|
// write pre-loaded connections if present
|
135
136
|
const preLoadedConnection = opts.preLoadedConnection || opts.preLoadedConfig;
|
136
137
|
if (preLoadedConnection && preLoadedConnection.length > 0) {
|
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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"}
|