@descope/angular-sdk 0.0.0-next-33691177-20231227 → 0.0.0-next-a14bbb42-20231227

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.
Files changed (112) hide show
  1. package/README.md +13 -448
  2. package/environment.d.ts +3 -0
  3. package/esm2022/descope-angular-sdk.mjs +5 -0
  4. package/esm2022/environment.mjs +4 -0
  5. package/esm2022/lib/components/descope/descope.component.mjs +106 -0
  6. package/esm2022/lib/components/sign-in-flow/sign-in-flow.component.mjs +40 -0
  7. package/esm2022/lib/components/sign-up-flow/sign-up-flow.component.mjs +40 -0
  8. package/esm2022/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.mjs +40 -0
  9. package/esm2022/lib/descope-auth.module.mjs +52 -0
  10. package/esm2022/lib/services/descope-auth.guard.mjs +15 -0
  11. package/esm2022/lib/services/descope-auth.service.mjs +139 -0
  12. package/esm2022/lib/services/descope.interceptor.mjs +51 -0
  13. package/esm2022/lib/types/types.mjs +6 -0
  14. package/esm2022/lib/utils/constants.mjs +7 -0
  15. package/esm2022/lib/utils/helpers.mjs +27 -0
  16. package/esm2022/public-api.mjs +13 -0
  17. package/fesm2022/descope-angular-sdk.mjs +500 -0
  18. package/fesm2022/descope-angular-sdk.mjs.map +1 -0
  19. package/index.d.ts +5 -0
  20. package/lib/components/descope/descope.component.d.ts +32 -0
  21. package/lib/components/sign-in-flow/sign-in-flow.component.d.ts +24 -0
  22. package/lib/components/sign-up-flow/sign-up-flow.component.d.ts +24 -0
  23. package/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.d.ts +24 -0
  24. package/lib/descope-auth.module.d.ts +14 -0
  25. package/lib/services/descope-auth.guard.d.ts +2 -0
  26. package/lib/services/descope-auth.service.d.ts +38 -0
  27. package/lib/services/descope.interceptor.d.ts +2 -0
  28. package/lib/types/types.d.ts +8 -0
  29. package/lib/utils/constants.d.ts +5 -0
  30. package/lib/utils/helpers.d.ts +5 -0
  31. package/package.json +32 -66
  32. package/{projects/angular-sdk/src/public-api.ts → public-api.d.ts} +0 -4
  33. package/.editorconfig +0 -16
  34. package/.eslintrc.json +0 -40
  35. package/.github/workflows/ci.yml +0 -98
  36. package/.github/workflows/publish-next.yml +0 -41
  37. package/.github/workflows/publish.yml +0 -28
  38. package/.github/workflows/release.yml +0 -45
  39. package/.husky/pre-commit +0 -4
  40. package/.prettierrc +0 -8
  41. package/.vscode/extensions.json +0 -4
  42. package/.vscode/launch.json +0 -20
  43. package/.vscode/settings.json +0 -3
  44. package/.vscode/tasks.json +0 -42
  45. package/LICENSE +0 -21
  46. package/angular.json +0 -154
  47. package/jest.config.js +0 -17
  48. package/projects/angular-sdk/.eslintrc.json +0 -32
  49. package/projects/angular-sdk/README.md +0 -25
  50. package/projects/angular-sdk/ng-package.json +0 -8
  51. package/projects/angular-sdk/package.json +0 -20
  52. package/projects/angular-sdk/src/environment.ts +0 -3
  53. package/projects/angular-sdk/src/lib/components/descope/descope.component.spec.ts +0 -104
  54. package/projects/angular-sdk/src/lib/components/descope/descope.component.ts +0 -114
  55. package/projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.html +0 -15
  56. package/projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.spec.ts +0 -53
  57. package/projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.ts +0 -32
  58. package/projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.html +0 -15
  59. package/projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.spec.ts +0 -51
  60. package/projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.ts +0 -32
  61. package/projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.html +0 -15
  62. package/projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.spec.ts +0 -53
  63. package/projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.ts +0 -32
  64. package/projects/angular-sdk/src/lib/descope-auth.module.ts +0 -46
  65. package/projects/angular-sdk/src/lib/services/descope-auth.guard.spec.ts +0 -76
  66. package/projects/angular-sdk/src/lib/services/descope-auth.guard.ts +0 -16
  67. package/projects/angular-sdk/src/lib/services/descope-auth.service.spec.ts +0 -264
  68. package/projects/angular-sdk/src/lib/services/descope-auth.service.ts +0 -176
  69. package/projects/angular-sdk/src/lib/services/descope.interceptor.spec.ts +0 -102
  70. package/projects/angular-sdk/src/lib/services/descope.interceptor.ts +0 -76
  71. package/projects/angular-sdk/src/lib/types/types.ts +0 -10
  72. package/projects/angular-sdk/src/lib/utils/constants.ts +0 -8
  73. package/projects/angular-sdk/src/lib/utils/helpers.spec.ts +0 -103
  74. package/projects/angular-sdk/src/lib/utils/helpers.ts +0 -36
  75. package/projects/angular-sdk/tsconfig.lib.json +0 -12
  76. package/projects/angular-sdk/tsconfig.lib.prod.json +0 -10
  77. package/projects/angular-sdk/tsconfig.spec.json +0 -11
  78. package/projects/demo-app/.eslintrc.json +0 -31
  79. package/projects/demo-app/src/app/app-routing.module.ts +0 -23
  80. package/projects/demo-app/src/app/app.component.html +0 -3
  81. package/projects/demo-app/src/app/app.component.scss +0 -16
  82. package/projects/demo-app/src/app/app.component.spec.ts +0 -37
  83. package/projects/demo-app/src/app/app.component.ts +0 -8
  84. package/projects/demo-app/src/app/app.module.ts +0 -52
  85. package/projects/demo-app/src/app/home/home.component.html +0 -23
  86. package/projects/demo-app/src/app/home/home.component.scss +0 -15
  87. package/projects/demo-app/src/app/home/home.component.spec.ts +0 -44
  88. package/projects/demo-app/src/app/home/home.component.ts +0 -61
  89. package/projects/demo-app/src/app/interceptor/auth.interceptor.ts +0 -20
  90. package/projects/demo-app/src/app/login/login.component.html +0 -12
  91. package/projects/demo-app/src/app/login/login.component.spec.ts +0 -42
  92. package/projects/demo-app/src/app/login/login.component.ts +0 -35
  93. package/projects/demo-app/src/app/protected/protected.component.html +0 -18
  94. package/projects/demo-app/src/app/protected/protected.component.scss +0 -8
  95. package/projects/demo-app/src/app/protected/protected.component.spec.ts +0 -42
  96. package/projects/demo-app/src/app/protected/protected.component.ts +0 -40
  97. package/projects/demo-app/src/assets/.gitkeep +0 -0
  98. package/projects/demo-app/src/environments/conifg.ts +0 -13
  99. package/projects/demo-app/src/environments/environment.ts +0 -19
  100. package/projects/demo-app/src/favicon.ico +0 -0
  101. package/projects/demo-app/src/index.html +0 -17
  102. package/projects/demo-app/src/main.ts +0 -7
  103. package/projects/demo-app/src/styles.scss +0 -21
  104. package/projects/demo-app/tsconfig.app.json +0 -10
  105. package/projects/demo-app/tsconfig.spec.json +0 -10
  106. package/renovate.json +0 -4
  107. package/scripts/gitleaks/.gitleaks.toml +0 -653
  108. package/scripts/gitleaks/gitleaks.sh +0 -34
  109. package/scripts/setversion/setversion.js +0 -20
  110. package/setup-jest.ts +0 -1
  111. package/thirdPartyLicenseCollector_linux_amd64 +0 -0
  112. package/tsconfig.json +0 -35
