@boxyhq/saml-jackson 1.3.12 → 1.5.0
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/analytics.d.ts +12 -0
- package/dist/controller/analytics.js +66 -0
- package/dist/controller/analytics.js.map +1 -0
- package/dist/controller/api.d.ts +2 -1
- package/dist/controller/api.js +21 -0
- package/dist/controller/api.js.map +1 -1
- package/dist/controller/connection/oidc.js +1 -1
- package/dist/controller/connection/oidc.js.map +1 -1
- package/dist/controller/connection/saml.js +24 -3
- package/dist/controller/connection/saml.js.map +1 -1
- package/dist/controller/oauth.d.ts +3 -2
- package/dist/controller/oauth.js +133 -281
- package/dist/controller/oauth.js.map +1 -1
- package/dist/controller/saml-handler.d.ts +38 -0
- package/dist/controller/saml-handler.js +166 -0
- package/dist/controller/saml-handler.js.map +1 -0
- package/dist/controller/setup-link.d.ts +12 -0
- package/dist/controller/setup-link.js +134 -0
- package/dist/controller/setup-link.js.map +1 -0
- package/dist/controller/utils.d.ts +16 -1
- package/dist/controller/utils.js +48 -3
- package/dist/controller/utils.js.map +1 -1
- package/dist/db/mem.js +6 -2
- package/dist/db/mem.js.map +1 -1
- package/dist/db/utils.js +0 -1
- package/dist/db/utils.js.map +1 -1
- package/dist/directory-sync/Base.js +2 -2
- package/dist/directory-sync/Base.js.map +1 -1
- package/dist/directory-sync/WebhookEventsLogger.d.ts +4 -1
- package/dist/directory-sync/WebhookEventsLogger.js +3 -3
- package/dist/directory-sync/WebhookEventsLogger.js.map +1 -1
- package/dist/ee/common/checkLicense.d.ts +2 -0
- package/dist/ee/common/checkLicense.js +19 -0
- package/dist/ee/common/checkLicense.js.map +1 -0
- package/dist/ee/federated-saml/app.d.ts +19 -0
- package/dist/ee/federated-saml/app.js +126 -0
- package/dist/ee/federated-saml/app.js.map +1 -0
- package/dist/ee/federated-saml/index.d.ts +12 -0
- package/dist/ee/federated-saml/index.js +56 -0
- package/dist/ee/federated-saml/index.js.map +1 -0
- package/dist/ee/federated-saml/sso.d.ts +17 -0
- package/dist/ee/federated-saml/sso.js +76 -0
- package/dist/ee/federated-saml/sso.js.map +1 -0
- package/dist/ee/federated-saml/types.d.ts +18 -0
- package/dist/ee/federated-saml/types.js +3 -0
- package/dist/ee/federated-saml/types.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +21 -1
- package/dist/index.js.map +1 -1
- package/dist/saml/lib.d.ts +31 -0
- package/dist/saml/lib.js +217 -0
- package/dist/saml/lib.js.map +1 -0
- package/dist/typings.d.ts +37 -4
- package/dist/typings.js +15 -0
- package/dist/typings.js.map +1 -1
- package/package.json +15 -14
package/dist/db/mem.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mem.js","sourceRoot":"","sources":["../../src/db/mem.ts"],"names":[],"mappings":";AAAA,mFAAmF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGnF,iDAAmC;AAEnC,MAAM,GAAG;IASP,YAAY,OAAuB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,IAAI;;YACR,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,oBAAoB;YACrC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,kBAAkB;YACrC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,uDAAuD;YAC1E,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,oBAAoB;YAExC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBACpB,IAAI,CAAC,UAAU,GAAG,GAAS,EAAE;oBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;wBAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,EAAE;4BACpC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;yBACrE;qBACF;oBAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;wBACpB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;qBACrE;gBACH,CAAC,CAAA,CAAC;gBAEF,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;aACrE;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,GAAG,CAAC,SAAiB,EAAE,GAAW;;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;YACpD,IAAI,GAAG,EAAE;gBACP,OAAO,GAAG,CAAC;aACZ;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,MAAM,CAAC,SAAiB,EAAE,UAAkB,EAAE,SAAiB;;YACnE,MAAM,wBAAwB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACjG,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAE/D,IAAI,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACjF,IAAI,KAAK,GAAG,CAAC,CAAC;YAEd,IAAI,IAAI,IAAI,CAAC;YAEb,IAAI,SAAS,EAAE;gBACb,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;gBAEvE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;oBACrC,OAAO,EAAE,CAAC;iBACX;gBAED,MAAM,GAAG,GAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtD,MAAM,QAAQ,GAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;gBAElE,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;oBAC5B,IAAI,KAAK,IAAI,IAAI,EAAE;wBACjB,MAAM;qBACP;oBAED,IAAI,KAAK,IAAI,IAAI,EAAE;wBACjB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;qBACtE;oBAED,KAAK,EAAE,CAAC;iBACT;aACF;YAED,OAAO,WAAW,IAAI,EAAE,CAAC;QAC3B,CAAC;KAAA;IAEK,UAAU,CAAC,SAAiB,EAAE,GAAU;;YAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;YAEvE,MAAM,GAAG,GAAa,EAAE,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,EAAE;gBAChC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;aAC5C;YAED,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAEK,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,GAAc,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,OAAc;;YAClF,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAEtC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAEpB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;oBACjB,SAAS;oBACT,GAAG;oBACH,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI;iBACnC,CAAC;aACH;YACD,uCAAuC;YACvC,KAAK,MAAM,GAAG,IAAI,OAAO,IAAI,EAAE,EAAE;gBAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBACnD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,CAAC,GAAG,EAAE;oBACR,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;oBAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;iBAC5B;gBAED,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACb,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAChE,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACvC,IAAI,CAAC,OAAO,EAAE;oBACZ,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;oBACpB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;iBACpC;gBAED,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACrB;YACD,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,YAAY,EAAE;gBACjB,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC;gBACtF,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACnD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACpF,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACtB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;iBACpD;aACF;YAED,IAAI,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,aAAa,EAAE;gBAClB,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,GAAG,aAAa,CAAC;aACzF;YACD,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACtD,CAAC;KAAA;IAEK,MAAM,CAAC,SAAiB,EAAE,GAAW;;YACzC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAEtC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAErB,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC5D,wEAAwE;YACxE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEpC,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,EAAE;gBAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACxD;YACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"mem.js","sourceRoot":"","sources":["../../src/db/mem.ts"],"names":[],"mappings":"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"}
|
package/dist/db/utils.js
CHANGED
package/dist/db/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/db/utils.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAG3B,MAAM,GAAG,GAAG,CAAC,SAAiB,EAAE,CAAS,EAAU,EAAE;IAC1D,OAAO,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC;AAFW,QAAA,GAAG,OAEd;AAEK,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,GAAU,EAAU,EAAE;IACnE,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB;AAEK,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE;IAC7C,OAAO,IAAI,mBAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEK,MAAM,YAAY,GAAG,CAAC,GAAG,KAAe,EAAU,EAAE;IACzD,
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/db/utils.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAG3B,MAAM,GAAG,GAAG,CAAC,SAAiB,EAAE,CAAS,EAAU,EAAE;IAC1D,OAAO,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC;AAFW,QAAA,GAAG,OAEd;AAEK,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,GAAU,EAAU,EAAE;IACnE,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB;AAEK,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE;IAC7C,OAAO,IAAI,mBAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEK,MAAM,YAAY,GAAG,CAAC,GAAG,KAAe,EAAU,EAAE;IACzD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB;AAEK,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB;AACF,SAAgB,SAAS,CAAC,GAAG;IAC3B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAFD,8BAEC;AACY,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,eAAe,GAAG,YAAY,CAAC;AAC/B,QAAA,gBAAgB,GAAG,aAAa,CAAC"}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.Base = void 0;
|
4
4
|
const utils_1 = require("../controller/utils");
|
5
|
-
const
|
5
|
+
const crypto_1 = require("crypto");
|
6
6
|
class Base {
|
7
7
|
constructor({ db }) {
|
8
8
|
this.tenant = null;
|
@@ -33,7 +33,7 @@ class Base {
|
|
33
33
|
return this.setTenant(tenant).setProduct(product);
|
34
34
|
}
|
35
35
|
createId() {
|
36
|
-
return (0,
|
36
|
+
return (0, crypto_1.randomUUID)();
|
37
37
|
}
|
38
38
|
}
|
39
39
|
exports.Base = Base;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Base.js","sourceRoot":"","sources":["../../src/directory-sync/Base.ts"],"names":[],"mappings":";;;AACA,+CAA2D;AAC3D
|
1
|
+
{"version":3,"file":"Base.js","sourceRoot":"","sources":["../../src/directory-sync/Base.ts"],"names":[],"mappings":";;;AACA,+CAA2D;AAC3D,mCAAoC;AAEpC,MAAa,IAAI;IAKf,YAAY,EAAE,EAAE,EAAyB;QAH/B,WAAM,GAAkB,IAAI,CAAC;QAC7B,YAAO,GAAkB,IAAI,CAAC;QAGtC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,IAA6C;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC/D;QAED,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,4BAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAA6B;IAC7B,mBAAmB,CAAC,MAAc,EAAE,OAAe;QACjD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,MAAc,EAAE,OAAe;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,QAAQ;QACN,OAAO,IAAA,mBAAU,GAAE,CAAC;IACtB,CAAC;CACF;AA3CD,oBA2CC"}
|
@@ -6,7 +6,10 @@ export declare class WebhookEventsLogger extends Base implements IWebhookEventsL
|
|
6
6
|
});
|
7
7
|
log(directory: Directory, event: DirectorySyncEvent): Promise<WebhookEventLog>;
|
8
8
|
get(id: string): Promise<WebhookEventLog>;
|
9
|
-
getAll(
|
9
|
+
getAll({ pageOffset, pageLimit, }: {
|
10
|
+
pageOffset?: number;
|
11
|
+
pageLimit?: number;
|
12
|
+
}): Promise<WebhookEventLog[]>;
|
10
13
|
delete(id: string): Promise<void>;
|
11
14
|
clear(): Promise<void>;
|
12
15
|
updateStatus(log: WebhookEventLog, statusCode: number): Promise<WebhookEventLog>;
|
@@ -28,9 +28,9 @@ class WebhookEventsLogger extends Base_1.Base {
|
|
28
28
|
return yield this.store('logs').get(id);
|
29
29
|
});
|
30
30
|
}
|
31
|
-
getAll() {
|
31
|
+
getAll({ pageOffset, pageLimit, }) {
|
32
32
|
return __awaiter(this, void 0, void 0, function* () {
|
33
|
-
return (yield this.store('logs').getAll());
|
33
|
+
return (yield this.store('logs').getAll(pageOffset, pageLimit));
|
34
34
|
});
|
35
35
|
}
|
36
36
|
delete(id) {
|
@@ -40,7 +40,7 @@ class WebhookEventsLogger extends Base_1.Base {
|
|
40
40
|
}
|
41
41
|
clear() {
|
42
42
|
return __awaiter(this, void 0, void 0, function* () {
|
43
|
-
const events = yield this.getAll();
|
43
|
+
const events = yield this.getAll({});
|
44
44
|
yield Promise.all(events.map((event) => __awaiter(this, void 0, void 0, function* () {
|
45
45
|
yield this.delete(event.id);
|
46
46
|
})));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"WebhookEventsLogger.js","sourceRoot":"","sources":["../../src/directory-sync/WebhookEventsLogger.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOA,iCAA8B;AAE9B,MAAa,mBAAoB,SAAQ,WAAI;IAC3C,YAAY,EAAE,EAAE,EAAyB;QACvC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,CAAC;IAEY,GAAG,CAAC,SAAoB,EAAE,KAAyB;;YAC9D,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE3B,MAAM,GAAG,mCACJ,KAAK,KACR,EAAE,EACF,gBAAgB,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,EAC5C,UAAU,EAAE,IAAI,IAAI,EAAE,GACvB,CAAC;YAEF,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAEtC,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAEY,GAAG,CAAC,EAAU;;YACzB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;KAAA;IAEY,MAAM;;
|
1
|
+
{"version":3,"file":"WebhookEventsLogger.js","sourceRoot":"","sources":["../../src/directory-sync/WebhookEventsLogger.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOA,iCAA8B;AAE9B,MAAa,mBAAoB,SAAQ,WAAI;IAC3C,YAAY,EAAE,EAAE,EAAyB;QACvC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,CAAC;IAEY,GAAG,CAAC,SAAoB,EAAE,KAAyB;;YAC9D,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE3B,MAAM,GAAG,mCACJ,KAAK,KACR,EAAE,EACF,gBAAgB,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,EAC5C,UAAU,EAAE,IAAI,IAAI,EAAE,GACvB,CAAC;YAEF,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAEtC,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAEY,GAAG,CAAC,EAAU;;YACzB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;KAAA;IAEY,MAAM,CAAC,EAClB,UAAU,EACV,SAAS,GAIV;;YACC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAsB,CAAC;QACvF,CAAC;KAAA;IAEY,MAAM,CAAC,EAAU;;YAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;KAAA;IAEY,KAAK;;YAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAErC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,CAAO,KAAK,EAAE,EAAE;gBACzB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAA,CAAC,CACH,CAAC;QACJ,CAAC;KAAA;IAEY,YAAY,CAAC,GAAoB,EAAE,UAAkB;;YAChE,MAAM,UAAU,mCACX,GAAG,KACN,WAAW,EAAE,UAAU,EACvB,SAAS,EAAE,UAAU,KAAK,GAAG,GAC9B,CAAC;YAEF,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAEjD,OAAO,UAAU,CAAC;QACpB,CAAC;KAAA;CACF;AA3DD,kDA2DC"}
|
@@ -0,0 +1,19 @@
|
|
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 checkLicense = (license) => __awaiter(void 0, void 0, void 0, function* () {
|
13
|
+
if (!license) {
|
14
|
+
return false;
|
15
|
+
}
|
16
|
+
return license === 'dummy-license';
|
17
|
+
});
|
18
|
+
exports.default = checkLicense;
|
19
|
+
//# sourceMappingURL=checkLicense.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"checkLicense.js","sourceRoot":"","sources":["../../../src/ee/common/checkLicense.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,MAAM,YAAY,GAAG,CAAO,OAA2B,EAAoB,EAAE;IAC3E,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;IAED,OAAO,OAAO,KAAK,eAAe,CAAC;AACrC,CAAC,CAAA,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import type { Storable, JacksonOption, SAMLFederationAppWithMetadata, SAMLFederationApp } from '../../typings';
|
2
|
+
export declare class App {
|
3
|
+
protected store: Storable;
|
4
|
+
private opts;
|
5
|
+
constructor({ store, opts }: {
|
6
|
+
store: Storable;
|
7
|
+
opts: JacksonOption;
|
8
|
+
});
|
9
|
+
create({ name, tenant, product, acsUrl, entityId, }: Omit<SAMLFederationApp, 'id'>): Promise<SAMLFederationApp>;
|
10
|
+
get(id: string): Promise<SAMLFederationApp>;
|
11
|
+
getByEntityId(entityId: string): Promise<SAMLFederationApp>;
|
12
|
+
update(id: string, { acsUrl, entityId, name }: Partial<Omit<SAMLFederationApp, 'id'>>): Promise<SAMLFederationApp>;
|
13
|
+
getAll({ pageOffset, pageLimit, }: {
|
14
|
+
pageOffset?: number;
|
15
|
+
pageLimit?: number;
|
16
|
+
}): Promise<SAMLFederationApp[]>;
|
17
|
+
delete(id: string): Promise<void>;
|
18
|
+
getMetadata(): Promise<Pick<SAMLFederationAppWithMetadata, 'metadata'>['metadata']>;
|
19
|
+
}
|
@@ -0,0 +1,126 @@
|
|
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
|
+
exports.App = void 0;
|
13
|
+
const utils_1 = require("../../controller/utils");
|
14
|
+
const lib_1 = require("../../saml/lib");
|
15
|
+
const error_1 = require("../../controller/error");
|
16
|
+
const x509_1 = require("../../saml/x509");
|
17
|
+
const utils_2 = require("../../controller/utils");
|
18
|
+
class App {
|
19
|
+
constructor({ store, opts }) {
|
20
|
+
this.store = store;
|
21
|
+
this.opts = opts;
|
22
|
+
}
|
23
|
+
// Create a new SAML Federation app for the tenant and product
|
24
|
+
create({ name, tenant, product, acsUrl, entityId, }) {
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
26
|
+
if (!tenant || !product || !acsUrl || !entityId || !name) {
|
27
|
+
throw new error_1.JacksonError('Missing required parameters. Required parameters are: name, tenant, product, acsUrl, entityId', 400);
|
28
|
+
}
|
29
|
+
(0, utils_2.validateTenantAndProduct)(tenant, product);
|
30
|
+
const id = (0, utils_1.appID)(tenant, product);
|
31
|
+
const app = {
|
32
|
+
id,
|
33
|
+
name,
|
34
|
+
tenant,
|
35
|
+
product,
|
36
|
+
acsUrl,
|
37
|
+
entityId,
|
38
|
+
};
|
39
|
+
yield this.store.put(id, app, {
|
40
|
+
name: utils_2.IndexNames.EntityID,
|
41
|
+
value: entityId,
|
42
|
+
});
|
43
|
+
return Object.assign({}, app);
|
44
|
+
});
|
45
|
+
}
|
46
|
+
// Get an app by tenant and product
|
47
|
+
get(id) {
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
49
|
+
if (!id) {
|
50
|
+
throw new error_1.JacksonError('Missing required parameters. Required parameters are: id', 400);
|
51
|
+
}
|
52
|
+
const app = yield this.store.get(id);
|
53
|
+
if (!app) {
|
54
|
+
throw new error_1.JacksonError('SAML Federation app not found', 404);
|
55
|
+
}
|
56
|
+
return Object.assign({}, app);
|
57
|
+
});
|
58
|
+
}
|
59
|
+
// Get the app by SP EntityId
|
60
|
+
getByEntityId(entityId) {
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
62
|
+
if (!entityId) {
|
63
|
+
throw new error_1.JacksonError('Missing required parameters. Required parameters are: entityId', 400);
|
64
|
+
}
|
65
|
+
const apps = yield this.store.getByIndex({
|
66
|
+
name: utils_2.IndexNames.EntityID,
|
67
|
+
value: entityId,
|
68
|
+
});
|
69
|
+
if (!apps || apps.length === 0) {
|
70
|
+
throw new error_1.JacksonError('SAML Federation app not found', 404);
|
71
|
+
}
|
72
|
+
return Object.assign({}, apps[0]);
|
73
|
+
});
|
74
|
+
}
|
75
|
+
// Update the app
|
76
|
+
update(id, { acsUrl, entityId, name }) {
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
78
|
+
if (!id && (!acsUrl || !entityId || !name)) {
|
79
|
+
throw new error_1.JacksonError("Missing required parameters. Required parameters are: id, acsUrl, entityId, name'", 400);
|
80
|
+
}
|
81
|
+
const app = yield this.get(id);
|
82
|
+
const updatedApp = Object.assign(Object.assign({}, app), { name: name || app.name, acsUrl: acsUrl || app.acsUrl, entityId: entityId || app.entityId });
|
83
|
+
yield this.store.put(id, updatedApp);
|
84
|
+
return Object.assign({}, updatedApp);
|
85
|
+
});
|
86
|
+
}
|
87
|
+
// Get all apps
|
88
|
+
getAll({ pageOffset, pageLimit, }) {
|
89
|
+
return __awaiter(this, void 0, void 0, function* () {
|
90
|
+
const apps = (yield this.store.getAll(pageOffset, pageLimit));
|
91
|
+
return apps.map((app) => (Object.assign({}, app)));
|
92
|
+
});
|
93
|
+
}
|
94
|
+
// Delete the app
|
95
|
+
delete(id) {
|
96
|
+
return __awaiter(this, void 0, void 0, function* () {
|
97
|
+
if (!id) {
|
98
|
+
throw new error_1.JacksonError('Missing required parameters. Required parameters are: id', 400);
|
99
|
+
}
|
100
|
+
yield this.get(id);
|
101
|
+
yield this.store.delete(id);
|
102
|
+
return;
|
103
|
+
});
|
104
|
+
}
|
105
|
+
// Get the metadata for the app
|
106
|
+
getMetadata() {
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
108
|
+
const { publicKey } = yield (0, x509_1.getDefaultCertificate)();
|
109
|
+
const ssoUrl = `${this.opts.externalUrl}/api/federated-saml/sso`;
|
110
|
+
const entityId = `${this.opts.samlAudience}`;
|
111
|
+
const xml = yield (0, lib_1.createMetadataXML)({
|
112
|
+
entityId,
|
113
|
+
ssoUrl,
|
114
|
+
x509cert: publicKey,
|
115
|
+
});
|
116
|
+
return {
|
117
|
+
xml,
|
118
|
+
entityId,
|
119
|
+
ssoUrl,
|
120
|
+
x509cert: publicKey,
|
121
|
+
};
|
122
|
+
});
|
123
|
+
}
|
124
|
+
}
|
125
|
+
exports.App = App;
|
126
|
+
//# sourceMappingURL=app.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/app.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { SSO } from './sso';
|
2
|
+
import { App } from './app';
|
3
|
+
import type { JacksonOption } from '../../typings';
|
4
|
+
declare const SAMLFederation: ({ db, opts }: {
|
5
|
+
db: any;
|
6
|
+
opts: JacksonOption;
|
7
|
+
}) => Promise<{
|
8
|
+
app: App;
|
9
|
+
sso: SSO;
|
10
|
+
}>;
|
11
|
+
export default SAMLFederation;
|
12
|
+
export * from './types';
|
@@ -0,0 +1,56 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
17
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
18
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
19
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
20
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
21
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
22
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
23
|
+
});
|
24
|
+
};
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
+
const sso_1 = require("./sso");
|
27
|
+
const app_1 = require("./app");
|
28
|
+
const saml_handler_1 = require("../../controller/saml-handler");
|
29
|
+
// This is the main entry point for the SAML Federation module
|
30
|
+
const SAMLFederation = ({ db, opts }) => __awaiter(void 0, void 0, void 0, function* () {
|
31
|
+
const appStore = db.store('samlfed:apps');
|
32
|
+
const sessionStore = db.store('oauth:session', opts.db.ttl);
|
33
|
+
const connectionStore = db.store('saml:config');
|
34
|
+
const samlHandler = new saml_handler_1.SAMLHandler({
|
35
|
+
connection: connectionStore,
|
36
|
+
session: sessionStore,
|
37
|
+
opts,
|
38
|
+
});
|
39
|
+
const app = new app_1.App({ store: appStore, opts });
|
40
|
+
const sso = new sso_1.SSO({ app, samlHandler });
|
41
|
+
const response = {
|
42
|
+
app,
|
43
|
+
sso,
|
44
|
+
};
|
45
|
+
return response;
|
46
|
+
});
|
47
|
+
exports.default = SAMLFederation;
|
48
|
+
__exportStar(require("./types"), exports);
|
49
|
+
// SAML Federation flow:
|
50
|
+
// SP (Eg: Twilio Flex) --> SAML Jackson --> IdP (Eg: Okta) --> SAML Jackson --> SP (Eg: Twilio Flex)
|
51
|
+
// 1. SP send SAML Request to Jackson's SSO endpoint
|
52
|
+
// 2. Jackson process SAML Request and create a new session to store SP request information
|
53
|
+
// 3. Jackson create a new SAML Request and send it to chosen IdP
|
54
|
+
// 4. After successful authentication, IdP send (POST) SAML Response to Jackson's ACS endpoint
|
55
|
+
// 5. Jackson process SAML Response from the IdP and create a new SAML Response to send (POST) back to the SP's ACS endpoint
|
56
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +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,EAAE,EAAE,EAAE,IAAI,EAA+B,EAAE,EAAE;IACzE,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,CAAC,CAAC;IAE1C,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"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { App } from './app';
|
2
|
+
import { SAMLHandler } from '../../controller/saml-handler';
|
3
|
+
export declare class SSO {
|
4
|
+
private app;
|
5
|
+
private samlHandler;
|
6
|
+
constructor({ app, samlHandler }: {
|
7
|
+
app: App;
|
8
|
+
samlHandler: SAMLHandler;
|
9
|
+
});
|
10
|
+
getAuthorizeUrl: ({ request, relayState, idp_hint, }: {
|
11
|
+
request: string;
|
12
|
+
relayState: string;
|
13
|
+
idp_hint?: string | undefined;
|
14
|
+
}) => Promise<{
|
15
|
+
redirectUrl: string;
|
16
|
+
}>;
|
17
|
+
}
|
@@ -0,0 +1,76 @@
|
|
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.SSO = void 0;
|
16
|
+
const saml20_1 = __importDefault(require("@boxyhq/saml20"));
|
17
|
+
const error_1 = require("../../controller/error");
|
18
|
+
const lib_1 = require("../../saml/lib");
|
19
|
+
class SSO {
|
20
|
+
constructor({ app, samlHandler }) {
|
21
|
+
// Accept the SAML Request from Service Provider, and create a new SAML Request to be sent to Identity Provider
|
22
|
+
this.getAuthorizeUrl = ({ request, relayState, idp_hint, }) => __awaiter(this, void 0, void 0, function* () {
|
23
|
+
const { id, acsUrl, entityId, publicKey, providerName } = yield (0, lib_1.extractSAMLRequestAttributes)(request);
|
24
|
+
// Verify the request if it is signed
|
25
|
+
if (publicKey && !saml20_1.default.hasValidSignature(request, publicKey, null)) {
|
26
|
+
throw new error_1.JacksonError('Invalid SAML Request signature.', 400);
|
27
|
+
}
|
28
|
+
const app = yield this.app.getByEntityId(entityId);
|
29
|
+
if (app.acsUrl !== acsUrl) {
|
30
|
+
throw new error_1.JacksonError("Assertion Consumer Service URL doesn't match.", 400);
|
31
|
+
}
|
32
|
+
const response = yield this.samlHandler.resolveConnection({
|
33
|
+
tenant: app.tenant,
|
34
|
+
product: app.product,
|
35
|
+
idp_hint,
|
36
|
+
authFlow: 'saml',
|
37
|
+
originalParams: {
|
38
|
+
RelayState: relayState,
|
39
|
+
SAMLRequest: request,
|
40
|
+
},
|
41
|
+
});
|
42
|
+
// If there is a redirect URL, then we need to redirect to that URL
|
43
|
+
if ('redirectUrl' in response) {
|
44
|
+
return {
|
45
|
+
redirectUrl: response.redirectUrl,
|
46
|
+
};
|
47
|
+
}
|
48
|
+
let connection;
|
49
|
+
// If there is a connection, use that connection
|
50
|
+
if ('connection' in response && 'idpMetadata' in response.connection) {
|
51
|
+
connection = response.connection;
|
52
|
+
}
|
53
|
+
if (!connection) {
|
54
|
+
throw new error_1.JacksonError('No SAML connection found.', 404);
|
55
|
+
}
|
56
|
+
const { redirectUrl } = yield this.samlHandler.createSAMLRequest({
|
57
|
+
connection,
|
58
|
+
requestParams: {
|
59
|
+
id,
|
60
|
+
acsUrl,
|
61
|
+
entityId,
|
62
|
+
publicKey,
|
63
|
+
providerName,
|
64
|
+
relayState,
|
65
|
+
},
|
66
|
+
});
|
67
|
+
return {
|
68
|
+
redirectUrl,
|
69
|
+
};
|
70
|
+
});
|
71
|
+
this.app = app;
|
72
|
+
this.samlHandler = samlHandler;
|
73
|
+
}
|
74
|
+
}
|
75
|
+
exports.SSO = SSO;
|
76
|
+
//# sourceMappingURL=sso.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/sso.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4DAAkC;AAGlC,kDAAsD;AAGtD,wCAA8D;AAE9D,MAAa,GAAG;IAId,YAAY,EAAE,GAAG,EAAE,WAAW,EAA0C;QAKxE,+GAA+G;QACxG,oBAAe,GAAG,CAAO,EAC9B,OAAO,EACP,UAAU,EACV,QAAQ,GAKT,EAAE,EAAE;YACH,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,kCAA4B,EAAC,OAAO,CAAC,CAAC;YAEtG,qCAAqC;YACrC,IAAI,SAAS,IAAI,CAAC,gBAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClE,MAAM,IAAI,oBAAY,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;aAChE;YAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAEnD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE;gBACzB,MAAM,IAAI,oBAAY,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC;aAC9E;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;gBACxD,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,QAAQ;gBACR,QAAQ,EAAE,MAAM;gBAChB,cAAc,EAAE;oBACd,UAAU,EAAE,UAAU;oBACtB,WAAW,EAAE,OAAO;iBACrB;aACF,CAAC,CAAC;YAEH,mEAAmE;YACnE,IAAI,aAAa,IAAI,QAAQ,EAAE;gBAC7B,OAAO;oBACL,WAAW,EAAE,QAAQ,CAAC,WAAW;iBAClC,CAAC;aACH;YAED,IAAI,UAAqC,CAAC;YAE1C,gDAAgD;YAChD,IAAI,YAAY,IAAI,QAAQ,IAAI,aAAa,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACpE,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;aAClC;YAED,IAAI,CAAC,UAAU,EAAE;gBACf,MAAM,IAAI,oBAAY,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;aAC1D;YAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;gBAC/D,UAAU;gBACV,aAAa,EAAE;oBACb,EAAE;oBACF,MAAM;oBACN,QAAQ;oBACR,SAAS;oBACT,YAAY;oBACZ,UAAU;iBACX;aACF,CAAC,CAAC;YAEH,OAAO;gBACL,WAAW;aACZ,CAAC;QACJ,CAAC,CAAA,CAAC;QAvEA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CAsEF;AA7ED,kBA6EC"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import SAMLFederation from '.';
|
2
|
+
export type ISAMLFederationController = Awaited<ReturnType<typeof SAMLFederation>>;
|
3
|
+
export type SAMLFederationApp = {
|
4
|
+
id: string;
|
5
|
+
name: string;
|
6
|
+
tenant: string;
|
7
|
+
product: string;
|
8
|
+
acsUrl: string;
|
9
|
+
entityId: string;
|
10
|
+
};
|
11
|
+
export type SAMLFederationAppWithMetadata = SAMLFederationApp & {
|
12
|
+
metadata: {
|
13
|
+
entityId: string;
|
14
|
+
ssoUrl: string;
|
15
|
+
x509cert: string;
|
16
|
+
xml: string;
|
17
|
+
};
|
18
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ee/federated-saml/types.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
@@ -6,6 +6,9 @@ import { HealthCheckController } from './controller/health-check';
|
|
6
6
|
import { LogoutController } from './controller/logout';
|
7
7
|
import { OidcDiscoveryController } from './controller/oidc-discovery';
|
8
8
|
import { SPSAMLConfig } from './controller/sp-config';
|
9
|
+
import { SetupLinkController } from './controller/setup-link';
|
10
|
+
import { type ISAMLFederationController } from './ee/federated-saml';
|
11
|
+
import checkLicense from './ee/common/checkLicense';
|
9
12
|
export declare const controllers: (opts: JacksonOption) => Promise<{
|
10
13
|
apiController: ConnectionAPIController;
|
11
14
|
connectionAPIController: ConnectionAPIController;
|
@@ -13,9 +16,15 @@ export declare const controllers: (opts: JacksonOption) => Promise<{
|
|
13
16
|
adminController: AdminController;
|
14
17
|
logoutController: LogoutController;
|
15
18
|
healthCheckController: HealthCheckController;
|
19
|
+
setupLinkController: SetupLinkController;
|
16
20
|
directorySyncController: IDirectorySyncController;
|
17
21
|
oidcDiscoveryController: OidcDiscoveryController;
|
18
22
|
spConfig: SPSAMLConfig;
|
23
|
+
samlFederatedController: ISAMLFederationController;
|
24
|
+
checkLicense: () => Promise<boolean>;
|
19
25
|
}>;
|
20
26
|
export default controllers;
|
21
27
|
export * from './typings';
|
28
|
+
export * from './ee/federated-saml/types';
|
29
|
+
export type SAMLJackson = Awaited<ReturnType<typeof controllers>>;
|
30
|
+
export type ISetupLinkController = InstanceType<typeof SetupLinkController>;
|
package/dist/index.js
CHANGED
@@ -51,7 +51,11 @@ const logout_1 = require("./controller/logout");
|
|
51
51
|
const directory_sync_1 = __importDefault(require("./directory-sync"));
|
52
52
|
const oidc_discovery_1 = require("./controller/oidc-discovery");
|
53
53
|
const sp_config_1 = require("./controller/sp-config");
|
54
|
+
const setup_link_1 = require("./controller/setup-link");
|
55
|
+
const analytics_1 = require("./controller/analytics");
|
54
56
|
const x509 = __importStar(require("./saml/x509"));
|
57
|
+
const federated_saml_1 = __importDefault(require("./ee/federated-saml"));
|
58
|
+
const checkLicense_1 = __importDefault(require("./ee/common/checkLicense"));
|
55
59
|
const defaultOpts = (opts) => {
|
56
60
|
const newOpts = Object.assign({}, opts);
|
57
61
|
if (!newOpts.externalUrl) {
|
@@ -71,6 +75,7 @@ const defaultOpts = (opts) => {
|
|
71
75
|
newOpts.db.pageLimit = newOpts.db.pageLimit || 50;
|
72
76
|
newOpts.openid = newOpts.openid || {};
|
73
77
|
newOpts.openid.jwsAlg = newOpts.openid.jwsAlg || 'RS256';
|
78
|
+
newOpts.boxyhqLicenseKey = newOpts.boxyhqLicenseKey || undefined;
|
74
79
|
return newOpts;
|
75
80
|
};
|
76
81
|
const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
|
@@ -82,11 +87,19 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
82
87
|
const codeStore = db.store('oauth:code', opts.db.ttl);
|
83
88
|
const tokenStore = db.store('oauth:token', opts.db.ttl);
|
84
89
|
const healthCheckStore = db.store('_health:check');
|
90
|
+
const setupLinkStore = db.store('setup:link');
|
85
91
|
const certificateStore = db.store('x509:certificates');
|
86
92
|
const connectionAPIController = new api_1.ConnectionAPIController({ connectionStore, opts });
|
87
93
|
const adminController = new admin_1.AdminController({ connectionStore });
|
88
94
|
const healthCheckController = new health_check_1.HealthCheckController({ healthCheckStore });
|
89
95
|
yield healthCheckController.init();
|
96
|
+
const setupLinkController = new setup_link_1.SetupLinkController({ setupLinkStore });
|
97
|
+
if (!opts.noAnalytics) {
|
98
|
+
console.info('Anonymous analytics enabled. You can disable this by setting the DO_NOT_TRACK=1 or BOXYHQ_NO_ANALYTICS=1 environment variables');
|
99
|
+
const analyticsStore = db.store('_analytics:events');
|
100
|
+
const analyticsController = new analytics_1.AnalyticsController({ analyticsStore });
|
101
|
+
yield analyticsController.init();
|
102
|
+
}
|
90
103
|
// Create default certificate if it doesn't exist.
|
91
104
|
yield x509.init(certificateStore, opts);
|
92
105
|
const oauthController = new oauth_1.OAuthController({
|
@@ -101,9 +114,10 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
101
114
|
sessionStore,
|
102
115
|
opts,
|
103
116
|
});
|
104
|
-
const directorySyncController = yield (0, directory_sync_1.default)({ db, opts });
|
105
117
|
const oidcDiscoveryController = new oidc_discovery_1.OidcDiscoveryController({ opts });
|
106
118
|
const spConfig = new sp_config_1.SPSAMLConfig(opts);
|
119
|
+
const directorySyncController = yield (0, directory_sync_1.default)({ db, opts });
|
120
|
+
const samlFederatedController = yield (0, federated_saml_1.default)({ db, opts });
|
107
121
|
// write pre-loaded connections if present
|
108
122
|
const preLoadedConnection = opts.preLoadedConnection || opts.preLoadedConfig;
|
109
123
|
if (preLoadedConnection && preLoadedConnection.length > 0) {
|
@@ -128,11 +142,17 @@ const controllers = (opts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
128
142
|
adminController,
|
129
143
|
logoutController,
|
130
144
|
healthCheckController,
|
145
|
+
setupLinkController,
|
131
146
|
directorySyncController,
|
132
147
|
oidcDiscoveryController,
|
148
|
+
samlFederatedController,
|
149
|
+
checkLicense: () => {
|
150
|
+
return (0, checkLicense_1.default)(opts.boxyhqLicenseKey);
|
151
|
+
},
|
133
152
|
};
|
134
153
|
});
|
135
154
|
exports.controllers = controllers;
|
136
155
|
exports.default = exports.controllers;
|
137
156
|
__exportStar(require("./typings"), exports);
|
157
|
+
__exportStar(require("./ee/federated-saml/types"), exports);
|
138
158
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|