@boxyhq/saml-jackson 1.16.2 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,7 +6,7 @@ export declare class OAuthController implements IOAuthController {
6
6
  private tokenStore;
7
7
  private samlTracer;
8
8
  private opts;
9
- private samlHandler;
9
+ private ssoHandler;
10
10
  constructor({ connectionStore, sessionStore, codeStore, tokenStore, samlTracer, opts }: {
11
11
  connectionStore: any;
12
12
  sessionStore: any;
@@ -26,6 +26,7 @@ export declare class OAuthController implements IOAuthController {
26
26
  }>;
27
27
  oidcAuthzResponse(body: OIDCAuthzResponsePayload): Promise<{
28
28
  redirect_url?: string;
29
+ response_form?: string;
29
30
  }>;
30
31
  private _buildAuthorizationCode;
31
32
  /**
@@ -49,7 +49,7 @@ const allowed = __importStar(require("./oauth/allowed"));
49
49
  const codeVerifier = __importStar(require("./oauth/code-verifier"));
50
50
  const redirect = __importStar(require("./oauth/redirect"));
51
51
  const x509_1 = require("../saml/x509");
52
- const saml_handler_1 = require("./saml-handler");
52
+ const sso_handler_1 = require("./sso-handler");
53
53
  const lib_1 = require("../saml/lib");
54
54
  const oidc_issuer_1 = require("./oauth/oidc-issuer");
55
55
  const deflateRawAsync = (0, util_1.promisify)(zlib_1.deflateRaw);
@@ -61,7 +61,7 @@ class OAuthController {
61
61
  this.tokenStore = tokenStore;
62
62
  this.samlTracer = samlTracer;
63
63
  this.opts = opts;
64
- this.samlHandler = new saml_handler_1.SAMLHandler({
64
+ this.ssoHandler = new sso_handler_1.SSOHandler({
65
65
  connection: connectionStore,
66
66
  session: sessionStore,
67
67
  opts,
@@ -90,7 +90,7 @@ class OAuthController {
90
90
  requestedScopes = (0, utils_1.getScopeValues)(scope);
91
91
  requestedOIDCFlow = requestedScopes.includes('openid');
92
92
  if (tenant && product) {
93
- const response = yield this.samlHandler.resolveConnection({
93
+ const response = yield this.ssoHandler.resolveConnection({
94
94
  tenant,
95
95
  product,
96
96
  idp_hint,
@@ -125,7 +125,7 @@ class OAuthController {
125
125
  const { tenant, product } = sp;
126
126
  requestedTenant = tenant;
127
127
  requestedProduct = product;
128
- const response = yield this.samlHandler.resolveConnection({
128
+ const response = yield this.ssoHandler.resolveConnection({
129
129
  tenant,
130
130
  product,
131
131
  idp_hint,
@@ -480,7 +480,7 @@ class OAuthController {
480
480
  const isSPFlow = !isIdPFlow && !isSAMLFederated;
481
481
  // IdP initiated SSO flow
482
482
  if (isIdPFlow) {
483
- const response = yield this.samlHandler.resolveConnection({
483
+ const response = yield this.ssoHandler.resolveConnection({
484
484
  idp_hint,
485
485
  authFlow: 'idp-initiated',
486
486
  entityId: issuer,
@@ -554,7 +554,7 @@ class OAuthController {
554
554
  profile = yield (0, lib_1.extractSAMLResponseAttributes)(rawResponse, validateOpts);
555
555
  // This is a federated SAML flow, let's create a new SAMLResponse and POST it to the SP
556
556
  if (isSAMLFederated) {
557
- const { responseForm } = yield this.samlHandler.createSAMLResponse({ profile, session });
557
+ const { responseForm } = yield this.ssoHandler.createSAMLResponse({ profile, session });
558
558
  yield this.sessionStore.delete(sessionId);
559
559
  return { response_form: responseForm };
560
560
  }
@@ -648,16 +648,29 @@ class OAuthController {
648
648
  };
649
649
  }
650
650
  }
651
- const code = yield this._buildAuthorizationCode(oidcConnection, profile, session, false);
652
- const params = {
653
- code,
654
- };
655
- if (session && session.state) {
656
- params['state'] = session.state;
651
+ // Prepare the response
652
+ let redirectUrl;
653
+ let responseForm;
654
+ const isSAMLFederated = session && 'samlFederated' in session;
655
+ if (!isSAMLFederated) {
656
+ const code = yield this._buildAuthorizationCode(oidcConnection, profile, session, false);
657
+ const params = {
658
+ code,
659
+ };
660
+ if (session && session.state) {
661
+ params['state'] = session.state;
662
+ }
663
+ redirectUrl = redirect.success(redirect_uri, params);
664
+ }
665
+ else {
666
+ const response = yield this.ssoHandler.createSAMLResponse({ profile, session });
667
+ responseForm = response.responseForm;
657
668
  }
658
- const redirectUrl = redirect.success(redirect_uri, params);
659
669
  yield this.sessionStore.delete(RelayState);
660
- return { redirect_url: redirectUrl };
670
+ return {
671
+ redirect_url: redirectUrl,
672
+ response_form: responseForm,
673
+ };
661
674
  });
662
675
  }
663
676
  // Build the authorization code for the session
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/controller/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/controller/oauth.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { SAMLProfile } from '@boxyhq/saml20/dist/typings';
2
2
  import type { JacksonOption, Storable, SAMLSSORecord, OIDCSSORecord } from '../typings';
3
- export declare class SAMLHandler {
3
+ export declare class SSOHandler {
4
4
  private connection;
5
5
  private session;
6
6
  private opts;
@@ -24,17 +24,24 @@ export declare class SAMLHandler {
24
24
  } | {
25
25
  postForm: string;
26
26
  }>;
27
- createSAMLRequest(params: {
27
+ createSAMLRequest({ connection, requestParams, }: {
28
28
  connection: SAMLSSORecord;
29
29
  requestParams: Record<string, any>;
30
30
  }): Promise<{
31
31
  redirect_url: any;
32
32
  authorize_form: any;
33
33
  }>;
34
- createSAMLResponse: (params: {
34
+ createOIDCRequest({ connection, requestParams, }: {
35
+ connection: OIDCSSORecord;
36
+ requestParams: Record<string, any>;
37
+ }): Promise<{
38
+ redirect_url: string;
39
+ }>;
40
+ createSAMLResponse: ({ profile, session }: {
35
41
  profile: SAMLProfile;
36
42
  session: any;
37
43
  }) => Promise<{
38
44
  responseForm: string;
39
45
  }>;
46
+ private createSession;
40
47
  }
@@ -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.SAMLHandler = void 0;
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 SAMLHandler {
53
+ class SSOHandler {
52
54
  constructor({ connection, session, opts, }) {
53
- this.createSAMLResponse = (params) => __awaiter(this, void 0, void 0, function* () {
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;
@@ -136,9 +154,8 @@ class SAMLHandler {
136
154
  return { connection: connections[0] };
137
155
  });
138
156
  }
139
- createSAMLRequest(params) {
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
- // Create a new session to store SP request information
166
- const sessionId = crypto_1.default.randomBytes(16).toString('hex');
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.SAMLHandler = SAMLHandler;
202
- //# sourceMappingURL=saml-handler.js.map
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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"}
@@ -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 saml_handler_1 = require("../../controller/saml-handler");
28
+ const sso_handler_1 = require("../../controller/sso-handler");
29
29
  // This is the main entry point for the SAML Federation module
30
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');
34
- const samlHandler = new saml_handler_1.SAMLHandler({
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, samlHandler, samlTracer, opts });
40
+ const sso = new sso_1.SSO({ app, ssoHandler, samlTracer, 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,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,IAAI,EAAE,CAAC,CAAC;IAE5D,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,8DAA0D;AAE1D,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,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,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,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,14 +1,14 @@
1
1
  import { App } from './app';
2
- import { SAMLHandler } from '../../controller/saml-handler';
2
+ import { SSOHandler } from '../../controller/sso-handler';
3
3
  import type { JacksonOption, SAMLTracerInstance } from '../../typings';
4
4
  export declare class SSO {
5
5
  private app;
6
- private samlHandler;
6
+ private ssoHandler;
7
7
  private samlTracer;
8
8
  private opts;
9
- constructor({ app, samlHandler, samlTracer, opts, }: {
9
+ constructor({ app, ssoHandler, samlTracer, opts, }: {
10
10
  app: App;
11
- samlHandler: SAMLHandler;
11
+ ssoHandler: SSOHandler;
12
12
  samlTracer: SAMLTracerInstance;
13
13
  opts: JacksonOption;
14
14
  });
@@ -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, samlHandler, samlTracer, opts, }) {
25
+ constructor({ app, ssoHandler, samlTracer, 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.samlHandler.resolveConnection({
47
+ const response = yield this.ssoHandler.resolveConnection({
45
48
  tenant: app.tenant,
46
49
  product: app.product,
47
50
  idp_hint,
@@ -60,28 +63,34 @@ class SSO {
60
63
  };
61
64
  }
62
65
  // If there is a connection, use that connection
63
- if ('connection' in response && 'idpMetadata' in response.connection) {
66
+ if ('connection' in response) {
64
67
  connection = response.connection;
65
68
  }
66
69
  if (!connection) {
67
- throw new error_1.JacksonError('No SAML connection found.', 404);
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
- return yield this.samlHandler.createSAMLRequest({
73
- connection,
74
- requestParams: {
75
- id,
76
- acsUrl,
77
- entityId,
78
- publicKey,
79
- providerName,
80
- relayState,
81
- tenant: app.tenant,
82
- product: app.product,
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);
@@ -102,7 +111,7 @@ class SSO {
102
111
  }
103
112
  });
104
113
  this.app = app;
105
- this.samlHandler = samlHandler;
114
+ this.ssoHandler = ssoHandler;
106
115
  this.samlTracer = samlTracer;
107
116
  this.opts = opts;
108
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/sso.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/sso.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boxyhq/saml-jackson",
3
- "version": "1.16.2",
3
+ "version": "1.17.0",
4
4
  "description": "SAML Jackson library",
5
5
  "keywords": [
6
6
  "SAML 2.0"
@@ -39,12 +39,12 @@
39
39
  "coverage-map": "map.js"
40
40
  },
41
41
  "dependencies": {
42
- "@aws-sdk/client-dynamodb": "3.494.0",
43
- "@aws-sdk/credential-providers": "3.490.0",
44
- "@aws-sdk/util-dynamodb": "3.494.0",
42
+ "@aws-sdk/client-dynamodb": "3.495.0",
43
+ "@aws-sdk/credential-providers": "3.495.0",
44
+ "@aws-sdk/util-dynamodb": "3.495.0",
45
45
  "@boxyhq/error-code-mnemonic": "0.1.1",
46
46
  "@boxyhq/metrics": "0.2.6",
47
- "@boxyhq/saml20": "1.4.0",
47
+ "@boxyhq/saml20": "1.4.1",
48
48
  "@googleapis/admin": "15.0.0",
49
49
  "axios": "1.6.5",
50
50
  "encoding": "0.1.13",
@@ -1 +0,0 @@
1
- {"version":3,"file":"saml-handler.js","sourceRoot":"","sources":["../../src/controller/saml-handler.ts"],"names":[],"mappings":"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"}