@boxyhq/saml-jackson 1.16.2 → 1.17.1
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.
- package/dist/controller/admin.d.ts +5 -5
- package/dist/controller/admin.js +7 -7
- package/dist/controller/admin.js.map +1 -1
- package/dist/controller/oauth.d.ts +5 -4
- package/dist/controller/oauth.js +118 -54
- package/dist/controller/oauth.js.map +1 -1
- package/dist/controller/{saml-handler.d.ts → sso-handler.d.ts} +10 -3
- package/dist/controller/{saml-handler.js → sso-handler.js} +68 -15
- package/dist/controller/sso-handler.js.map +1 -0
- package/dist/ee/federated-saml/index.d.ts +3 -3
- package/dist/ee/federated-saml/index.js +4 -4
- package/dist/ee/federated-saml/index.js.map +1 -1
- package/dist/ee/federated-saml/sso.d.ts +9 -7
- package/dist/ee/federated-saml/sso.js +30 -20
- package/dist/ee/federated-saml/sso.js.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/{saml-tracer → sso-tracer}/index.d.ts +9 -9
- package/dist/{saml-tracer → sso-tracer}/index.js +7 -7
- package/dist/sso-tracer/index.js.map +1 -0
- package/dist/{saml-tracer → sso-tracer}/types.d.ts +3 -3
- package/dist/{saml-tracer → sso-tracer}/types.js.map +1 -1
- package/dist/typings.d.ts +6 -5
- package/dist/typings.js +1 -1
- package/dist/typings.js.map +1 -1
- package/package.json +10 -10
- package/dist/controller/saml-handler.js.map +0 -1
- package/dist/saml-tracer/index.js.map +0 -1
- /package/dist/{saml-tracer → sso-tracer}/types.js +0 -0
@@ -35,11 +35,12 @@ 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.
|
38
|
+
exports.SSOHandler = void 0;
|
39
39
|
const saml20_1 = __importDefault(require("@boxyhq/saml20"));
|
40
40
|
const crypto_1 = __importDefault(require("crypto"));
|
41
41
|
const util_1 = require("util");
|
42
42
|
const zlib_1 = require("zlib");
|
43
|
+
const openid_client_1 = require("openid-client");
|
43
44
|
const x509_1 = require("../saml/x509");
|
44
45
|
const dbutils = __importStar(require("../db/utils"));
|
45
46
|
const error_1 = require("./error");
|
@@ -47,11 +48,11 @@ const utils_1 = require("./utils");
|
|
47
48
|
const utils_2 = require("./utils");
|
48
49
|
const lib_1 = require("../saml/lib");
|
49
50
|
const redirect = __importStar(require("./oauth/redirect"));
|
51
|
+
const oidc_issuer_1 = require("./oauth/oidc-issuer");
|
50
52
|
const deflateRawAsync = (0, util_1.promisify)(zlib_1.deflateRaw);
|
51
|
-
class
|
53
|
+
class SSOHandler {
|
52
54
|
constructor({ connection, session, opts, }) {
|
53
|
-
this.createSAMLResponse = (
|
54
|
-
const { profile, session } = params;
|
55
|
+
this.createSAMLResponse = ({ profile, session }) => __awaiter(this, void 0, void 0, function* () {
|
55
56
|
const certificate = yield (0, x509_1.getDefaultCertificate)();
|
56
57
|
try {
|
57
58
|
const responseSigned = yield (0, lib_1.createSAMLResponse)(Object.assign({ audience: session.requested.entityId, acsUrl: session.requested.acsUrl, requestId: session.requested.id, issuer: `${this.opts.samlAudience}`, profile }, certificate));
|
@@ -72,6 +73,23 @@ class SAMLHandler {
|
|
72
73
|
throw new error_1.JacksonError('Unable to validate SAML Response.', 403);
|
73
74
|
}
|
74
75
|
});
|
76
|
+
// Create a new session to store SP request information
|
77
|
+
this.createSession = ({ requestId, requested, oidcCodeVerifier, oidcNonce, }) => __awaiter(this, void 0, void 0, function* () {
|
78
|
+
const sessionId = crypto_1.default.randomBytes(16).toString('hex');
|
79
|
+
const session = {
|
80
|
+
id: requestId,
|
81
|
+
requested,
|
82
|
+
samlFederated: true,
|
83
|
+
};
|
84
|
+
if (oidcCodeVerifier) {
|
85
|
+
session['oidcCodeVerifier'] = oidcCodeVerifier;
|
86
|
+
}
|
87
|
+
if (oidcNonce) {
|
88
|
+
session['oidcNonce'] = oidcNonce;
|
89
|
+
}
|
90
|
+
yield this.session.put(sessionId, session);
|
91
|
+
return `${utils_2.relayStatePrefix}${sessionId}`;
|
92
|
+
});
|
75
93
|
this.connection = connection;
|
76
94
|
this.session = session;
|
77
95
|
this.opts = opts;
|
@@ -96,7 +114,7 @@ class SAMLHandler {
|
|
96
114
|
value: entityId,
|
97
115
|
})).data;
|
98
116
|
}
|
99
|
-
const noSSOConnectionErrMessage =
|
117
|
+
const noSSOConnectionErrMessage = 'No SSO connection found.';
|
100
118
|
if (!connections || connections.length === 0) {
|
101
119
|
throw new error_1.JacksonError(noSSOConnectionErrMessage, 404);
|
102
120
|
}
|
@@ -136,9 +154,8 @@ class SAMLHandler {
|
|
136
154
|
return { connection: connections[0] };
|
137
155
|
});
|
138
156
|
}
|
139
|
-
createSAMLRequest(
|
157
|
+
createSAMLRequest({ connection, requestParams, }) {
|
140
158
|
return __awaiter(this, void 0, void 0, function* () {
|
141
|
-
const { connection, requestParams } = params;
|
142
159
|
// We have a connection now, so we can create the SAML request
|
143
160
|
const certificate = yield (0, x509_1.getDefaultCertificate)();
|
144
161
|
const { sso } = connection.idpMetadata;
|
@@ -162,14 +179,10 @@ class SAMLHandler {
|
|
162
179
|
? connection.identifierFormat
|
163
180
|
: 'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress',
|
164
181
|
});
|
165
|
-
|
166
|
-
|
167
|
-
yield this.session.put(sessionId, {
|
168
|
-
id: samlRequest.id,
|
182
|
+
const relayState = yield this.createSession({
|
183
|
+
requestId: samlRequest.id,
|
169
184
|
requested: Object.assign(Object.assign({}, requestParams), { client_id: connection.clientID }),
|
170
|
-
samlFederated: true,
|
171
185
|
});
|
172
|
-
const relayState = `${utils_2.relayStatePrefix}${sessionId}`;
|
173
186
|
let redirectUrl;
|
174
187
|
let authorizeForm;
|
175
188
|
// Decide whether to use HTTP Redirect or HTTP POST binding
|
@@ -197,6 +210,46 @@ class SAMLHandler {
|
|
197
210
|
};
|
198
211
|
});
|
199
212
|
}
|
213
|
+
createOIDCRequest({ connection, requestParams, }) {
|
214
|
+
return __awaiter(this, void 0, void 0, function* () {
|
215
|
+
if (!this.opts.oidcPath) {
|
216
|
+
throw new error_1.JacksonError('OpenID response handler path (oidcPath) is not set', 400);
|
217
|
+
}
|
218
|
+
const { discoveryUrl, metadata, clientId, clientSecret } = connection.oidcProvider;
|
219
|
+
try {
|
220
|
+
const oidcIssuer = yield (0, oidc_issuer_1.oidcIssuerInstance)(discoveryUrl, metadata);
|
221
|
+
const oidcClient = new oidcIssuer.Client({
|
222
|
+
client_id: clientId,
|
223
|
+
client_secret: clientSecret,
|
224
|
+
redirect_uris: [this.opts.externalUrl + this.opts.oidcPath],
|
225
|
+
response_types: ['code'],
|
226
|
+
});
|
227
|
+
const oidcCodeVerifier = openid_client_1.generators.codeVerifier();
|
228
|
+
const code_challenge = openid_client_1.generators.codeChallenge(oidcCodeVerifier);
|
229
|
+
const oidcNonce = openid_client_1.generators.nonce();
|
230
|
+
const relayState = yield this.createSession({
|
231
|
+
requestId: connection.clientID,
|
232
|
+
requested: requestParams,
|
233
|
+
oidcCodeVerifier,
|
234
|
+
oidcNonce,
|
235
|
+
});
|
236
|
+
const ssoUrl = oidcClient.authorizationUrl({
|
237
|
+
scope: 'openid email profile',
|
238
|
+
code_challenge,
|
239
|
+
code_challenge_method: 'S256',
|
240
|
+
state: relayState,
|
241
|
+
nonce: oidcNonce,
|
242
|
+
});
|
243
|
+
return {
|
244
|
+
redirect_url: ssoUrl,
|
245
|
+
};
|
246
|
+
}
|
247
|
+
catch (err) {
|
248
|
+
console.error(err);
|
249
|
+
throw new error_1.JacksonError(`Unable to complete OIDC request. - ${err.message}`, 400);
|
250
|
+
}
|
251
|
+
});
|
252
|
+
}
|
200
253
|
}
|
201
|
-
exports.
|
202
|
-
//# sourceMappingURL=
|
254
|
+
exports.SSOHandler = SSOHandler;
|
255
|
+
//# sourceMappingURL=sso-handler.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sso-handler.js","sourceRoot":"","sources":["../../src/controller/sso-handler.ts"],"names":[],"mappings":"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"}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { SSO } from './sso';
|
2
2
|
import { App } from './app';
|
3
|
-
import type { JacksonOption,
|
4
|
-
declare const SAMLFederation: ({ db, opts,
|
3
|
+
import type { JacksonOption, SSOTracerInstance } from '../../typings';
|
4
|
+
declare const SAMLFederation: ({ db, opts, ssoTracer, }: {
|
5
5
|
db: any;
|
6
6
|
opts: JacksonOption;
|
7
|
-
|
7
|
+
ssoTracer: SSOTracerInstance;
|
8
8
|
}) => Promise<{
|
9
9
|
app: App;
|
10
10
|
sso: SSO;
|
@@ -25,19 +25,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
26
|
const sso_1 = require("./sso");
|
27
27
|
const app_1 = require("./app");
|
28
|
-
const
|
28
|
+
const sso_handler_1 = require("../../controller/sso-handler");
|
29
29
|
// This is the main entry point for the SAML Federation module
|
30
|
-
const SAMLFederation = ({ db, opts,
|
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);
|
33
33
|
const connectionStore = db.store('saml:config');
|
34
|
-
const
|
34
|
+
const ssoHandler = new sso_handler_1.SSOHandler({
|
35
35
|
connection: connectionStore,
|
36
36
|
session: sessionStore,
|
37
37
|
opts,
|
38
38
|
});
|
39
39
|
const app = new app_1.App({ store: appStore, opts });
|
40
|
-
const sso = new sso_1.SSO({ app,
|
40
|
+
const sso = new sso_1.SSO({ app, ssoHandler, ssoTracer, opts });
|
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,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4B;AAC5B,+BAA4B;AAE5B,8DAA0D;AAE1D,8DAA8D;AAC9D,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"}
|
@@ -1,15 +1,15 @@
|
|
1
1
|
import { App } from './app';
|
2
|
-
import {
|
3
|
-
import type { JacksonOption,
|
2
|
+
import { SSOHandler } from '../../controller/sso-handler';
|
3
|
+
import type { JacksonOption, SSOTracerInstance } from '../../typings';
|
4
4
|
export declare class SSO {
|
5
5
|
private app;
|
6
|
-
private
|
7
|
-
private
|
6
|
+
private ssoHandler;
|
7
|
+
private ssoTracer;
|
8
8
|
private opts;
|
9
|
-
constructor({ app,
|
9
|
+
constructor({ app, ssoHandler, ssoTracer, opts, }: {
|
10
10
|
app: App;
|
11
|
-
|
12
|
-
|
11
|
+
ssoHandler: SSOHandler;
|
12
|
+
ssoTracer: SSOTracerInstance;
|
13
13
|
opts: JacksonOption;
|
14
14
|
});
|
15
15
|
getAuthorizeUrl: ({ request, relayState, idp_hint, }: {
|
@@ -19,5 +19,7 @@ export declare class SSO {
|
|
19
19
|
}) => Promise<{
|
20
20
|
redirect_url: any;
|
21
21
|
authorize_form: any;
|
22
|
+
} | {
|
23
|
+
redirect_url: string;
|
22
24
|
}>;
|
23
25
|
}
|
@@ -18,8 +18,11 @@ const error_1 = require("../../controller/error");
|
|
18
18
|
const lib_1 = require("../../saml/lib");
|
19
19
|
const utils_1 = require("../../controller/utils");
|
20
20
|
const checkLicense_1 = require("../common/checkLicense");
|
21
|
+
const isSAMLConnection = (connection) => {
|
22
|
+
return 'idpMetadata' in connection;
|
23
|
+
};
|
21
24
|
class SSO {
|
22
|
-
constructor({ app,
|
25
|
+
constructor({ app, ssoHandler, ssoTracer, opts, }) {
|
23
26
|
// Accept the SAML Request from Service Provider, and create a new SAML Request to be sent to Identity Provider
|
24
27
|
this.getAuthorizeUrl = ({ request, relayState, idp_hint, }) => __awaiter(this, void 0, void 0, function* () {
|
25
28
|
yield (0, checkLicense_1.throwIfInvalidLicense)(this.opts.boxyhqLicenseKey);
|
@@ -41,7 +44,7 @@ class SSO {
|
|
41
44
|
if (app.acsUrl !== acsUrl) {
|
42
45
|
throw new error_1.JacksonError("Assertion Consumer Service URL doesn't match.", 400);
|
43
46
|
}
|
44
|
-
const response = yield this.
|
47
|
+
const response = yield this.ssoHandler.resolveConnection({
|
45
48
|
tenant: app.tenant,
|
46
49
|
product: app.product,
|
47
50
|
idp_hint,
|
@@ -60,38 +63,45 @@ class SSO {
|
|
60
63
|
};
|
61
64
|
}
|
62
65
|
// If there is a connection, use that connection
|
63
|
-
if ('connection' in response
|
66
|
+
if ('connection' in response) {
|
64
67
|
connection = response.connection;
|
65
68
|
}
|
66
69
|
if (!connection) {
|
67
|
-
throw new error_1.JacksonError('No
|
70
|
+
throw new error_1.JacksonError('No SSO connection found.', 404);
|
68
71
|
}
|
69
72
|
if (!(0, utils_1.isConnectionActive)(connection)) {
|
70
73
|
throw new error_1.JacksonError('SSO connection is deactivated. Please contact your administrator.', 403);
|
71
74
|
}
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
75
|
+
const requestParams = {
|
76
|
+
id,
|
77
|
+
acsUrl,
|
78
|
+
entityId,
|
79
|
+
publicKey,
|
80
|
+
providerName,
|
81
|
+
relayState,
|
82
|
+
tenant: app.tenant,
|
83
|
+
product: app.product,
|
84
|
+
};
|
85
|
+
return isSAMLConnection(connection)
|
86
|
+
? yield this.ssoHandler.createSAMLRequest({
|
87
|
+
connection,
|
88
|
+
requestParams,
|
89
|
+
})
|
90
|
+
: yield this.ssoHandler.createOIDCRequest({
|
91
|
+
connection,
|
92
|
+
requestParams,
|
93
|
+
});
|
85
94
|
}
|
86
95
|
catch (err) {
|
87
96
|
const error_description = (0, utils_1.getErrorMessage)(err);
|
88
|
-
this.
|
97
|
+
this.ssoTracer.saveTrace({
|
89
98
|
error: error_description,
|
90
99
|
context: {
|
91
100
|
tenant: (app === null || app === void 0 ? void 0 : app.tenant) || '',
|
92
101
|
product: (app === null || app === void 0 ? void 0 : app.product) || '',
|
93
102
|
clientID: (connection === null || connection === void 0 ? void 0 : connection.clientID) || '',
|
94
103
|
isSAMLFederated: true,
|
104
|
+
relayState,
|
95
105
|
providerName,
|
96
106
|
acsUrl,
|
97
107
|
entityId,
|
@@ -102,8 +112,8 @@ class SSO {
|
|
102
112
|
}
|
103
113
|
});
|
104
114
|
this.app = app;
|
105
|
-
this.
|
106
|
-
this.
|
115
|
+
this.ssoHandler = ssoHandler;
|
116
|
+
this.ssoTracer = ssoTracer;
|
107
117
|
this.opts = opts;
|
108
118
|
}
|
109
119
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/sso.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4DAAkC;AAGlC,kDAAsD;AAGtD,wCAA8D;AAC9D,kDAA6E;AAC7E,yDAA+D;AAE/D,MAAa,GAAG;IAMd,YAAY,EACV,GAAG,EACH,
|
1
|
+
{"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/sso.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
@@ -56,7 +56,7 @@ const x509 = __importStar(require("./saml/x509"));
|
|
56
56
|
const federated_saml_1 = __importDefault(require("./ee/federated-saml"));
|
57
57
|
const checkLicense_1 = __importDefault(require("./ee/common/checkLicense"));
|
58
58
|
const branding_1 = require("./ee/branding");
|
59
|
-
const
|
59
|
+
const sso_tracer_1 = __importDefault(require("./sso-tracer"));
|
60
60
|
const event_1 = __importDefault(require("./event"));
|
61
61
|
const product_1 = require("./ee/product");
|
62
62
|
const defaultOpts = (opts) => {
|
@@ -93,10 +93,10 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
93
93
|
const certificateStore = db.store('x509:certificates');
|
94
94
|
const settingsStore = db.store('portal:settings');
|
95
95
|
const productStore = db.store('product:config');
|
96
|
-
const
|
96
|
+
const ssoTracer = new sso_tracer_1.default({ db });
|
97
97
|
const eventController = new event_1.default({ opts });
|
98
98
|
const connectionAPIController = new api_1.ConnectionAPIController({ connectionStore, opts, eventController });
|
99
|
-
const adminController = new admin_1.AdminController({ connectionStore,
|
99
|
+
const adminController = new admin_1.AdminController({ connectionStore, ssoTracer });
|
100
100
|
const healthCheckController = new health_check_1.HealthCheckController({ healthCheckStore });
|
101
101
|
yield healthCheckController.init();
|
102
102
|
const setupLinkController = new setup_link_1.SetupLinkController({ setupLinkStore, opts });
|
@@ -108,7 +108,7 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
108
108
|
sessionStore,
|
109
109
|
codeStore,
|
110
110
|
tokenStore,
|
111
|
-
|
111
|
+
ssoTracer,
|
112
112
|
opts,
|
113
113
|
});
|
114
114
|
const logoutController = new logout_1.LogoutController({
|
@@ -120,7 +120,7 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
120
120
|
const spConfig = new sp_config_1.SPSSOConfig(opts);
|
121
121
|
const directorySyncController = yield (0, directory_sync_1.default)({ db, opts, eventController });
|
122
122
|
// Enterprise Features
|
123
|
-
const samlFederatedController = yield (0, federated_saml_1.default)({ db, opts,
|
123
|
+
const samlFederatedController = yield (0, federated_saml_1.default)({ db, opts, ssoTracer });
|
124
124
|
const brandingController = new branding_1.BrandingController({ store: settingsStore, opts });
|
125
125
|
// write pre-loaded connections if present
|
126
126
|
const preLoadedConnection = opts.preLoadedConnection || opts.preLoadedConfig;
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iDAAyB;AACzB,+DAAuC;AACvC,sEAA8C;AAC9C,8CAAqD;AACrD,0CAA2D;AAC3D,8CAAqD;AACrD,4DAAkE;AAClE,gDAAuD;AACvD,sEAAiD;AACjD,gEAAsE;AACtE,sDAAqD;AACrD,wDAA8D;AAC9D,sDAA6D;AAC7D,kDAAoC;AACpC,yEAAwF;AACxF,4EAAoD;AACpD,4CAAmD;AACnD,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { GetByProductParams, Records, Storable } from '../typings';
|
2
|
-
import type {
|
2
|
+
import type { SSOTrace, Trace } from './types';
|
3
3
|
/**
|
4
4
|
* @swagger
|
5
5
|
* definitions:
|
6
|
-
*
|
6
|
+
* SSOTrace:
|
7
7
|
* type: object
|
8
8
|
* properties:
|
9
9
|
* traceId:
|
@@ -43,15 +43,15 @@ import type { SAMLTrace, Trace } from './types';
|
|
43
43
|
* type: boolean
|
44
44
|
* description: Indicates if request is from IdP
|
45
45
|
*/
|
46
|
-
declare class
|
46
|
+
declare class SSOTracer {
|
47
47
|
tracerStore: Storable;
|
48
48
|
constructor({ db }: {
|
49
49
|
db: any;
|
50
50
|
});
|
51
|
-
saveTrace(payload:
|
51
|
+
saveTrace(payload: SSOTrace): Promise<string | undefined>;
|
52
52
|
/**
|
53
53
|
* @swagger
|
54
|
-
* /api/v1/
|
54
|
+
* /api/v1/sso-traces:
|
55
55
|
* get:
|
56
56
|
* summary: Get trace by ID
|
57
57
|
* parameters:
|
@@ -68,7 +68,7 @@ declare class SAMLTracer {
|
|
68
68
|
* '200':
|
69
69
|
* description: Success
|
70
70
|
* schema:
|
71
|
-
* $ref: '#/definitions/
|
71
|
+
* $ref: '#/definitions/SSOTrace'
|
72
72
|
*/
|
73
73
|
getByTraceId(traceId: string): Promise<Trace>;
|
74
74
|
getAllTraces(pageOffset?: number, pageLimit?: number, pageToken?: string): Promise<Records<Trace>>;
|
@@ -76,7 +76,7 @@ declare class SAMLTracer {
|
|
76
76
|
cleanUpStaleTraces(): Promise<void>;
|
77
77
|
/**
|
78
78
|
* @swagger
|
79
|
-
* /api/v1/
|
79
|
+
* /api/v1/sso-traces/product:
|
80
80
|
* get:
|
81
81
|
* summary: Get all traces for a product
|
82
82
|
* parameters:
|
@@ -91,8 +91,8 @@ declare class SAMLTracer {
|
|
91
91
|
* schema:
|
92
92
|
* type: array
|
93
93
|
* items:
|
94
|
-
* $ref: '#/definitions/
|
94
|
+
* $ref: '#/definitions/SSOTrace'
|
95
95
|
*/
|
96
96
|
getTracesByProduct(params: GetByProductParams): Promise<Records<any>>;
|
97
97
|
}
|
98
|
-
export default
|
98
|
+
export default SSOTracer;
|
@@ -18,7 +18,7 @@ const INTERVAL_1_DAY_MS = 24 * 60 * 60 * 1000;
|
|
18
18
|
/**
|
19
19
|
* @swagger
|
20
20
|
* definitions:
|
21
|
-
*
|
21
|
+
* SSOTrace:
|
22
22
|
* type: object
|
23
23
|
* properties:
|
24
24
|
* traceId:
|
@@ -58,7 +58,7 @@ const INTERVAL_1_DAY_MS = 24 * 60 * 60 * 1000;
|
|
58
58
|
* type: boolean
|
59
59
|
* description: Indicates if request is from IdP
|
60
60
|
*/
|
61
|
-
class
|
61
|
+
class SSOTracer {
|
62
62
|
constructor({ db }) {
|
63
63
|
this.tracerStore = db.store('saml:tracer');
|
64
64
|
// Clean up stale traces at the start
|
@@ -107,7 +107,7 @@ class SAMLTracer {
|
|
107
107
|
}
|
108
108
|
/**
|
109
109
|
* @swagger
|
110
|
-
* /api/v1/
|
110
|
+
* /api/v1/sso-traces:
|
111
111
|
* get:
|
112
112
|
* summary: Get trace by ID
|
113
113
|
* parameters:
|
@@ -124,7 +124,7 @@ class SAMLTracer {
|
|
124
124
|
* '200':
|
125
125
|
* description: Success
|
126
126
|
* schema:
|
127
|
-
* $ref: '#/definitions/
|
127
|
+
* $ref: '#/definitions/SSOTrace'
|
128
128
|
*/
|
129
129
|
getByTraceId(traceId) {
|
130
130
|
return __awaiter(this, void 0, void 0, function* () {
|
@@ -155,7 +155,7 @@ class SAMLTracer {
|
|
155
155
|
}
|
156
156
|
/**
|
157
157
|
* @swagger
|
158
|
-
* /api/v1/
|
158
|
+
* /api/v1/sso-traces/product:
|
159
159
|
* get:
|
160
160
|
* summary: Get all traces for a product
|
161
161
|
* parameters:
|
@@ -170,7 +170,7 @@ class SAMLTracer {
|
|
170
170
|
* schema:
|
171
171
|
* type: array
|
172
172
|
* items:
|
173
|
-
* $ref: '#/definitions/
|
173
|
+
* $ref: '#/definitions/SSOTrace'
|
174
174
|
*/
|
175
175
|
getTracesByProduct(params) {
|
176
176
|
return __awaiter(this, void 0, void 0, function* () {
|
@@ -186,5 +186,5 @@ class SAMLTracer {
|
|
186
186
|
});
|
187
187
|
}
|
188
188
|
}
|
189
|
-
exports.default =
|
189
|
+
exports.default = SSOTracer;
|
190
190
|
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sso-tracer/index.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { SAMLProfile } from '@boxyhq/saml20/dist/typings';
|
2
|
-
import
|
2
|
+
import SSOTracer from '.';
|
3
3
|
export interface Trace {
|
4
4
|
traceId: string;
|
5
5
|
timestamp: number;
|
@@ -8,7 +8,7 @@ export interface Trace {
|
|
8
8
|
[key: string]: unknown;
|
9
9
|
};
|
10
10
|
}
|
11
|
-
export interface
|
11
|
+
export interface SSOTrace extends Omit<Trace, 'traceId' | 'timestamp'> {
|
12
12
|
timestamp?: number /** Can be passed in from outside else will be set to Date.now() */;
|
13
13
|
context: Trace['context'] & {
|
14
14
|
tenant: string;
|
@@ -28,4 +28,4 @@ export interface SAMLTrace extends Omit<Trace, 'traceId' | 'timestamp'> {
|
|
28
28
|
profile?: SAMLProfile;
|
29
29
|
};
|
30
30
|
}
|
31
|
-
export type
|
31
|
+
export type SSOTracerInstance = InstanceType<typeof SSOTracer>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sso-tracer/types.ts"],"names":[],"mappings":""}
|
package/dist/typings.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { JWK } from 'jose';
|
2
2
|
import type { CallbackParamsType, IssuerMetadata } from 'openid-client';
|
3
3
|
export * from './ee/federated-saml/types';
|
4
|
-
export * from './
|
4
|
+
export * from './sso-tracer/types';
|
5
5
|
export * from './directory-sync/types';
|
6
6
|
export * from './event/types';
|
7
7
|
import db from './db/db';
|
@@ -71,8 +71,8 @@ export interface OIDCSSORecord extends SSOConnection {
|
|
71
71
|
friendlyProviderName: string | null;
|
72
72
|
discoveryUrl?: string;
|
73
73
|
metadata?: IssuerMetadata;
|
74
|
-
clientId
|
75
|
-
clientSecret
|
74
|
+
clientId: string;
|
75
|
+
clientSecret: string;
|
76
76
|
};
|
77
77
|
deactivated?: boolean;
|
78
78
|
}
|
@@ -164,14 +164,15 @@ export interface IOAuthController {
|
|
164
164
|
}>;
|
165
165
|
oidcAuthzResponse(body: OIDCAuthzResponsePayload): Promise<{
|
166
166
|
redirect_url?: string;
|
167
|
+
response_form?: string;
|
167
168
|
}>;
|
168
169
|
token(body: OAuthTokenReq): Promise<OAuthTokenRes>;
|
169
170
|
userInfo(token: string): Promise<Profile>;
|
170
171
|
}
|
171
172
|
export interface IAdminController {
|
172
173
|
getAllConnection(pageOffset?: number, pageLimit?: number, pageToken?: string): any;
|
173
|
-
|
174
|
-
|
174
|
+
getAllSSOTraces(pageOffset: number, pageLimit: number, pageToken?: string): any;
|
175
|
+
getSSOTraceById(traceId: string): any;
|
175
176
|
getTracesByProduct(product: string, pageOffset: number, pageLimit: number, pageToken?: string): any;
|
176
177
|
}
|
177
178
|
export interface IHealthCheckController {
|
package/dist/typings.js
CHANGED
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
17
|
__exportStar(require("./ee/federated-saml/types"), exports);
|
18
|
-
__exportStar(require("./
|
18
|
+
__exportStar(require("./sso-tracer/types"), exports);
|
19
19
|
__exportStar(require("./directory-sync/types"), exports);
|
20
20
|
__exportStar(require("./event/types"), exports);
|
21
21
|
//# sourceMappingURL=typings.js.map
|
package/dist/typings.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typings.js","sourceRoot":"","sources":["../src/typings.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,4DAA0C;AAC1C,
|
1
|
+
{"version":3,"file":"typings.js","sourceRoot":"","sources":["../src/typings.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,4DAA0C;AAC1C,qDAAmC;AACnC,yDAAuC;AACvC,gDAA8B"}
|