@@ -0,0 +1,40 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { DescopeComponent } from '../descope/descope.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../types/types";
5
+ export class SignUpFlowComponent {
6
+ constructor(descopeConfig) {
7
+ this.success = new EventEmitter();
8
+ this.error = new EventEmitter();
9
+ this.projectId = descopeConfig.projectId;
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SignUpFlowComponent, deps: [{ token: i1.DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SignUpFlowComponent, isStandalone: true, selector: "descope-sign-up-flow", inputs: { locale: "locale", theme: "theme", tenant: "tenant", telemetryKey: "telemetryKey", redirectUrl: "redirectUrl", autoFocus: "autoFocus", debug: "debug", errorTransformer: "errorTransformer", logger: "logger" }, outputs: { success: "success", error: "error" }, ngImport: i0, template: "<descope\n\t(success)=\"success.emit()\"\n\t(error)=\"error.emit()\"\n\tflowId=\"sign-up\"\n\t[locale]=\"locale\"\n\t[theme]=\"theme\"\n\t[tenant]=\"tenant\"\n\t[telemetryKey]=\"telemetryKey\"\n\t[redirectUrl]=\"redirectUrl\"\n\t[autoFocus]=\"autoFocus\"\n\t[debug]=\"debug\"\n\t[errorTransformer]=\"errorTransformer\"\n\t[logger]=\"logger\"\n>\n</descope>\n", dependencies: [{ kind: "component", type: DescopeComponent, selector: "descope[flowId]", inputs: ["flowId", "locale", "theme", "tenant", "telemetryKey", "redirectUrl", "autoFocus", "debug", "errorTransformer", "logger"], outputs: ["success", "error"] }] }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SignUpFlowComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'descope-sign-up-flow', standalone: true, imports: [DescopeComponent], template: "<descope\n\t(success)=\"success.emit()\"\n\t(error)=\"error.emit()\"\n\tflowId=\"sign-up\"\n\t[locale]=\"locale\"\n\t[theme]=\"theme\"\n\t[tenant]=\"tenant\"\n\t[telemetryKey]=\"telemetryKey\"\n\t[redirectUrl]=\"redirectUrl\"\n\t[autoFocus]=\"autoFocus\"\n\t[debug]=\"debug\"\n\t[errorTransformer]=\"errorTransformer\"\n\t[logger]=\"logger\"\n>\n</descope>\n" }]
17
+ }], ctorParameters: function () { return [{ type: i1.DescopeAuthConfig }]; }, propDecorators: { locale: [{
18
+ type: Input
19
+ }], theme: [{
20
+ type: Input
21
+ }], tenant: [{
22
+ type: Input
23
+ }], telemetryKey: [{
24
+ type: Input
25
+ }], redirectUrl: [{
26
+ type: Input
27
+ }], autoFocus: [{
28
+ type: Input
29
+ }], debug: [{
30
+ type: Input
31
+ }], errorTransformer: [{
32
+ type: Input
33
+ }], logger: [{
34
+ type: Input
35
+ }], success: [{
36
+ type: Output
37
+ }], error: [{
38
+ type: Output
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi11cC1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9zaWduLXVwLWZsb3cvc2lnbi11cC1mbG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9zaWduLXVwLWZsb3cvc2lnbi11cC1mbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQVNoRSxNQUFNLE9BQU8sbUJBQW1CO0lBaUIvQixZQUFZLGFBQWdDO1FBSGxDLFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2RCxVQUFLLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHOUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7OEdBbkJXLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDJWQ1hoQyx3V0FlQSw0Q0RQVyxnQkFBZ0I7OzJGQUdkLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDQyxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLENBQUM7d0dBTWxCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tICdAZGVzY29wZS93ZWItY29tcG9uZW50JztcbmltcG9ydCB7IERlc2NvcGVDb21wb25lbnQgfSBmcm9tICcuLi9kZXNjb3BlL2Rlc2NvcGUuY29tcG9uZW50JztcbmltcG9ydCB7IERlc2NvcGVBdXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdkZXNjb3BlLXNpZ24tdXAtZmxvdycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtEZXNjb3BlQ29tcG9uZW50XSxcblx0dGVtcGxhdGVVcmw6ICcuL3NpZ24tdXAtZmxvdy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2lnblVwRmxvd0NvbXBvbmVudCB7XG5cdHByb2plY3RJZDogc3RyaW5nO1xuXG5cdEBJbnB1dCgpIGxvY2FsZTogc3RyaW5nO1xuXHRASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyB8ICdvcyc7XG5cdEBJbnB1dCgpIHRlbmFudDogc3RyaW5nO1xuXHRASW5wdXQoKSB0ZWxlbWV0cnlLZXk6IHN0cmluZztcblx0QElucHV0KCkgcmVkaXJlY3RVcmw6IHN0cmluZztcblx0QElucHV0KCkgYXV0b0ZvY3VzOiB0cnVlIHwgZmFsc2UgfCAnc2tpcEZpcnN0U2NyZWVuJztcblxuXHRASW5wdXQoKSBkZWJ1ZzogYm9vbGVhbjtcblx0QElucHV0KCkgZXJyb3JUcmFuc2Zvcm1lcjogKGVycm9yOiB7IHRleHQ6IHN0cmluZzsgdHlwZTogc3RyaW5nIH0pID0+IHN0cmluZztcblx0QElucHV0KCkgbG9nZ2VyOiBJTG9nZ2VyO1xuXG5cdEBPdXRwdXQoKSBzdWNjZXNzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cdEBPdXRwdXQoKSBlcnJvcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdGNvbnN0cnVjdG9yKGRlc2NvcGVDb25maWc6IERlc2NvcGVBdXRoQ29uZmlnKSB7XG5cdFx0dGhpcy5wcm9qZWN0SWQgPSBkZXNjb3BlQ29uZmlnLnByb2plY3RJZDtcblx0fVxufVxuIiwiPGRlc2NvcGVcblx0KHN1Y2Nlc3MpPVwic3VjY2Vzcy5lbWl0KClcIlxuXHQoZXJyb3IpPVwiZXJyb3IuZW1pdCgpXCJcblx0Zmxvd0lkPVwic2lnbi11cFwiXG5cdFtsb2NhbGVdPVwibG9jYWxlXCJcblx0W3RoZW1lXT1cInRoZW1lXCJcblx0W3RlbmFudF09XCJ0ZW5hbnRcIlxuXHRbdGVsZW1ldHJ5S2V5XT1cInRlbGVtZXRyeUtleVwiXG5cdFtyZWRpcmVjdFVybF09XCJyZWRpcmVjdFVybFwiXG5cdFthdXRvRm9jdXNdPVwiYXV0b0ZvY3VzXCJcblx0W2RlYnVnXT1cImRlYnVnXCJcblx0W2Vycm9yVHJhbnNmb3JtZXJdPVwiZXJyb3JUcmFuc2Zvcm1lclwiXG5cdFtsb2dnZXJdPVwibG9nZ2VyXCJcbj5cbjwvZGVzY29wZT5cbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { DescopeComponent } from '../descope/descope.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../types/types";
5
+ export class SignUpOrInFlowComponent {
6
+ constructor(descopeConfig) {
7
+ this.success = new EventEmitter();
8
+ this.error = new EventEmitter();
9
+ this.projectId = descopeConfig.projectId;
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SignUpOrInFlowComponent, deps: [{ token: i1.DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SignUpOrInFlowComponent, isStandalone: true, selector: "descope-sign-up-or-in-flow", inputs: { locale: "locale", theme: "theme", tenant: "tenant", telemetryKey: "telemetryKey", redirectUrl: "redirectUrl", autoFocus: "autoFocus", debug: "debug", errorTransformer: "errorTransformer", logger: "logger" }, outputs: { success: "success", error: "error" }, ngImport: i0, template: "<descope\n\t(success)=\"success.emit()\"\n\t(error)=\"error.emit()\"\n\tflowId=\"sign-up-or-in\"\n\t[locale]=\"locale\"\n\t[theme]=\"theme\"\n\t[tenant]=\"tenant\"\n\t[telemetryKey]=\"telemetryKey\"\n\t[redirectUrl]=\"redirectUrl\"\n\t[autoFocus]=\"autoFocus\"\n\t[debug]=\"debug\"\n\t[errorTransformer]=\"errorTransformer\"\n\t[logger]=\"logger\"\n>\n</descope>\n", dependencies: [{ kind: "component", type: DescopeComponent, selector: "descope[flowId]", inputs: ["flowId", "locale", "theme", "tenant", "telemetryKey", "redirectUrl", "autoFocus", "debug", "errorTransformer", "logger"], outputs: ["success", "error"] }] }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SignUpOrInFlowComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'descope-sign-up-or-in-flow', standalone: true, imports: [DescopeComponent], template: "<descope\n\t(success)=\"success.emit()\"\n\t(error)=\"error.emit()\"\n\tflowId=\"sign-up-or-in\"\n\t[locale]=\"locale\"\n\t[theme]=\"theme\"\n\t[tenant]=\"tenant\"\n\t[telemetryKey]=\"telemetryKey\"\n\t[redirectUrl]=\"redirectUrl\"\n\t[autoFocus]=\"autoFocus\"\n\t[debug]=\"debug\"\n\t[errorTransformer]=\"errorTransformer\"\n\t[logger]=\"logger\"\n>\n</descope>\n" }]
17
+ }], ctorParameters: function () { return [{ type: i1.DescopeAuthConfig }]; }, propDecorators: { locale: [{
18
+ type: Input
19
+ }], theme: [{
20
+ type: Input
21
+ }], tenant: [{
22
+ type: Input
23
+ }], telemetryKey: [{
24
+ type: Input
25
+ }], redirectUrl: [{
26
+ type: Input
27
+ }], autoFocus: [{
28
+ type: Input
29
+ }], debug: [{
30
+ type: Input
31
+ }], errorTransformer: [{
32
+ type: Input
33
+ }], logger: [{
34
+ type: Input
35
+ }], success: [{
36
+ type: Output
37
+ }], error: [{
38
+ type: Output
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi11cC1vci1pbi1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9zaWduLXVwLW9yLWluLWZsb3cvc2lnbi11cC1vci1pbi1mbG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9zaWduLXVwLW9yLWluLWZsb3cvc2lnbi11cC1vci1pbi1mbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQVNoRSxNQUFNLE9BQU8sdUJBQXVCO0lBaUJuQyxZQUFZLGFBQWdDO1FBSGxDLFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2RCxVQUFLLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHOUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7OEdBbkJXLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGlXQ1hwQyw4V0FlQSw0Q0RQVyxnQkFBZ0I7OzJGQUdkLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDQyw0QkFBNEIsY0FDMUIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLENBQUM7d0dBTWxCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tICdAZGVzY29wZS93ZWItY29tcG9uZW50JztcbmltcG9ydCB7IERlc2NvcGVDb21wb25lbnQgfSBmcm9tICcuLi9kZXNjb3BlL2Rlc2NvcGUuY29tcG9uZW50JztcbmltcG9ydCB7IERlc2NvcGVBdXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdkZXNjb3BlLXNpZ24tdXAtb3ItaW4tZmxvdycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtEZXNjb3BlQ29tcG9uZW50XSxcblx0dGVtcGxhdGVVcmw6ICcuL3NpZ24tdXAtb3ItaW4tZmxvdy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2lnblVwT3JJbkZsb3dDb21wb25lbnQge1xuXHRwcm9qZWN0SWQ6IHN0cmluZztcblxuXHRASW5wdXQoKSBsb2NhbGU6IHN0cmluZztcblx0QElucHV0KCkgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgfCAnb3MnO1xuXHRASW5wdXQoKSB0ZW5hbnQ6IHN0cmluZztcblx0QElucHV0KCkgdGVsZW1ldHJ5S2V5OiBzdHJpbmc7XG5cdEBJbnB1dCgpIHJlZGlyZWN0VXJsOiBzdHJpbmc7XG5cdEBJbnB1dCgpIGF1dG9Gb2N1czogdHJ1ZSB8IGZhbHNlIHwgJ3NraXBGaXJzdFNjcmVlbic7XG5cblx0QElucHV0KCkgZGVidWc6IGJvb2xlYW47XG5cdEBJbnB1dCgpIGVycm9yVHJhbnNmb3JtZXI6IChlcnJvcjogeyB0ZXh0OiBzdHJpbmc7IHR5cGU6IHN0cmluZyB9KSA9PiBzdHJpbmc7XG5cdEBJbnB1dCgpIGxvZ2dlcjogSUxvZ2dlcjtcblxuXHRAT3V0cHV0KCkgc3VjY2VzczogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXHRAT3V0cHV0KCkgZXJyb3I6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuXHRjb25zdHJ1Y3RvcihkZXNjb3BlQ29uZmlnOiBEZXNjb3BlQXV0aENvbmZpZykge1xuXHRcdHRoaXMucHJvamVjdElkID0gZGVzY29wZUNvbmZpZy5wcm9qZWN0SWQ7XG5cdH1cbn1cbiIsIjxkZXNjb3BlXG5cdChzdWNjZXNzKT1cInN1Y2Nlc3MuZW1pdCgpXCJcblx0KGVycm9yKT1cImVycm9yLmVtaXQoKVwiXG5cdGZsb3dJZD1cInNpZ24tdXAtb3ItaW5cIlxuXHRbbG9jYWxlXT1cImxvY2FsZVwiXG5cdFt0aGVtZV09XCJ0aGVtZVwiXG5cdFt0ZW5hbnRdPVwidGVuYW50XCJcblx0W3RlbGVtZXRyeUtleV09XCJ0ZWxlbWV0cnlLZXlcIlxuXHRbcmVkaXJlY3RVcmxdPVwicmVkaXJlY3RVcmxcIlxuXHRbYXV0b0ZvY3VzXT1cImF1dG9Gb2N1c1wiXG5cdFtkZWJ1Z109XCJkZWJ1Z1wiXG5cdFtlcnJvclRyYW5zZm9ybWVyXT1cImVycm9yVHJhbnNmb3JtZXJcIlxuXHRbbG9nZ2VyXT1cImxvZ2dlclwiXG4+XG48L2Rlc2NvcGU+XG4iXX0=
@@ -0,0 +1,52 @@
1
+ import { CUSTOM_ELEMENTS_SCHEMA, NgModule, Optional, SkipSelf } from '@angular/core';
2
+ import { DescopeComponent } from './components/descope/descope.component';
3
+ import { SignInFlowComponent } from './components/sign-in-flow/sign-in-flow.component';
4
+ import { SignUpFlowComponent } from './components/sign-up-flow/sign-up-flow.component';
5
+ import { SignUpOrInFlowComponent } from './components/sign-up-or-in-flow/sign-up-or-in-flow.component';
6
+ import { DescopeAuthConfig } from './types/types';
7
+ import * as i0 from "@angular/core";
8
+ export class DescopeAuthModule {
9
+ constructor(parentModule) {
10
+ if (parentModule) {
11
+ throw new Error('DescopeAuthModule is already loaded. Import it only once');
12
+ }
13
+ }
14
+ static forRoot(config) {
15
+ return {
16
+ ngModule: DescopeAuthModule,
17
+ providers: [{ provide: DescopeAuthConfig, useValue: config }]
18
+ };
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DescopeAuthModule, deps: [{ token: DescopeAuthModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
21
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.9", ngImport: i0, type: DescopeAuthModule, imports: [DescopeComponent,
22
+ SignInFlowComponent,
23
+ SignUpFlowComponent,
24
+ SignUpOrInFlowComponent], exports: [DescopeComponent,
25
+ SignInFlowComponent,
26
+ SignUpFlowComponent,
27
+ SignUpOrInFlowComponent] }); }
28
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DescopeAuthModule }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DescopeAuthModule, decorators: [{
31
+ type: NgModule,
32
+ args: [{
33
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
34
+ imports: [
35
+ DescopeComponent,
36
+ SignInFlowComponent,
37
+ SignUpFlowComponent,
38
+ SignUpOrInFlowComponent
39
+ ],
40
+ exports: [
41
+ DescopeComponent,
42
+ SignInFlowComponent,
43
+ SignUpFlowComponent,
44
+ SignUpOrInFlowComponent
45
+ ]
46
+ }]
47
+ }], ctorParameters: function () { return [{ type: DescopeAuthModule, decorators: [{
48
+ type: Optional
49
+ }, {
50
+ type: SkipSelf
51
+ }] }]; } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY29wZS1hdXRoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvZGVzY29wZS1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sc0JBQXNCLEVBRXRCLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpQmxELE1BQU0sT0FBTyxpQkFBaUI7SUFDN0IsWUFBb0MsWUFBZ0M7UUFDbkUsSUFBSSxZQUFZLEVBQUU7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FDZCwwREFBMEQsQ0FDMUQsQ0FBQztTQUNGO0lBQ0YsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQ2IsTUFBMEI7UUFFMUIsT0FBTztZQUNOLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1NBQzdELENBQUM7SUFDSCxDQUFDOzhHQWhCVyxpQkFBaUI7K0dBQWpCLGlCQUFpQixZQVo1QixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQix1QkFBdUIsYUFHdkIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsdUJBQXVCOytHQUdaLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFmN0IsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFO3dCQUNSLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLHVCQUF1QjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNSLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLHVCQUF1QjtxQkFDdkI7aUJBQ0Q7OzBCQUVhLFFBQVE7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRNb2R1bGVXaXRoUHJvdmlkZXJzLFxuXHROZ01vZHVsZSxcblx0T3B0aW9uYWwsXG5cdFNraXBTZWxmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzY29wZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kZXNjb3BlL2Rlc2NvcGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNpZ25JbkZsb3dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2lnbi1pbi1mbG93L3NpZ24taW4tZmxvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lnblVwRmxvd0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaWduLXVwLWZsb3cvc2lnbi11cC1mbG93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaWduVXBPckluRmxvd0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaWduLXVwLW9yLWluLWZsb3cvc2lnbi11cC1vci1pbi1mbG93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNjb3BlQXV0aENvbmZpZyB9IGZyb20gJy4vdHlwZXMvdHlwZXMnO1xuXG5ATmdNb2R1bGUoe1xuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGltcG9ydHM6IFtcblx0XHREZXNjb3BlQ29tcG9uZW50LFxuXHRcdFNpZ25JbkZsb3dDb21wb25lbnQsXG5cdFx0U2lnblVwRmxvd0NvbXBvbmVudCxcblx0XHRTaWduVXBPckluRmxvd0NvbXBvbmVudFxuXHRdLFxuXHRleHBvcnRzOiBbXG5cdFx0RGVzY29wZUNvbXBvbmVudCxcblx0XHRTaWduSW5GbG93Q29tcG9uZW50LFxuXHRcdFNpZ25VcEZsb3dDb21wb25lbnQsXG5cdFx0U2lnblVwT3JJbkZsb3dDb21wb25lbnRcblx0XVxufSlcbmV4cG9ydCBjbGFzcyBEZXNjb3BlQXV0aE1vZHVsZSB7XG5cdGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHBhcmVudE1vZHVsZT86IERlc2NvcGVBdXRoTW9kdWxlKSB7XG5cdFx0aWYgKHBhcmVudE1vZHVsZSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHQnRGVzY29wZUF1dGhNb2R1bGUgaXMgYWxyZWFkeSBsb2FkZWQuIEltcG9ydCBpdCBvbmx5IG9uY2UnXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG5cdHN0YXRpYyBmb3JSb290KFxuXHRcdGNvbmZpZz86IERlc2NvcGVBdXRoQ29uZmlnXG5cdCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGVzY29wZUF1dGhNb2R1bGU+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0bmdNb2R1bGU6IERlc2NvcGVBdXRoTW9kdWxlLFxuXHRcdFx0cHJvdmlkZXJzOiBbeyBwcm92aWRlOiBEZXNjb3BlQXV0aENvbmZpZywgdXNlVmFsdWU6IGNvbmZpZyB9XVxuXHRcdH07XG5cdH1cbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { inject } from '@angular/core';
2
+ import { DescopeAuthService } from './descope-auth.service';
3
+ import { Router } from '@angular/router';
4
+ import { from, of } from 'rxjs';
5
+ export const descopeAuthGuard = (route) => {
6
+ const authService = inject(DescopeAuthService);
7
+ const router = inject(Router);
8
+ const fallbackUrl = route.data['descopeFallbackUrl'];
9
+ const isAuthenticated = authService.isAuthenticated();
10
+ if (!isAuthenticated && !!fallbackUrl) {
11
+ return from(router.navigate([fallbackUrl]));
12
+ }
13
+ return of(isAuthenticated);
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY29wZS1hdXRoLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1zZGsvc3JjL2xpYi9zZXJ2aWNlcy9kZXNjb3BlLWF1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQTBCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBNkIsRUFBRSxFQUFFO0lBQ2pFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDckQsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3RELElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRTtRQUN0QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzVDO0lBQ0QsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERlc2NvcGVBdXRoU2VydmljZSB9IGZyb20gJy4vZGVzY29wZS1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZyb20sIG9mIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBkZXNjb3BlQXV0aEd1YXJkID0gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSA9PiB7XG5cdGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KERlc2NvcGVBdXRoU2VydmljZSk7XG5cdGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXHRjb25zdCBmYWxsYmFja1VybCA9IHJvdXRlLmRhdGFbJ2Rlc2NvcGVGYWxsYmFja1VybCddO1xuXHRjb25zdCBpc0F1dGhlbnRpY2F0ZWQgPSBhdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKTtcblx0aWYgKCFpc0F1dGhlbnRpY2F0ZWQgJiYgISFmYWxsYmFja1VybCkge1xuXHRcdHJldHVybiBmcm9tKHJvdXRlci5uYXZpZ2F0ZShbZmFsbGJhY2tVcmxdKSk7XG5cdH1cblx0cmV0dXJuIG9mKGlzQXV0aGVudGljYXRlZCk7XG59O1xuIl19
@@ -0,0 +1,139 @@
1
+ import { Injectable } from '@angular/core';
2
+ import createSdk from '@descope/web-js-sdk';
3
+ import { BehaviorSubject, finalize, tap } from 'rxjs';
4
+ import { observabilify } from '../utils/helpers';
5
+ import { baseHeaders, isBrowser } from '../utils/constants';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../types/types";
8
+ export class DescopeAuthService {
9
+ constructor(config) {
10
+ this.descopeSdk = observabilify(createSdk({
11
+ ...config,
12
+ persistTokens: isBrowser(),
13
+ autoRefresh: isBrowser(),
14
+ baseHeaders
15
+ }));
16
+ this.sessionSubject = new BehaviorSubject({
17
+ isAuthenticated: false,
18
+ isSessionLoading: false,
19
+ sessionToken: ''
20
+ });
21
+ this.session$ = this.sessionSubject.asObservable();
22
+ this.userSubject = new BehaviorSubject({
23
+ isUserLoading: false
24
+ });
25
+ this.user$ = this.userSubject.asObservable();
26
+ this.descopeSdk.onSessionTokenChange(this.setSession.bind(this));
27
+ this.descopeSdk.onUserChange(this.setUser.bind(this));
28
+ }
29
+ refreshSession() {
30
+ const beforeRefreshSession = this.sessionSubject.value;
31
+ this.sessionSubject.next({
32
+ ...beforeRefreshSession,
33
+ isSessionLoading: true
34
+ });
35
+ return this.descopeSdk.refresh().pipe(tap((data) => {
36
+ const afterRequestSession = this.sessionSubject.value;
37
+ if (data.ok && data.data) {
38
+ this.sessionSubject.next({
39
+ ...afterRequestSession,
40
+ sessionToken: data.data.sessionJwt,
41
+ isAuthenticated: !!data.data.sessionJwt
42
+ });
43
+ }
44
+ else {
45
+ this.sessionSubject.next({
46
+ ...afterRequestSession,
47
+ sessionToken: '',
48
+ isAuthenticated: false
49
+ });
50
+ }
51
+ }), finalize(() => {
52
+ const afterRefreshSession = this.sessionSubject.value;
53
+ this.sessionSubject.next({
54
+ ...afterRefreshSession,
55
+ isSessionLoading: false
56
+ });
57
+ }));
58
+ }
59
+ refreshUser() {
60
+ const beforeRefreshUser = this.userSubject.value;
61
+ this.userSubject.next({
62
+ ...beforeRefreshUser,
63
+ isUserLoading: true
64
+ });
65
+ return this.descopeSdk.me().pipe(tap((data) => {
66
+ const afterRequestUser = this.userSubject.value;
67
+ if (data.data) {
68
+ this.userSubject.next({
69
+ ...afterRequestUser,
70
+ user: {
71
+ ...data.data
72
+ }
73
+ });
74
+ }
75
+ }), finalize(() => {
76
+ const afterRefreshUser = this.userSubject.value;
77
+ this.userSubject.next({
78
+ ...afterRefreshUser,
79
+ isUserLoading: false
80
+ });
81
+ }));
82
+ }
83
+ getSessionToken() {
84
+ if (isBrowser()) {
85
+ return this.descopeSdk.getSessionToken();
86
+ }
87
+ console.warn('Get session token is not supported in SSR');
88
+ return '';
89
+ }
90
+ getRefreshToken() {
91
+ if (isBrowser()) {
92
+ return this.descopeSdk.getRefreshToken();
93
+ }
94
+ this.descopeSdk.getJwtPermissions;
95
+ console.warn('Get refresh token is not supported in SSR');
96
+ return '';
97
+ }
98
+ getJwtPermissions(token = this.getSessionToken(), tenant) {
99
+ if (token === null) {
100
+ console.error('Could not get JWT Permissions - not authenticated');
101
+ return [];
102
+ }
103
+ return this.descopeSdk.getJwtPermissions(token, tenant);
104
+ }
105
+ getJwtRoles(token = this.getSessionToken(), tenant) {
106
+ if (token === null) {
107
+ console.error('Could not get JWT Roles - not authenticated');
108
+ return [];
109
+ }
110
+ return this.descopeSdk.getJwtRoles(token, tenant);
111
+ }
112
+ isAuthenticated() {
113
+ return this.sessionSubject.value.isAuthenticated;
114
+ }
115
+ setSession(sessionToken) {
116
+ const currentSession = this.sessionSubject.value;
117
+ this.sessionSubject.next({
118
+ sessionToken,
119
+ isAuthenticated: !!sessionToken,
120
+ isSessionLoading: currentSession.isSessionLoading
121
+ });
122
+ }
123
+ setUser(user) {
124
+ const currentUser = this.userSubject.value;
125
+ this.userSubject.next({
126
+ isUserLoading: currentUser.isUserLoading,
127
+ user
128
+ });
129
+ }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DescopeAuthService, deps: [{ token: i1.DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
131
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DescopeAuthService, providedIn: 'root' }); }
132
+ }
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DescopeAuthService, decorators: [{
134
+ type: Injectable,
135
+ args: [{
136
+ providedIn: 'root'
137
+ }]
138
+ }], ctorParameters: function () { return [{ type: i1.DescopeAuthConfig }]; } });
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY29wZS1hdXRoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXNkay9zcmMvbGliL3NlcnZpY2VzL2Rlc2NvcGUtYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBaUI1RCxNQUFNLE9BQU8sa0JBQWtCO0lBTzlCLFlBQVksTUFBeUI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQzlCLFNBQVMsQ0FBQztZQUNULEdBQUcsTUFBTTtZQUNULGFBQWEsRUFBRSxTQUFTLEVBQVU7WUFDbEMsV0FBVyxFQUFFLFNBQVMsRUFBVTtZQUNoQyxXQUFXO1NBQ1gsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksZUFBZSxDQUFpQjtZQUN6RCxlQUFlLEVBQUUsS0FBSztZQUN0QixnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLFlBQVksRUFBRSxFQUFFO1NBQ2hCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFjO1lBQ25ELGFBQWEsRUFBRSxLQUFLO1NBQ3BCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZ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LElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3hCLFlBQVk7WUFDWixlQUFlLEVBQUUsQ0FBQyxDQUFDLFlBQVk7WUFDL0IsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLGdCQUFnQjtTQUNqRCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sT0FBTyxDQUFDLElBQWtCO1FBQ2pDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3JCLGFBQWEsRUFBRSxXQUFXLENBQUMsYUFBYTtZQUN4QyxJQUFJO1NBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0F4Slcsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGbEIsTUFBTTs7MkZBRU4sa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgVXNlclJlc3BvbnNlIH0gZnJvbSAnQGRlc2NvcGUvd2ViLWpzLXNkayc7XG5pbXBvcnQgY3JlYXRlU2RrIGZyb20gJ0BkZXNjb3BlL3dlYi1qcy1zZGsnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaW5hbGl6ZSwgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBvYnNlcnZhYmlsaWZ5LCBPYnNlcnZhYmxlZmllZCB9IGZyb20gJy4uL3V0aWxzL2hlbHBlcnMnO1xuaW1wb3J0IHsgYmFzZUhlYWRlcnMsIGlzQnJvd3NlciB9IGZyb20gJy4uL3V0aWxzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEZXNjb3BlQXV0aENvbmZpZyB9IGZyb20gJy4uL3R5cGVzL3R5cGVzJztcblxudHlwZSBEZXNjb3BlU0RLID0gUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlU2RrPjtcbnR5cGUgQW5ndWxhckRlc2NvcGVTREsgPSBPYnNlcnZhYmxlZmllZDxEZXNjb3BlU0RLPjtcblxuZXhwb3J0IGludGVyZmFjZSBEZXNjb3BlU2Vzc2lvbiB7XG5cdGlzQXV0aGVudGljYXRlZDogYm9vbGVhbjtcblx0aXNTZXNzaW9uTG9hZGluZzogYm9vbGVhbjtcblx0c2Vzc2lvblRva2VuOiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgdHlwZSBEZXNjb3BlVXNlciA9IHsgdXNlcj86IFVzZXJSZXNwb25zZTsgaXNVc2VyTG9hZGluZzogYm9vbGVhbiB9O1xuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEZXNjb3BlQXV0aFNlcnZpY2Uge1xuXHRwdWJsaWMgZGVzY29wZVNkazogQW5ndWxhckRlc2NvcGVTREs7XG5cdHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxEZXNjb3BlU2Vzc2lvbj47XG5cdHByaXZhdGUgcmVhZG9ubHkgdXNlclN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxEZXNjb3BlVXNlcj47XG5cdHJlYWRvbmx5IHNlc3Npb24kOiBPYnNlcnZhYmxlPERlc2NvcGVTZXNzaW9uPjtcblx0cmVhZG9ubHkgdXNlciQ6IE9ic2VydmFibGU8RGVzY29wZVVzZXI+O1xuXG5cdGNvbnN0cnVjdG9yKGNvbmZpZzogRGVzY29wZUF1dGhDb25maWcpIHtcblx0XHR0aGlzLmRlc2NvcGVTZGsgPSBvYnNlcnZhYmlsaWZ5PERlc2NvcGVTREs+KFxuXHRcdFx0Y3JlYXRlU2RrKHtcblx0XHRcdFx0Li4uY29uZmlnLFxuXHRcdFx0XHRwZXJzaXN0VG9rZW5zOiBpc0Jyb3dzZXIoKSBhcyB0cnVlLFxuXHRcdFx0XHRhdXRvUmVmcmVzaDogaXNCcm93c2VyKCkgYXMgdHJ1ZSxcblx0XHRcdFx0YmFzZUhlYWRlcnNcblx0XHRcdH0pXG5cdFx0KTtcblxuXHRcdHRoaXMuc2Vzc2lvblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERlc2NvcGVTZXNzaW9uPih7XG5cdFx0XHRpc0F1dGhlbnRpY2F0ZWQ6IGZhbHNlLFxuXHRcdFx0aXNTZXNzaW9uTG9hZGluZzogZmFsc2UsXG5cdFx0XHRzZXNzaW9uVG9rZW46ICcnXG5cdFx0fSk7XG5cdFx0dGhpcy5zZXNzaW9uJCA9IHRoaXMuc2Vzc2lvblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cdFx0dGhpcy51c2VyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGVzY29wZVVzZXI+KHtcblx0XHRcdGlzVXNlckxvYWRpbmc6IGZhbHNlXG5cdFx0fSk7XG5cdFx0dGhpcy51c2VyJCA9IHRoaXMudXNlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cdFx0dGhpcy5kZXNjb3BlU2RrLm9uU2Vzc2lvblRva2VuQ2hhbmdlKHRoaXMuc2V0U2Vzc2lvbi5iaW5kKHRoaXMpKTtcblx0XHR0aGlzLmRlc2NvcGVTZGsub25Vc2VyQ2hhbmdlKHRoaXMuc2V0VXNlci5iaW5kKHRoaXMpKTtcblx0fVxuXG5cdHJlZnJlc2hTZXNzaW9uKCkge1xuXHRcdGNvbnN0IGJlZm9yZVJlZnJlc2hTZXNzaW9uID0gdGhpcy5zZXNzaW9uU3ViamVjdC52YWx1ZTtcblx0XHR0aGlzLnNlc3Npb25TdWJqZWN0Lm5leHQoe1xuXHRcdFx0Li4uYmVmb3JlUmVmcmVzaFNlc3Npb24sXG5cdFx0XHRpc1Nlc3Npb25Mb2FkaW5nOiB0cnVlXG5cdFx0fSk7XG5cdFx0cmV0dXJuIHRoaXMuZGVzY29wZVNkay5yZWZyZXNoKCkucGlwZShcblx0XHRcdHRhcCgoZGF0YSkgPT4ge1xuXHRcdFx0XHRjb25zdCBhZnRlclJlcXVlc3RTZXNzaW9uID0gdGhpcy5zZXNzaW9uU3ViamVjdC52YWx1ZTtcblx0XHRcdFx0aWYgKGRhdGEub2sgJiYgZGF0YS5kYXRhKSB7XG5cdFx0XHRcdFx0dGhpcy5zZXNzaW9uU3ViamVjdC5uZXh0KHtcblx0XHRcdFx0XHRcdC4uLmFmdGVyUmVxdWVzdFNlc3Npb24sXG5cdFx0XHRcdFx0XHRzZXNzaW9uVG9rZW46IGRhdGEuZGF0YS5zZXNzaW9uSnd0LFxuXHRcdFx0XHRcdFx0aXNBdXRoZW50aWNhdGVkOiAhIWRhdGEuZGF0YS5zZXNzaW9uSnd0XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5zZXNzaW9uU3ViamVjdC5uZXh0KHtcblx0XHRcdFx0XHRcdC4uLmFmdGVyUmVxdWVzdFNlc3Npb24sXG5cdFx0XHRcdFx0XHRzZXNzaW9uVG9rZW46ICcnLFxuXHRcdFx0XHRcdFx0aXNBdXRoZW50aWNhdGVkOiBmYWxzZVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9KSxcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcblx0XHRcdFx0Y29uc3QgYWZ0ZXJSZWZyZXNoU2Vzc2lvbiA9IHRoaXMuc2Vzc2lvblN1YmplY3QudmFsdWU7XG5cdFx0XHRcdHRoaXMuc2Vzc2lvblN1YmplY3QubmV4dCh7XG5cdFx0XHRcdFx0Li4uYWZ0ZXJSZWZyZXNoU2Vzc2lvbixcblx0XHRcdFx0XHRpc1Nlc3Npb25Mb2FkaW5nOiBmYWxzZVxuXHRcdFx0XHR9KTtcblx0XHRcdH0pXG5cdFx0KTtcblx0fVxuXG5cdHJlZnJlc2hVc2VyKCkge1xuXHRcdGNvbnN0IGJlZm9yZVJlZnJlc2hVc2VyID0gdGhpcy51c2VyU3ViamVjdC52YWx1ZTtcblx0XHR0aGlzLnVzZXJTdWJqZWN0Lm5leHQoe1xuXHRcdFx0Li4uYmVmb3JlUmVmcmVzaFVzZXIsXG5cdFx0XHRpc1VzZXJMb2FkaW5nOiB0cnVlXG5cdFx0fSk7XG5cdFx0cmV0dXJuIHRoaXMuZGVzY29wZVNkay5tZSgpLnBpcGUoXG5cdFx0XHR0YXAoKGRhdGEpID0+IHtcblx0XHRcdFx0Y29uc3QgYWZ0ZXJSZXF1ZXN0VXNlciA9IHRoaXMudXNlclN1YmplY3QudmFsdWU7XG5cdFx0XHRcdGlmIChkYXRhLmRhdGEpIHtcblx0XHRcdFx0XHR0aGlzLnVzZXJTdWJqZWN0Lm5leHQoe1xuXHRcdFx0XHRcdFx0Li4uYWZ0ZXJSZXF1ZXN0VXNlcixcblx0XHRcdFx0XHRcdHVzZXI6IHtcblx0XHRcdFx0XHRcdFx0Li4uZGF0YS5kYXRhXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH0pLFxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xuXHRcdFx0XHRjb25zdCBhZnRlclJlZnJlc2hVc2VyID0gdGhpcy51c2VyU3ViamVjdC52YWx1ZTtcblx0XHRcdFx0dGhpcy51c2VyU3ViamVjdC5uZXh0KHtcblx0XHRcdFx0XHQuLi5hZnRlclJlZnJlc2hVc2VyLFxuXHRcdFx0XHRcdGlzVXNlckxvYWRpbmc6IGZhbHNlXG5cdFx0XHRcdH0pO1xuXHRcdFx0fSlcblx0XHQpO1xuXHR9XG5cblx0Z2V0U2Vzc2lvblRva2VuKCkge1xuXHRcdGlmIChpc0Jyb3dzZXIoKSkge1xuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0dGhpcy5kZXNjb3BlU2RrIGFzIEFuZ3VsYXJEZXNjb3BlU0RLICYge1xuXHRcdFx0XHRcdGdldFNlc3Npb25Ub2tlbjogKCkgPT4gc3RyaW5nIHwgbnVsbDtcblx0XHRcdFx0fVxuXHRcdFx0KS5nZXRTZXNzaW9uVG9rZW4oKTtcblx0XHR9XG5cdFx0Y29uc29sZS53YXJuKCdHZXQgc2Vzc2lvbiB0b2tlbiBpcyBub3Qgc3VwcG9ydGVkIGluIFNTUicpO1xuXHRcdHJldHVybiAnJztcblx0fVxuXG5cdGdldFJlZnJlc2hUb2tlbigpIHtcblx0XHRpZiAoaXNCcm93c2VyKCkpIHtcblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdHRoaXMuZGVzY29wZVNkayBhcyBBbmd1bGFyRGVzY29wZVNESyAmIHtcblx0XHRcdFx0XHRnZXRSZWZyZXNoVG9rZW46ICgpID0+IHN0cmluZyB8IG51bGw7XG5cdFx0XHRcdH1cblx0XHRcdCkuZ2V0UmVmcmVzaFRva2VuKCk7XG5cdFx0fVxuXHRcdHRoaXMuZGVzY29wZVNkay5nZXRKd3RQZXJtaXNzaW9ucztcblx0XHRjb25zb2xlLndhcm4oJ0dldCByZWZyZXNoIHRva2VuIGlzIG5vdCBzdXBwb3J0ZWQgaW4gU1NSJyk7XG5cdFx0cmV0dXJuICcnO1xuXHR9XG5cblx0Z2V0Snd0UGVybWlzc2lvbnModG9rZW4gPSB0aGlzLmdldFNlc3Npb25Ub2tlbigpLCB0ZW5hbnQ/OiBzdHJpbmcpIHtcblx0XHRpZiAodG9rZW4gPT09IG51bGwpIHtcblx0XHRcdGNvbnNvbGUuZXJyb3IoJ0NvdWxkIG5vdCBnZXQgSldUIFBlcm1pc3Npb25zIC0gbm90IGF1dGhlbnRpY2F0ZWQnKTtcblx0XHRcdHJldHVybiBbXTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuZGVzY29wZVNkay5nZXRKd3RQZXJtaXNzaW9ucyh0b2tlbiwgdGVuYW50KTtcblx0fVxuXG5cdGdldEp3dFJvbGVzKHRva2VuID0gdGhpcy5nZXRTZXNzaW9uVG9rZW4oKSwgdGVuYW50Pzogc3RyaW5nKSB7XG5cdFx0aWYgKHRva2VuID09PSBudWxsKSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgZ2V0IEpXVCBSb2xlcyAtIG5vdCBhdXRoZW50aWNhdGVkJyk7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLmRlc2NvcGVTZGsuZ2V0Snd0Um9sZXModG9rZW4sIHRlbmFudCk7XG5cdH1cblxuXHRpc0F1dGhlbnRpY2F0ZWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuc2Vzc2lvblN1YmplY3QudmFsdWUuaXNBdXRoZW50aWNhdGVkO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRTZXNzaW9uKHNlc3Npb25Ub2tlbjogc3RyaW5nIHwgbnVsbCkge1xuXHRcdGNvbnN0IGN1cnJlbnRTZXNzaW9uID0gdGhpcy5zZXNzaW9uU3ViamVjdC52YWx1ZTtcblx0XHR0aGlzLnNlc3Npb25TdWJqZWN0Lm5leHQoe1xuXHRcdFx0c2Vzc2lvblRva2VuLFxuXHRcdFx0aXNBdXRoZW50aWNhdGVkOiAhIXNlc3Npb25Ub2tlbixcblx0XHRcdGlzU2Vzc2lvbkxvYWRpbmc6IGN1cnJlbnRTZXNzaW9uLmlzU2Vzc2lvbkxvYWRpbmdcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgc2V0VXNlcih1c2VyOiBVc2VyUmVzcG9uc2UpIHtcblx0XHRjb25zdCBjdXJyZW50VXNlciA9IHRoaXMudXNlclN1YmplY3QudmFsdWU7XG5cdFx0dGhpcy51c2VyU3ViamVjdC5uZXh0KHtcblx0XHRcdGlzVXNlckxvYWRpbmc6IGN1cnJlbnRVc2VyLmlzVXNlckxvYWRpbmcsXG5cdFx0XHR1c2VyXG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
@@ -0,0 +1,51 @@
1
+ import { inject } from '@angular/core';
2
+ import { throwError } from 'rxjs';
3
+ import { catchError, switchMap } from 'rxjs/operators';
4
+ import { DescopeAuthService } from './descope-auth.service';
5
+ import { DescopeAuthConfig } from '../types/types';
6
+ export const descopeInterceptor = (request, next) => {
7
+ const config = inject(DescopeAuthConfig);
8
+ const authService = inject(DescopeAuthService);
9
+ function refreshAndRetry(request, next, error) {
10
+ return authService.refreshSession().pipe(switchMap((refreshed) => {
11
+ if (refreshed.ok && refreshed.data) {
12
+ const requestWithRefreshedToken = addTokenToRequest(request, refreshed.data?.sessionJwt);
13
+ return next(requestWithRefreshedToken);
14
+ }
15
+ else {
16
+ return throwError(() => error ?? new Error('Could not refresh session!'));
17
+ }
18
+ }));
19
+ }
20
+ function shouldIntercept(request) {
21
+ return ((config.pathsToIntercept?.length === 0 ||
22
+ config.pathsToIntercept?.some((path) => request.url.includes(path))) ??
23
+ true);
24
+ }
25
+ function addTokenToRequest(request, token) {
26
+ return request.clone({
27
+ setHeaders: {
28
+ Authorization: `Bearer ${token}`
29
+ }
30
+ });
31
+ }
32
+ if (shouldIntercept(request)) {
33
+ const token = authService.getSessionToken();
34
+ if (!token) {
35
+ return refreshAndRetry(request, next);
36
+ }
37
+ const requestWithToken = addTokenToRequest(request, token);
38
+ return next(requestWithToken).pipe(catchError((error) => {
39
+ if (error.status === 401 || error.status === 403) {
40
+ return refreshAndRetry(request, next, error);
41
+ }
42
+ else {
43
+ return throwError(() => error);
44
+ }
45
+ }));
46
+ }
47
+ else {
48
+ return next(request);
49
+ }
50
+ };
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY29wZS5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvc2VydmljZXMvZGVzY29wZS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBc0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUU7SUFDdEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDekMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFL0MsU0FBUyxlQUFlLENBQ3ZCLE9BQTZCLEVBQzdCLElBQW1CLEVBQ25CLEtBQXlCO1FBRXpCLE9BQU8sV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FDdkMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxTQUFTLENBQUMsRUFBRSxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUU7Z0JBQ25DLE1BQU0seUJBQXlCLEdBQUcsaUJBQWlCLENBQ2xELE9BQU8sRUFDUCxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FDMUIsQ0FBQztnQkFDRixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2FBQ3ZDO2lCQUFNO2dCQUNOLE9BQU8sVUFBVSxDQUNoQixHQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FDdEQsQ0FBQzthQUNGO1FBQ0YsQ0FBQyxDQUFDLENBQ0YsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTLGVBQWUsQ0FBQyxPQUE2QjtRQUNyRCxPQUFPLENBQ04sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxLQUFLLENBQUM7WUFDckMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTLGlCQUFpQixDQUN6QixPQUE2QixFQUM3QixLQUFhO1FBRWIsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3BCLFVBQVUsRUFBRTtnQkFDWCxhQUFhLEVBQUUsVUFBVSxLQUFLLEVBQUU7YUFDaEM7U0FDRCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDN0IsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWCxPQUFPLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEM7UUFDRCxNQUFNLGdCQUFnQixHQUFHLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FDakMsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3ZDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7Z0JBQ2pELE9BQU8sZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDN0M7aUJBQU07Z0JBQ04sT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDL0I7UUFDRixDQUFDLENBQUMsQ0FDRixDQUFDO0tBQ0Y7U0FBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3JCO0FBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHRIdHRwRXJyb3JSZXNwb25zZSxcblx0SHR0cEhhbmRsZXJGbixcblx0SHR0cEludGVyY2VwdG9yRm4sXG5cdEh0dHBSZXF1ZXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERlc2NvcGVBdXRoU2VydmljZSB9IGZyb20gJy4vZGVzY29wZS1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVzY29wZUF1dGhDb25maWcgfSBmcm9tICcuLi90eXBlcy90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBkZXNjb3BlSW50ZXJjZXB0b3I6IEh0dHBJbnRlcmNlcHRvckZuID0gKHJlcXVlc3QsIG5leHQpID0+IHtcblx0Y29uc3QgY29uZmlnID0gaW5qZWN0KERlc2NvcGVBdXRoQ29uZmlnKTtcblx0Y29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3QoRGVzY29wZUF1dGhTZXJ2aWNlKTtcblxuXHRmdW5jdGlvbiByZWZyZXNoQW5kUmV0cnkoXG5cdFx0cmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXG5cdFx0bmV4dDogSHR0cEhhbmRsZXJGbixcblx0XHRlcnJvcj86IEh0dHBFcnJvclJlc3BvbnNlXG5cdCkge1xuXHRcdHJldHVybiBhdXRoU2VydmljZS5yZWZyZXNoU2Vzc2lvbigpLnBpcGUoXG5cdFx0XHRzd2l0Y2hNYXAoKHJlZnJlc2hlZCkgPT4ge1xuXHRcdFx0XHRpZiAocmVmcmVzaGVkLm9rICYmIHJlZnJlc2hlZC5kYXRhKSB7XG5cdFx0XHRcdFx0Y29uc3QgcmVxdWVzdFdpdGhSZWZyZXNoZWRUb2tlbiA9IGFkZFRva2VuVG9SZXF1ZXN0KFxuXHRcdFx0XHRcdFx0cmVxdWVzdCxcblx0XHRcdFx0XHRcdHJlZnJlc2hlZC5kYXRhPy5zZXNzaW9uSnd0XG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRyZXR1cm4gbmV4dChyZXF1ZXN0V2l0aFJlZnJlc2hlZFRva2VuKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXR1cm4gdGhyb3dFcnJvcihcblx0XHRcdFx0XHRcdCgpID0+IGVycm9yID8/IG5ldyBFcnJvcignQ291bGQgbm90IHJlZnJlc2ggc2Vzc2lvbiEnKVxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0KTtcblx0fVxuXG5cdGZ1bmN0aW9uIHNob3VsZEludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPik6IGJvb2xlYW4ge1xuXHRcdHJldHVybiAoXG5cdFx0XHQoY29uZmlnLnBhdGhzVG9JbnRlcmNlcHQ/Lmxlbmd0aCA9PT0gMCB8fFxuXHRcdFx0XHRjb25maWcucGF0aHNUb0ludGVyY2VwdD8uc29tZSgocGF0aCkgPT4gcmVxdWVzdC51cmwuaW5jbHVkZXMocGF0aCkpKSA/P1xuXHRcdFx0dHJ1ZVxuXHRcdCk7XG5cdH1cblxuXHRmdW5jdGlvbiBhZGRUb2tlblRvUmVxdWVzdChcblx0XHRyZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPixcblx0XHR0b2tlbjogc3RyaW5nXG5cdCk6IEh0dHBSZXF1ZXN0PHVua25vd24+IHtcblx0XHRyZXR1cm4gcmVxdWVzdC5jbG9uZSh7XG5cdFx0XHRzZXRIZWFkZXJzOiB7XG5cdFx0XHRcdEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gXG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRpZiAoc2hvdWxkSW50ZXJjZXB0KHJlcXVlc3QpKSB7XG5cdFx0Y29uc3QgdG9rZW4gPSBhdXRoU2VydmljZS5nZXRTZXNzaW9uVG9rZW4oKTtcblx0XHRpZiAoIXRva2VuKSB7XG5cdFx0XHRyZXR1cm4gcmVmcmVzaEFuZFJldHJ5KHJlcXVlc3QsIG5leHQpO1xuXHRcdH1cblx0XHRjb25zdCByZXF1ZXN0V2l0aFRva2VuID0gYWRkVG9rZW5Ub1JlcXVlc3QocmVxdWVzdCwgdG9rZW4pO1xuXHRcdHJldHVybiBuZXh0KHJlcXVlc3RXaXRoVG9rZW4pLnBpcGUoXG5cdFx0XHRjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcblx0XHRcdFx0aWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxIHx8IGVycm9yLnN0YXR1cyA9PT0gNDAzKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHJlZnJlc2hBbmRSZXRyeShyZXF1ZXN0LCBuZXh0LCBlcnJvcik7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdCk7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIG5leHQocmVxdWVzdCk7XG5cdH1cbn07XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export class DescopeAuthConfig {
2
+ constructor() {
3
+ this.projectId = '';
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXNkay9zcmMvbGliL3R5cGVzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDQyxjQUFTLEdBQUcsRUFBRSxDQUFDO0lBSWhCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMb2dnZXIgfSBmcm9tICdAZGVzY29wZS93ZWItY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIERlc2NvcGVBdXRoQ29uZmlnIHtcblx0cHJvamVjdElkID0gJyc7XG5cdGJhc2VVcmw/OiBzdHJpbmc7XG5cdHNlc3Npb25Ub2tlblZpYUNvb2tpZT86IGJvb2xlYW47XG5cdHBhdGhzVG9JbnRlcmNlcHQ/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IHR5cGUgeyBJTG9nZ2VyIH07XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { environment } from '../../environment';
2
+ export const baseHeaders = {
3
+ 'x-descope-sdk-name': 'angular',
4
+ 'x-descope-sdk-version': environment.buildVersion
5
+ };
6
+ export const isBrowser = () => typeof window !== 'undefined';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1zZGsvc3JjL2xpYi91dGlscy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUMxQixvQkFBb0IsRUFBRSxTQUFTO0lBQy9CLHVCQUF1QixFQUFFLFdBQVcsQ0FBQyxZQUFZO0NBQ2pELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi9lbnZpcm9ubWVudCc7XG5cbmV4cG9ydCBjb25zdCBiYXNlSGVhZGVycyA9IHtcblx0J3gtZGVzY29wZS1zZGstbmFtZSc6ICdhbmd1bGFyJyxcblx0J3gtZGVzY29wZS1zZGstdmVyc2lvbic6IGVudmlyb25tZW50LmJ1aWxkVmVyc2lvblxufTtcblxuZXhwb3J0IGNvbnN0IGlzQnJvd3NlciA9ICgpID0+IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnO1xuIl19
@@ -0,0 +1,27 @@
1
+ import { from } from 'rxjs';
2
+ export function observabilify(value) {
3
+ /* eslint-disable @typescript-eslint/no-explicit-any */
4
+ const observableValue = {};
5
+ for (const key in value) {
6
+ if (typeof value[key] === 'function') {
7
+ const fn = value[key];
8
+ observableValue[key] = (...args) => {
9
+ const fnResult = fn(...args);
10
+ if (fnResult instanceof Promise) {
11
+ return from(fnResult);
12
+ }
13
+ else {
14
+ return fnResult;
15
+ }
16
+ };
17
+ }
18
+ else if (typeof value[key] === 'object' && value[key] !== null) {
19
+ observableValue[key] = observabilify(value[key]);
20
+ }
21
+ else {
22
+ observableValue[key] = value[key];
23
+ }
24
+ }
25
+ return observableValue;
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvdXRpbHMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBWXhDLE1BQU0sVUFBVSxhQUFhLENBQUksS0FBUTtJQUN4Qyx1REFBdUQ7SUFDdkQsTUFBTSxlQUFlLEdBQVEsRUFBRSxDQUFDO0lBRWhDLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFO1FBQ3hCLElBQUksT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVSxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQW9DLENBQUM7WUFDekQsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFlLEVBQUUsRUFBRTtnQkFDN0MsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLElBQUksUUFBUSxZQUFZLE9BQU8sRUFBRTtvQkFDaEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ3RCO3FCQUFNO29CQUNOLE9BQU8sUUFBUSxDQUFDO2lCQUNoQjtZQUNGLENBQUMsQ0FBQztTQUNGO2FBQU0sSUFBSSxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNqRSxlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDTixlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2xDO0tBQ0Q7SUFFRCxPQUFPLGVBQW9DLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgT2JzZXJ2YWJsZWZpZWQ8VD4gPSB7XG5cdFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgKC4uLmFyZ3M6IGluZmVyIEFyZ3MpID0+IFByb21pc2U8aW5mZXIgUj5cblx0XHQ/ICguLi5hcmdzOiBBcmdzKSA9PiBPYnNlcnZhYmxlPFI+XG5cdFx0OiBUW0tdIGV4dGVuZHMgKC4uLmFyZ3M6IGluZmVyIEFyZ3MpID0+IGluZmVyIFJcblx0XHQ/ICguLi5hcmdzOiBBcmdzKSA9PiBSXG5cdFx0OiBUW0tdIGV4dGVuZHMgb2JqZWN0XG5cdFx0PyBPYnNlcnZhYmxlZmllZDxUW0tdPlxuXHRcdDogVFtLXTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBvYnNlcnZhYmlsaWZ5PFQ+KHZhbHVlOiBUKTogT2JzZXJ2YWJsZWZpZWQ8VD4ge1xuXHQvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5cdGNvbnN0IG9ic2VydmFibGVWYWx1ZTogYW55ID0ge307XG5cblx0Zm9yIChjb25zdCBrZXkgaW4gdmFsdWUpIHtcblx0XHRpZiAodHlwZW9mIHZhbHVlW2tleV0gPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdGNvbnN0IGZuID0gdmFsdWVba2V5XSBhcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiB1bmtub3duO1xuXHRcdFx0b2JzZXJ2YWJsZVZhbHVlW2tleV0gPSAoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGZuUmVzdWx0ID0gZm4oLi4uYXJncyk7XG5cdFx0XHRcdGlmIChmblJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcblx0XHRcdFx0XHRyZXR1cm4gZnJvbShmblJlc3VsdCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZuUmVzdWx0O1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlW2tleV0gPT09ICdvYmplY3QnICYmIHZhbHVlW2tleV0gIT09IG51bGwpIHtcblx0XHRcdG9ic2VydmFibGVWYWx1ZVtrZXldID0gb2JzZXJ2YWJpbGlmeSh2YWx1ZVtrZXldKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0b2JzZXJ2YWJsZVZhbHVlW2tleV0gPSB2YWx1ZVtrZXldO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBvYnNlcnZhYmxlVmFsdWUgYXMgT2JzZXJ2YWJsZWZpZWQ8VD47XG59XG4iXX0=
@@ -0,0 +1,13 @@
1
+ /*
2
+ * Public API Surface of angular-sdk
3
+ */
4
+ export * from './lib/services/descope-auth.service';
5
+ export * from './lib/services/descope-auth.guard';
6
+ export * from './lib/services/descope.interceptor';
7
+ export * from './lib/descope-auth.module';
8
+ export * from './lib/components/descope/descope.component';
9
+ export * from './lib/components/sign-in-flow/sign-in-flow.component';
10
+ export * from './lib/components/sign-up-flow/sign-up-flow.component';
11
+ export * from './lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component';
12
+ export * from './lib/types/types';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGFuZ3VsYXItc2RrXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZGVzY29wZS1hdXRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZGVzY29wZS1hdXRoLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Rlc2NvcGUuaW50ZXJjZXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGVzY29wZS1hdXRoLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Rlc2NvcGUvZGVzY29wZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zaWduLWluLWZsb3cvc2lnbi1pbi1mbG93LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NpZ24tdXAtZmxvdy9zaWduLXVwLWZsb3cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2lnbi11cC1vci1pbi1mbG93L3NpZ24tdXAtb3ItaW4tZmxvdy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMvdHlwZXMnO1xuIl19