@descope/angular-sdk 0.0.0-next-82470644-20240801 → 0.0.0-next-88a7f420-20250415
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/LICENSE +21 -0
- package/README.md +711 -11
- package/package.json +74 -25
- package/environment.d.ts +0 -3
- package/esm2022/descope-angular-sdk.mjs +0 -5
- package/esm2022/environment.mjs +0 -4
- package/esm2022/lib/components/access-key-management/access-key-management.component.mjs +0 -61
- package/esm2022/lib/components/audit-management/audit-management.component.mjs +0 -61
- package/esm2022/lib/components/descope/descope.component.mjs +0 -156
- package/esm2022/lib/components/role-management/role-management.component.mjs +0 -61
- package/esm2022/lib/components/sign-in-flow/sign-in-flow.component.mjs +0 -44
- package/esm2022/lib/components/sign-up-flow/sign-up-flow.component.mjs +0 -44
- package/esm2022/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.mjs +0 -44
- package/esm2022/lib/components/user-management/user-management.component.mjs +0 -61
- package/esm2022/lib/components/user-profile/user-profile.component.mjs +0 -66
- package/esm2022/lib/descope-auth.module.mjs +0 -77
- package/esm2022/lib/services/descope-auth.guard.mjs +0 -15
- package/esm2022/lib/services/descope-auth.service.mjs +0 -154
- package/esm2022/lib/services/descope.interceptor.mjs +0 -51
- package/esm2022/lib/types/types.mjs +0 -6
- package/esm2022/lib/utils/constants.mjs +0 -7
- package/esm2022/lib/utils/helpers.mjs +0 -27
- package/esm2022/public-api.mjs +0 -18
- package/fesm2022/descope-angular-sdk.mjs +0 -892
- package/fesm2022/descope-angular-sdk.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/components/access-key-management/access-key-management.component.d.ts +0 -22
- package/lib/components/audit-management/audit-management.component.d.ts +0 -22
- package/lib/components/descope/descope.component.d.ts +0 -38
- package/lib/components/role-management/role-management.component.d.ts +0 -22
- package/lib/components/sign-in-flow/sign-in-flow.component.d.ts +0 -26
- package/lib/components/sign-up-flow/sign-up-flow.component.d.ts +0 -26
- package/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.d.ts +0 -26
- package/lib/components/user-management/user-management.component.d.ts +0 -22
- package/lib/components/user-profile/user-profile.component.d.ts +0 -22
- package/lib/descope-auth.module.d.ts +0 -19
- package/lib/services/descope-auth.guard.d.ts +0 -2
- package/lib/services/descope-auth.service.d.ts +0 -40
- package/lib/services/descope.interceptor.d.ts +0 -2
- package/lib/types/types.d.ts +0 -11
- package/lib/utils/constants.d.ts +0 -5
- package/lib/utils/helpers.d.ts +0 -5
- package/public-api.d.ts +0 -14
|
@@ -1,44 +0,0 @@
|
|
|
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", client: "client", form: "form", logger: "logger" }, outputs: { success: "success", error: "error" }, ngImport: i0, template: "<descope\n\t(success)=\"success.emit($event)\"\n\t(error)=\"error.emit($event)\"\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[client]=\"client\"\n\t[form]=\"form\"\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", "client", "form", "logger"], outputs: ["success", "error", "ready"] }] }); }
|
|
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($event)\"\n\t(error)=\"error.emit($event)\"\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[client]=\"client\"\n\t[form]=\"form\"\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
|
-
}], client: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}], form: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}], logger: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], success: [{
|
|
40
|
-
type: Output
|
|
41
|
-
}], error: [{
|
|
42
|
-
type: Output
|
|
43
|
-
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi11cC1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9zaWduLXVwLWZsb3cvc2lnbi11cC1mbG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9zaWduLXVwLWZsb3cvc2lnbi11cC1mbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQVNoRSxNQUFNLE9BQU8sbUJBQW1CO0lBb0IvQixZQUFZLGFBQWdDO1FBSmxDLFlBQU8sR0FDaEIsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUN2QixVQUFLLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7UUFHNUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7OEdBdEJXLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDJYQ1hoQyw4WkFpQkEsNENEVFcsZ0JBQWdCOzsyRkFHZCxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0Msc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLGdCQUFnQixDQUFDO3dHQU1sQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU07Z0JBRUcsS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tICdAZGVzY29wZS93ZWItY29tcG9uZW50JztcbmltcG9ydCB7IERlc2NvcGVDb21wb25lbnQgfSBmcm9tICcuLi9kZXNjb3BlL2Rlc2NvcGUuY29tcG9uZW50JztcbmltcG9ydCB7IERlc2NvcGVBdXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdkZXNjb3BlLXNpZ24tdXAtZmxvdycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtEZXNjb3BlQ29tcG9uZW50XSxcblx0dGVtcGxhdGVVcmw6ICcuL3NpZ24tdXAtZmxvdy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2lnblVwRmxvd0NvbXBvbmVudCB7XG5cdHByb2plY3RJZDogc3RyaW5nO1xuXG5cdEBJbnB1dCgpIGxvY2FsZTogc3RyaW5nO1xuXHRASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyB8ICdvcyc7XG5cdEBJbnB1dCgpIHRlbmFudDogc3RyaW5nO1xuXHRASW5wdXQoKSB0ZWxlbWV0cnlLZXk6IHN0cmluZztcblx0QElucHV0KCkgcmVkaXJlY3RVcmw6IHN0cmluZztcblx0QElucHV0KCkgYXV0b0ZvY3VzOiB0cnVlIHwgZmFsc2UgfCAnc2tpcEZpcnN0U2NyZWVuJztcblxuXHRASW5wdXQoKSBkZWJ1ZzogYm9vbGVhbjtcblx0QElucHV0KCkgZXJyb3JUcmFuc2Zvcm1lcjogKGVycm9yOiB7IHRleHQ6IHN0cmluZzsgdHlwZTogc3RyaW5nIH0pID0+IHN0cmluZztcblx0QElucHV0KCkgY2xpZW50OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXHRASW5wdXQoKSBmb3JtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXHRASW5wdXQoKSBsb2dnZXI6IElMb2dnZXI7XG5cblx0QE91dHB1dCgpIHN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudD4gPVxuXHRcdG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ+KCk7XG5cdEBPdXRwdXQoKSBlcnJvcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ+KCk7XG5cblx0Y29uc3RydWN0b3IoZGVzY29wZUNvbmZpZzogRGVzY29wZUF1dGhDb25maWcpIHtcblx0XHR0aGlzLnByb2plY3RJZCA9IGRlc2NvcGVDb25maWcucHJvamVjdElkO1xuXHR9XG59XG4iLCI8ZGVzY29wZVxuXHQoc3VjY2Vzcyk9XCJzdWNjZXNzLmVtaXQoJGV2ZW50KVwiXG5cdChlcnJvcik9XCJlcnJvci5lbWl0KCRldmVudClcIlxuXHRmbG93SWQ9XCJzaWduLXVwXCJcblx0W2xvY2FsZV09XCJsb2NhbGVcIlxuXHRbdGhlbWVdPVwidGhlbWVcIlxuXHRbdGVuYW50XT1cInRlbmFudFwiXG5cdFt0ZWxlbWV0cnlLZXldPVwidGVsZW1ldHJ5S2V5XCJcblx0W3JlZGlyZWN0VXJsXT1cInJlZGlyZWN0VXJsXCJcblx0W2F1dG9Gb2N1c109XCJhdXRvRm9jdXNcIlxuXHRbZGVidWddPVwiZGVidWdcIlxuXHRbZXJyb3JUcmFuc2Zvcm1lcl09XCJlcnJvclRyYW5zZm9ybWVyXCJcblx0W2NsaWVudF09XCJjbGllbnRcIlxuXHRbZm9ybV09XCJmb3JtXCJcblx0W2xvZ2dlcl09XCJsb2dnZXJcIlxuPlxuPC9kZXNjb3BlPlxuIl19
|
|
@@ -1,44 +0,0 @@
|
|
|
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", client: "client", form: "form", logger: "logger" }, outputs: { success: "success", error: "error" }, ngImport: i0, template: "<descope\n\t(success)=\"success.emit($event)\"\n\t(error)=\"error.emit($event)\"\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[client]=\"client\"\n\t[form]=\"form\"\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", "client", "form", "logger"], outputs: ["success", "error", "ready"] }] }); }
|
|
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($event)\"\n\t(error)=\"error.emit($event)\"\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[client]=\"client\"\n\t[form]=\"form\"\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
|
-
}], client: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}], form: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}], logger: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], success: [{
|
|
40
|
-
type: Output
|
|
41
|
-
}], error: [{
|
|
42
|
-
type: Output
|
|
43
|
-
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi11cC1vci1pbi1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9zaWduLXVwLW9yLWluLWZsb3cvc2lnbi11cC1vci1pbi1mbG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9zaWduLXVwLW9yLWluLWZsb3cvc2lnbi11cC1vci1pbi1mbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQVNoRSxNQUFNLE9BQU8sdUJBQXVCO0lBb0JuQyxZQUFZLGFBQWdDO1FBSmxDLFlBQU8sR0FDaEIsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUN2QixVQUFLLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7UUFHNUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7OEdBdEJXLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGlZQ1hwQyxvYUFpQkEsNENEVFcsZ0JBQWdCOzsyRkFHZCx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0MsNEJBQTRCLGNBQzFCLElBQUksV0FDUCxDQUFDLGdCQUFnQixDQUFDO3dHQU1sQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU07Z0JBRUcsS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tICdAZGVzY29wZS93ZWItY29tcG9uZW50JztcbmltcG9ydCB7IERlc2NvcGVDb21wb25lbnQgfSBmcm9tICcuLi9kZXNjb3BlL2Rlc2NvcGUuY29tcG9uZW50JztcbmltcG9ydCB7IERlc2NvcGVBdXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdkZXNjb3BlLXNpZ24tdXAtb3ItaW4tZmxvdycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtEZXNjb3BlQ29tcG9uZW50XSxcblx0dGVtcGxhdGVVcmw6ICcuL3NpZ24tdXAtb3ItaW4tZmxvdy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2lnblVwT3JJbkZsb3dDb21wb25lbnQge1xuXHRwcm9qZWN0SWQ6IHN0cmluZztcblxuXHRASW5wdXQoKSBsb2NhbGU6IHN0cmluZztcblx0QElucHV0KCkgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgfCAnb3MnO1xuXHRASW5wdXQoKSB0ZW5hbnQ6IHN0cmluZztcblx0QElucHV0KCkgdGVsZW1ldHJ5S2V5OiBzdHJpbmc7XG5cdEBJbnB1dCgpIHJlZGlyZWN0VXJsOiBzdHJpbmc7XG5cdEBJbnB1dCgpIGF1dG9Gb2N1czogdHJ1ZSB8IGZhbHNlIHwgJ3NraXBGaXJzdFNjcmVlbic7XG5cblx0QElucHV0KCkgZGVidWc6IGJvb2xlYW47XG5cdEBJbnB1dCgpIGVycm9yVHJhbnNmb3JtZXI6IChlcnJvcjogeyB0ZXh0OiBzdHJpbmc7IHR5cGU6IHN0cmluZyB9KSA9PiBzdHJpbmc7XG5cdEBJbnB1dCgpIGNsaWVudDogUmVjb3JkPHN0cmluZywgYW55Pjtcblx0QElucHV0KCkgZm9ybTogUmVjb3JkPHN0cmluZywgYW55Pjtcblx0QElucHV0KCkgbG9nZ2VyOiBJTG9nZ2VyO1xuXG5cdEBPdXRwdXQoKSBzdWNjZXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ+ID1cblx0XHRuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PigpO1xuXHRAT3V0cHV0KCkgZXJyb3I6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PigpO1xuXG5cdGNvbnN0cnVjdG9yKGRlc2NvcGVDb25maWc6IERlc2NvcGVBdXRoQ29uZmlnKSB7XG5cdFx0dGhpcy5wcm9qZWN0SWQgPSBkZXNjb3BlQ29uZmlnLnByb2plY3RJZDtcblx0fVxufVxuIiwiPGRlc2NvcGVcblx0KHN1Y2Nlc3MpPVwic3VjY2Vzcy5lbWl0KCRldmVudClcIlxuXHQoZXJyb3IpPVwiZXJyb3IuZW1pdCgkZXZlbnQpXCJcblx0Zmxvd0lkPVwic2lnbi11cC1vci1pblwiXG5cdFtsb2NhbGVdPVwibG9jYWxlXCJcblx0W3RoZW1lXT1cInRoZW1lXCJcblx0W3RlbmFudF09XCJ0ZW5hbnRcIlxuXHRbdGVsZW1ldHJ5S2V5XT1cInRlbGVtZXRyeUtleVwiXG5cdFtyZWRpcmVjdFVybF09XCJyZWRpcmVjdFVybFwiXG5cdFthdXRvRm9jdXNdPVwiYXV0b0ZvY3VzXCJcblx0W2RlYnVnXT1cImRlYnVnXCJcblx0W2Vycm9yVHJhbnNmb3JtZXJdPVwiZXJyb3JUcmFuc2Zvcm1lclwiXG5cdFtjbGllbnRdPVwiY2xpZW50XCJcblx0W2Zvcm1dPVwiZm9ybVwiXG5cdFtsb2dnZXJdPVwibG9nZ2VyXCJcbj5cbjwvZGVzY29wZT5cbiJdfQ==
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import DescopeUserManagementWidget from '@descope/user-management-widget';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../types/types";
|
|
5
|
-
export class UserManagementComponent {
|
|
6
|
-
constructor(elementRef, descopeConfig) {
|
|
7
|
-
this.elementRef = elementRef;
|
|
8
|
-
this.webComponent = new DescopeUserManagementWidget();
|
|
9
|
-
this.projectId = descopeConfig.projectId;
|
|
10
|
-
this.baseUrl = descopeConfig.baseUrl;
|
|
11
|
-
this.baseStaticUrl = descopeConfig.baseStaticUrl;
|
|
12
|
-
}
|
|
13
|
-
ngOnInit() {
|
|
14
|
-
this.setupWebComponent();
|
|
15
|
-
this.elementRef.nativeElement.appendChild(this.webComponent);
|
|
16
|
-
}
|
|
17
|
-
ngOnChanges() {
|
|
18
|
-
this.setupWebComponent();
|
|
19
|
-
}
|
|
20
|
-
setupWebComponent() {
|
|
21
|
-
this.webComponent.setAttribute('project-id', this.projectId);
|
|
22
|
-
this.webComponent.setAttribute('tenant', this.tenant);
|
|
23
|
-
this.webComponent.setAttribute('widget-id', this.widgetId);
|
|
24
|
-
if (this.baseUrl) {
|
|
25
|
-
this.webComponent.setAttribute('base-url', this.baseUrl);
|
|
26
|
-
}
|
|
27
|
-
if (this.baseStaticUrl) {
|
|
28
|
-
this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);
|
|
29
|
-
}
|
|
30
|
-
if (this.theme) {
|
|
31
|
-
this.webComponent.setAttribute('theme', this.theme);
|
|
32
|
-
}
|
|
33
|
-
if (this.debug) {
|
|
34
|
-
this.webComponent.setAttribute('debug', this.debug.toString());
|
|
35
|
-
}
|
|
36
|
-
if (this.logger) {
|
|
37
|
-
this.webComponent.logger = this.logger;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UserManagementComponent, deps: [{ token: i0.ElementRef }, { token: i1.DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: UserManagementComponent, isStandalone: true, selector: "user-management[tenant]", inputs: { tenant: "tenant", widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
|
|
42
|
-
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UserManagementComponent, decorators: [{
|
|
44
|
-
type: Component,
|
|
45
|
-
args: [{
|
|
46
|
-
selector: 'user-management[tenant]',
|
|
47
|
-
standalone: true,
|
|
48
|
-
template: ''
|
|
49
|
-
}]
|
|
50
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DescopeAuthConfig }]; }, propDecorators: { tenant: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}], widgetId: [{
|
|
53
|
-
type: Input
|
|
54
|
-
}], theme: [{
|
|
55
|
-
type: Input
|
|
56
|
-
}], debug: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}], logger: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy91c2VyLW1hbmFnZW1lbnQvdXNlci1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTywyQkFBMkIsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBUzFFLE1BQU0sT0FBTyx1QkFBdUI7SUFhbkMsWUFDUyxVQUFzQixFQUM5QixhQUFnQztRQUR4QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSGQsaUJBQVksR0FBRyxJQUFJLDJCQUEyQixFQUFFLENBQUM7UUFNakUsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUM7SUFDbEQsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGlCQUFpQjtRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUzRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN6RDtRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdEU7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUMvRDtRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxZQUFvQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ2hEO0lBQ0YsQ0FBQzs4R0FwRFcsdUJBQXVCO2tHQUF2Qix1QkFBdUIsOE1BRnpCLEVBQUU7OzJGQUVBLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLEVBQUU7aUJBQ1o7aUlBS1MsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IERlc2NvcGVVc2VyTWFuYWdlbWVudFdpZGdldCBmcm9tICdAZGVzY29wZS91c2VyLW1hbmFnZW1lbnQtd2lkZ2V0JztcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tICdAZGVzY29wZS93ZWItY29tcG9uZW50JztcbmltcG9ydCB7IERlc2NvcGVBdXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICd1c2VyLW1hbmFnZW1lbnRbdGVuYW50XScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyTWFuYWdlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblx0cHJvamVjdElkOiBzdHJpbmc7XG5cdGJhc2VVcmw/OiBzdHJpbmc7XG5cdGJhc2VTdGF0aWNVcmw/OiBzdHJpbmc7XG5cdEBJbnB1dCgpIHRlbmFudDogc3RyaW5nO1xuXHRASW5wdXQoKSB3aWRnZXRJZDogc3RyaW5nO1xuXG5cdEBJbnB1dCgpIHRoZW1lOiAnbGlnaHQnIHwgJ2RhcmsnIHwgJ29zJztcblx0QElucHV0KCkgZGVidWc6IGJvb2xlYW47XG5cdEBJbnB1dCgpIGxvZ2dlcjogSUxvZ2dlcjtcblxuXHRwcml2YXRlIHJlYWRvbmx5IHdlYkNvbXBvbmVudCA9IG5ldyBEZXNjb3BlVXNlck1hbmFnZW1lbnRXaWRnZXQoKTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG5cdFx0ZGVzY29wZUNvbmZpZzogRGVzY29wZUF1dGhDb25maWdcblx0KSB7XG5cdFx0dGhpcy5wcm9qZWN0SWQgPSBkZXNjb3BlQ29uZmlnLnByb2plY3RJZDtcblx0XHR0aGlzLmJhc2VVcmwgPSBkZXNjb3BlQ29uZmlnLmJhc2VVcmw7XG5cdFx0dGhpcy5iYXNlU3RhdGljVXJsID0gZGVzY29wZUNvbmZpZy5iYXNlU3RhdGljVXJsO1xuXHR9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0dGhpcy5zZXR1cFdlYkNvbXBvbmVudCgpO1xuXHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMud2ViQ29tcG9uZW50KTtcblx0fVxuXG5cdG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuXHRcdHRoaXMuc2V0dXBXZWJDb21wb25lbnQoKTtcblx0fVxuXG5cdHByaXZhdGUgc2V0dXBXZWJDb21wb25lbnQoKSB7XG5cdFx0dGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdwcm9qZWN0LWlkJywgdGhpcy5wcm9qZWN0SWQpO1xuXHRcdHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgndGVuYW50JywgdGhpcy50ZW5hbnQpO1xuXHRcdHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnd2lkZ2V0LWlkJywgdGhpcy53aWRnZXRJZCk7XG5cblx0XHRpZiAodGhpcy5iYXNlVXJsKSB7XG5cdFx0XHR0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ2Jhc2UtdXJsJywgdGhpcy5iYXNlVXJsKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuYmFzZVN0YXRpY1VybCkge1xuXHRcdFx0dGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdiYXNlLXN0YXRpYy11cmwnLCB0aGlzLmJhc2VTdGF0aWNVcmwpO1xuXHRcdH1cblx0XHRpZiAodGhpcy50aGVtZSkge1xuXHRcdFx0dGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCd0aGVtZScsIHRoaXMudGhlbWUpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5kZWJ1Zykge1xuXHRcdFx0dGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdkZWJ1ZycsIHRoaXMuZGVidWcudG9TdHJpbmcoKSk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMubG9nZ2VyKSB7XG5cdFx0XHQodGhpcy53ZWJDb21wb25lbnQgYXMgYW55KS5sb2dnZXIgPSB0aGlzLmxvZ2dlcjtcblx0XHR9XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import DescopeUserProfileWidget from '@descope/user-profile-widget';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../types/types";
|
|
5
|
-
export class UserProfileComponent {
|
|
6
|
-
constructor(elementRef, descopeConfig) {
|
|
7
|
-
this.elementRef = elementRef;
|
|
8
|
-
this.logout = new EventEmitter();
|
|
9
|
-
this.webComponent = new DescopeUserProfileWidget();
|
|
10
|
-
this.projectId = descopeConfig.projectId;
|
|
11
|
-
this.baseUrl = descopeConfig.baseUrl;
|
|
12
|
-
this.baseStaticUrl = descopeConfig.baseStaticUrl;
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this.setupWebComponent();
|
|
16
|
-
this.elementRef.nativeElement.appendChild(this.webComponent);
|
|
17
|
-
}
|
|
18
|
-
ngOnChanges() {
|
|
19
|
-
this.setupWebComponent();
|
|
20
|
-
}
|
|
21
|
-
setupWebComponent() {
|
|
22
|
-
this.webComponent.setAttribute('project-id', this.projectId);
|
|
23
|
-
this.webComponent.setAttribute('widget-id', this.widgetId);
|
|
24
|
-
if (this.baseUrl) {
|
|
25
|
-
this.webComponent.setAttribute('base-url', this.baseUrl);
|
|
26
|
-
}
|
|
27
|
-
if (this.baseStaticUrl) {
|
|
28
|
-
this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);
|
|
29
|
-
}
|
|
30
|
-
if (this.theme) {
|
|
31
|
-
this.webComponent.setAttribute('theme', this.theme);
|
|
32
|
-
}
|
|
33
|
-
if (this.debug) {
|
|
34
|
-
this.webComponent.setAttribute('debug', this.debug.toString());
|
|
35
|
-
}
|
|
36
|
-
if (this.logger) {
|
|
37
|
-
this.webComponent.logger = this.logger;
|
|
38
|
-
}
|
|
39
|
-
if (this.logout) {
|
|
40
|
-
this.webComponent.addEventListener('logout', (e) => {
|
|
41
|
-
this.logout?.emit(e);
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UserProfileComponent, deps: [{ token: i0.ElementRef }, { token: i1.DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: UserProfileComponent, isStandalone: true, selector: "user-profile", inputs: { widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger" }, outputs: { logout: "logout" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
|
|
47
|
-
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UserProfileComponent, decorators: [{
|
|
49
|
-
type: Component,
|
|
50
|
-
args: [{
|
|
51
|
-
selector: 'user-profile',
|
|
52
|
-
standalone: true,
|
|
53
|
-
template: ''
|
|
54
|
-
}]
|
|
55
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DescopeAuthConfig }]; }, propDecorators: { widgetId: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}], theme: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], debug: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], logger: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}], logout: [{
|
|
64
|
-
type: Output
|
|
65
|
-
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy91c2VyLXByb2ZpbGUvdXNlci1wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sd0JBQXdCLE1BQU0sOEJBQThCLENBQUM7OztBQVNwRSxNQUFNLE9BQU8sb0JBQW9CO0lBY2hDLFlBQ1MsVUFBc0IsRUFDOUIsYUFBZ0M7UUFEeEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUxyQixXQUFNLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7UUFFN0QsaUJBQVksR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7UUFNOUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUM7SUFDbEQsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGlCQUFpQjtRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDekQ7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3RFO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwRDtRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDL0Q7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsWUFBb0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNoRDtRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQVEsRUFBRSxFQUFFO2dCQUN6RCxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFnQixDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7U0FDSDtJQUNGLENBQUM7OEdBekRXLG9CQUFvQjtrR0FBcEIsb0JBQW9CLGdOQUZ0QixFQUFFOzsyRkFFQSxvQkFBb0I7a0JBTGhDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsRUFBRTtpQkFDWjtpSUFLUyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRJbnB1dCxcblx0T25DaGFuZ2VzLFxuXHRPbkluaXQsXG5cdE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBEZXNjb3BlVXNlclByb2ZpbGVXaWRnZXQgZnJvbSAnQGRlc2NvcGUvdXNlci1wcm9maWxlLXdpZGdldCc7XG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSAnQGRlc2NvcGUvd2ViLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNjb3BlQXV0aENvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAndXNlci1wcm9maWxlJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJQcm9maWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXHRwcm9qZWN0SWQ6IHN0cmluZztcblx0YmFzZVVybD86IHN0cmluZztcblx0YmFzZVN0YXRpY1VybD86IHN0cmluZztcblx0QElucHV0KCkgd2lkZ2V0SWQ6IHN0cmluZztcblxuXHRASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyB8ICdvcyc7XG5cdEBJbnB1dCgpIGRlYnVnOiBib29sZWFuO1xuXHRASW5wdXQoKSBsb2dnZXI6IElMb2dnZXI7XG5cblx0QE91dHB1dCgpIGxvZ291dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ+KCk7XG5cblx0cHJpdmF0ZSByZWFkb25seSB3ZWJDb21wb25lbnQgPSBuZXcgRGVzY29wZVVzZXJQcm9maWxlV2lkZ2V0KCk7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuXHRcdGRlc2NvcGVDb25maWc6IERlc2NvcGVBdXRoQ29uZmlnXG5cdCkge1xuXHRcdHRoaXMucHJvamVjdElkID0gZGVzY29wZUNvbmZpZy5wcm9qZWN0SWQ7XG5cdFx0dGhpcy5iYXNlVXJsID0gZGVzY29wZUNvbmZpZy5iYXNlVXJsO1xuXHRcdHRoaXMuYmFzZVN0YXRpY1VybCA9IGRlc2NvcGVDb25maWcuYmFzZVN0YXRpY1VybDtcblx0fVxuXG5cdG5nT25Jbml0KCkge1xuXHRcdHRoaXMuc2V0dXBXZWJDb21wb25lbnQoKTtcblx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLndlYkNvbXBvbmVudCk7XG5cdH1cblxuXHRuZ09uQ2hhbmdlcygpOiB2b2lkIHtcblx0XHR0aGlzLnNldHVwV2ViQ29tcG9uZW50KCk7XG5cdH1cblxuXHRwcml2YXRlIHNldHVwV2ViQ29tcG9uZW50KCkge1xuXHRcdHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgncHJvamVjdC1pZCcsIHRoaXMucHJvamVjdElkKTtcblx0XHR0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3dpZGdldC1pZCcsIHRoaXMud2lkZ2V0SWQpO1xuXHRcdGlmICh0aGlzLmJhc2VVcmwpIHtcblx0XHRcdHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnYmFzZS11cmwnLCB0aGlzLmJhc2VVcmwpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5iYXNlU3RhdGljVXJsKSB7XG5cdFx0XHR0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ2Jhc2Utc3RhdGljLXVybCcsIHRoaXMuYmFzZVN0YXRpY1VybCk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLnRoZW1lKSB7XG5cdFx0XHR0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3RoZW1lJywgdGhpcy50aGVtZSk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLmRlYnVnKSB7XG5cdFx0XHR0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ2RlYnVnJywgdGhpcy5kZWJ1Zy50b1N0cmluZygpKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5sb2dnZXIpIHtcblx0XHRcdCh0aGlzLndlYkNvbXBvbmVudCBhcyBhbnkpLmxvZ2dlciA9IHRoaXMubG9nZ2VyO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLmxvZ291dCkge1xuXHRcdFx0dGhpcy53ZWJDb21wb25lbnQuYWRkRXZlbnRMaXN0ZW5lcignbG9nb3V0JywgKGU6IEV2ZW50KSA9PiB7XG5cdFx0XHRcdHRoaXMubG9nb3V0Py5lbWl0KGUgYXMgQ3VzdG9tRXZlbnQpO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
|
|
@@ -1,77 +0,0 @@
|
|
|
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 { UserManagementComponent } from './components/user-management/user-management.component';
|
|
7
|
-
import { RoleManagementComponent } from './components/role-management/role-management.component';
|
|
8
|
-
import { AccessKeyManagementComponent } from './components/access-key-management/access-key-management.component';
|
|
9
|
-
import { AuditManagementComponent } from './components/audit-management/audit-management.component';
|
|
10
|
-
import { UserProfileComponent } from './components/user-profile/user-profile.component';
|
|
11
|
-
import { DescopeAuthConfig } from './types/types';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
export class DescopeAuthModule {
|
|
14
|
-
constructor(parentModule) {
|
|
15
|
-
if (parentModule) {
|
|
16
|
-
throw new Error('DescopeAuthModule is already loaded. Import it only once');
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
static forRoot(config) {
|
|
20
|
-
return {
|
|
21
|
-
ngModule: DescopeAuthModule,
|
|
22
|
-
providers: [{ provide: DescopeAuthConfig, useValue: config }]
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
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 }); }
|
|
26
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.9", ngImport: i0, type: DescopeAuthModule, imports: [DescopeComponent,
|
|
27
|
-
SignInFlowComponent,
|
|
28
|
-
SignUpFlowComponent,
|
|
29
|
-
SignUpOrInFlowComponent,
|
|
30
|
-
UserManagementComponent,
|
|
31
|
-
RoleManagementComponent,
|
|
32
|
-
AccessKeyManagementComponent,
|
|
33
|
-
AuditManagementComponent,
|
|
34
|
-
UserProfileComponent], exports: [DescopeComponent,
|
|
35
|
-
SignInFlowComponent,
|
|
36
|
-
SignUpFlowComponent,
|
|
37
|
-
SignUpOrInFlowComponent,
|
|
38
|
-
UserManagementComponent,
|
|
39
|
-
RoleManagementComponent,
|
|
40
|
-
AccessKeyManagementComponent,
|
|
41
|
-
AuditManagementComponent,
|
|
42
|
-
UserProfileComponent] }); }
|
|
43
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DescopeAuthModule }); }
|
|
44
|
-
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DescopeAuthModule, decorators: [{
|
|
46
|
-
type: NgModule,
|
|
47
|
-
args: [{
|
|
48
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
49
|
-
imports: [
|
|
50
|
-
DescopeComponent,
|
|
51
|
-
SignInFlowComponent,
|
|
52
|
-
SignUpFlowComponent,
|
|
53
|
-
SignUpOrInFlowComponent,
|
|
54
|
-
UserManagementComponent,
|
|
55
|
-
RoleManagementComponent,
|
|
56
|
-
AccessKeyManagementComponent,
|
|
57
|
-
AuditManagementComponent,
|
|
58
|
-
UserProfileComponent
|
|
59
|
-
],
|
|
60
|
-
exports: [
|
|
61
|
-
DescopeComponent,
|
|
62
|
-
SignInFlowComponent,
|
|
63
|
-
SignUpFlowComponent,
|
|
64
|
-
SignUpOrInFlowComponent,
|
|
65
|
-
UserManagementComponent,
|
|
66
|
-
RoleManagementComponent,
|
|
67
|
-
AccessKeyManagementComponent,
|
|
68
|
-
AuditManagementComponent,
|
|
69
|
-
UserProfileComponent
|
|
70
|
-
]
|
|
71
|
-
}]
|
|
72
|
-
}], ctorParameters: function () { return [{ type: DescopeAuthModule, decorators: [{
|
|
73
|
-
type: Optional
|
|
74
|
-
}, {
|
|
75
|
-
type: SkipSelf
|
|
76
|
-
}] }]; } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY29wZS1hdXRoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvZGVzY29wZS1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sc0JBQXNCLEVBRXRCLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUEyQmxELE1BQU0sT0FBTyxpQkFBaUI7SUFDN0IsWUFBb0MsWUFBZ0M7UUFDbkUsSUFBSSxZQUFZLEVBQUU7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FDZCwwREFBMEQsQ0FDMUQsQ0FBQztTQUNGO0lBQ0YsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQ2IsTUFBMEI7UUFFMUIsT0FBTztZQUNOLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1NBQzdELENBQUM7SUFDSCxDQUFDOzhHQWhCVyxpQkFBaUI7K0dBQWpCLGlCQUFpQixZQXRCNUIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsNEJBQTRCO1lBQzVCLHdCQUF3QjtZQUN4QixvQkFBb0IsYUFHcEIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsNEJBQTRCO1lBQzVCLHdCQUF3QjtZQUN4QixvQkFBb0I7K0dBR1QsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQXpCN0IsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFO3dCQUNSLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLDRCQUE0Qjt3QkFDNUIsd0JBQXdCO3dCQUN4QixvQkFBb0I7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2Qiw0QkFBNEI7d0JBQzVCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3FCQUNwQjtpQkFDRDs7MEJBRWEsUUFBUTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdE1vZHVsZVdpdGhQcm92aWRlcnMsXG5cdE5nTW9kdWxlLFxuXHRPcHRpb25hbCxcblx0U2tpcFNlbGZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXNjb3BlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rlc2NvcGUvZGVzY29wZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lnbkluRmxvd0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaWduLWluLWZsb3cvc2lnbi1pbi1mbG93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaWduVXBGbG93Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NpZ24tdXAtZmxvdy9zaWduLXVwLWZsb3cuY29tcG9uZW50JztcbmltcG9ydCB7IFNpZ25VcE9ySW5GbG93Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NpZ24tdXAtb3ItaW4tZmxvdy9zaWduLXVwLW9yLWluLWZsb3cuY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJNYW5hZ2VtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWFuYWdlbWVudC91c2VyLW1hbmFnZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFJvbGVNYW5hZ2VtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvbGUtbWFuYWdlbWVudC9yb2xlLW1hbmFnZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFjY2Vzc0tleU1hbmFnZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWNjZXNzLWtleS1tYW5hZ2VtZW50L2FjY2Vzcy1rZXktbWFuYWdlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXVkaXRNYW5hZ2VtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F1ZGl0LW1hbmFnZW1lbnQvYXVkaXQtbWFuYWdlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlclByb2ZpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdXNlci1wcm9maWxlL3VzZXItcHJvZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVzY29wZUF1dGhDb25maWcgfSBmcm9tICcuL3R5cGVzL3R5cGVzJztcblxuQE5nTW9kdWxlKHtcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRpbXBvcnRzOiBbXG5cdFx0RGVzY29wZUNvbXBvbmVudCxcblx0XHRTaWduSW5GbG93Q29tcG9uZW50LFxuXHRcdFNpZ25VcEZsb3dDb21wb25lbnQsXG5cdFx0U2lnblVwT3JJbkZsb3dDb21wb25lbnQsXG5cdFx0VXNlck1hbmFnZW1lbnRDb21wb25lbnQsXG5cdFx0Um9sZU1hbmFnZW1lbnRDb21wb25lbnQsXG5cdFx0QWNjZXNzS2V5TWFuYWdlbWVudENvbXBvbmVudCxcblx0XHRBdWRpdE1hbmFnZW1lbnRDb21wb25lbnQsXG5cdFx0VXNlclByb2ZpbGVDb21wb25lbnRcblx0XSxcblx0ZXhwb3J0czogW1xuXHRcdERlc2NvcGVDb21wb25lbnQsXG5cdFx0U2lnbkluRmxvd0NvbXBvbmVudCxcblx0XHRTaWduVXBGbG93Q29tcG9uZW50LFxuXHRcdFNpZ25VcE9ySW5GbG93Q29tcG9uZW50LFxuXHRcdFVzZXJNYW5hZ2VtZW50Q29tcG9uZW50LFxuXHRcdFJvbGVNYW5hZ2VtZW50Q29tcG9uZW50LFxuXHRcdEFjY2Vzc0tleU1hbmFnZW1lbnRDb21wb25lbnQsXG5cdFx0QXVkaXRNYW5hZ2VtZW50Q29tcG9uZW50LFxuXHRcdFVzZXJQcm9maWxlQ29tcG9uZW50XG5cdF1cbn0pXG5leHBvcnQgY2xhc3MgRGVzY29wZUF1dGhNb2R1bGUge1xuXHRjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU/OiBEZXNjb3BlQXV0aE1vZHVsZSkge1xuXHRcdGlmIChwYXJlbnRNb2R1bGUpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0J0Rlc2NvcGVBdXRoTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgb25seSBvbmNlJ1xuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHRzdGF0aWMgZm9yUm9vdChcblx0XHRjb25maWc/OiBEZXNjb3BlQXV0aENvbmZpZ1xuXHQpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERlc2NvcGVBdXRoTW9kdWxlPiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdG5nTW9kdWxlOiBEZXNjb3BlQXV0aE1vZHVsZSxcblx0XHRcdHByb3ZpZGVyczogW3sgcHJvdmlkZTogRGVzY29wZUF1dGhDb25maWcsIHVzZVZhbHVlOiBjb25maWcgfV1cblx0XHR9O1xuXHR9XG59XG4iXX0=
|
|
@@ -1,15 +0,0 @@
|
|
|
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
|
|
@@ -1,154 +0,0 @@
|
|
|
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
|
-
persistTokens: isBrowser(),
|
|
12
|
-
...config,
|
|
13
|
-
storeLastAuthenticatedUser: isBrowser(),
|
|
14
|
-
autoRefresh: isBrowser(),
|
|
15
|
-
baseHeaders
|
|
16
|
-
}));
|
|
17
|
-
this.sessionSubject = new BehaviorSubject({
|
|
18
|
-
isAuthenticated: false,
|
|
19
|
-
isSessionLoading: false,
|
|
20
|
-
sessionToken: ''
|
|
21
|
-
});
|
|
22
|
-
this.session$ = this.sessionSubject.asObservable();
|
|
23
|
-
this.userSubject = new BehaviorSubject({
|
|
24
|
-
isUserLoading: false
|
|
25
|
-
});
|
|
26
|
-
this.user$ = this.userSubject.asObservable();
|
|
27
|
-
this.descopeSdk.onSessionTokenChange(this.setSession.bind(this));
|
|
28
|
-
this.descopeSdk.onUserChange(this.setUser.bind(this));
|
|
29
|
-
}
|
|
30
|
-
refreshSession() {
|
|
31
|
-
const beforeRefreshSession = this.sessionSubject.value;
|
|
32
|
-
this.sessionSubject.next({
|
|
33
|
-
...beforeRefreshSession,
|
|
34
|
-
isSessionLoading: true
|
|
35
|
-
});
|
|
36
|
-
return this.descopeSdk.refresh().pipe(tap((data) => {
|
|
37
|
-
const afterRequestSession = this.sessionSubject.value;
|
|
38
|
-
if (data.ok && data.data) {
|
|
39
|
-
this.sessionSubject.next({
|
|
40
|
-
...afterRequestSession,
|
|
41
|
-
sessionToken: data.data.sessionJwt,
|
|
42
|
-
isAuthenticated: !!data.data.sessionJwt
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
this.sessionSubject.next({
|
|
47
|
-
...afterRequestSession,
|
|
48
|
-
sessionToken: '',
|
|
49
|
-
isAuthenticated: false
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}), finalize(() => {
|
|
53
|
-
const afterRefreshSession = this.sessionSubject.value;
|
|
54
|
-
this.sessionSubject.next({
|
|
55
|
-
...afterRefreshSession,
|
|
56
|
-
isSessionLoading: false
|
|
57
|
-
});
|
|
58
|
-
}));
|
|
59
|
-
}
|
|
60
|
-
refreshUser() {
|
|
61
|
-
const beforeRefreshUser = this.userSubject.value;
|
|
62
|
-
this.userSubject.next({
|
|
63
|
-
...beforeRefreshUser,
|
|
64
|
-
isUserLoading: true
|
|
65
|
-
});
|
|
66
|
-
return this.descopeSdk.me().pipe(tap((data) => {
|
|
67
|
-
const afterRequestUser = this.userSubject.value;
|
|
68
|
-
if (data.data) {
|
|
69
|
-
this.userSubject.next({
|
|
70
|
-
...afterRequestUser,
|
|
71
|
-
user: {
|
|
72
|
-
...data.data
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
}), finalize(() => {
|
|
77
|
-
const afterRefreshUser = this.userSubject.value;
|
|
78
|
-
this.userSubject.next({
|
|
79
|
-
...afterRefreshUser,
|
|
80
|
-
isUserLoading: false
|
|
81
|
-
});
|
|
82
|
-
}));
|
|
83
|
-
}
|
|
84
|
-
getSessionToken() {
|
|
85
|
-
if (isBrowser()) {
|
|
86
|
-
return this.descopeSdk.getSessionToken();
|
|
87
|
-
}
|
|
88
|
-
console.warn('Get session token is not supported in SSR');
|
|
89
|
-
return '';
|
|
90
|
-
}
|
|
91
|
-
getRefreshToken() {
|
|
92
|
-
if (isBrowser()) {
|
|
93
|
-
return this.descopeSdk.getRefreshToken();
|
|
94
|
-
}
|
|
95
|
-
this.descopeSdk.getJwtPermissions;
|
|
96
|
-
console.warn('Get refresh token is not supported in SSR');
|
|
97
|
-
return '';
|
|
98
|
-
}
|
|
99
|
-
isSessionTokenExpired(token = this.getSessionToken()) {
|
|
100
|
-
if (isBrowser()) {
|
|
101
|
-
return this.descopeSdk.isJwtExpired(token ?? '');
|
|
102
|
-
}
|
|
103
|
-
console.warn('isSessionTokenExpired is not supported in SSR');
|
|
104
|
-
return true;
|
|
105
|
-
}
|
|
106
|
-
isRefreshTokenExpired(token = this.getRefreshToken()) {
|
|
107
|
-
if (isBrowser()) {
|
|
108
|
-
return this.descopeSdk.isJwtExpired(token ?? '');
|
|
109
|
-
}
|
|
110
|
-
console.warn('isRefreshTokenExpired is not supported in SSR');
|
|
111
|
-
return true;
|
|
112
|
-
}
|
|
113
|
-
getJwtPermissions(token = this.getSessionToken(), tenant) {
|
|
114
|
-
if (token === null) {
|
|
115
|
-
console.error('Could not get JWT Permissions - not authenticated');
|
|
116
|
-
return [];
|
|
117
|
-
}
|
|
118
|
-
return this.descopeSdk.getJwtPermissions(token, tenant);
|
|
119
|
-
}
|
|
120
|
-
getJwtRoles(token = this.getSessionToken(), tenant) {
|
|
121
|
-
if (token === null) {
|
|
122
|
-
console.error('Could not get JWT Roles - not authenticated');
|
|
123
|
-
return [];
|
|
124
|
-
}
|
|
125
|
-
return this.descopeSdk.getJwtRoles(token, tenant);
|
|
126
|
-
}
|
|
127
|
-
isAuthenticated() {
|
|
128
|
-
return this.sessionSubject.value.isAuthenticated;
|
|
129
|
-
}
|
|
130
|
-
setSession(sessionToken) {
|
|
131
|
-
const currentSession = this.sessionSubject.value;
|
|
132
|
-
this.sessionSubject.next({
|
|
133
|
-
sessionToken,
|
|
134
|
-
isAuthenticated: !!sessionToken,
|
|
135
|
-
isSessionLoading: currentSession.isSessionLoading
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
setUser(user) {
|
|
139
|
-
const currentUser = this.userSubject.value;
|
|
140
|
-
this.userSubject.next({
|
|
141
|
-
isUserLoading: currentUser.isUserLoading,
|
|
142
|
-
user
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
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 }); }
|
|
146
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DescopeAuthService, providedIn: 'root' }); }
|
|
147
|
-
}
|
|
148
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DescopeAuthService, decorators: [{
|
|
149
|
-
type: Injectable,
|
|
150
|
-
args: [{
|
|
151
|
-
providedIn: 'root'
|
|
152
|
-
}]
|
|
153
|
-
}], ctorParameters: function () { return [{ type: i1.DescopeAuthConfig }]; } });
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY29wZS1hdXRoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXNkay9zcmMvbGliL3NlcnZpY2VzL2Rlc2NvcGUtYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBaUI1RCxNQUFNLE9BQU8sa0JBQWtCO0lBTzlCLFlBQVksTUFBeUI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQzlCLFNBQVMsQ0FBQztZQUNULGFBQWEsRUFBRSxTQUFTLEVBQVU7WUFDbEMsR0FBRyxNQUFNO1lBQ1QsMEJBQTBCLEVBQUUsU0FBUyxFQUFVO1lBQy9DLFdBQVcsRUFBRSxTQUFTLEVBQVU7WUFDaEMsV0FBVztTQUNYLENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBaUI7WUFDekQsZUFBZSxFQUFFLEtBQUs7WUFDdEIsZ0JBQWdCLEVBQUUsS0FBSztZQUN2QixZQUFZLEVBQUUsRUFBRTtTQUNoQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBYztZQUNuRCxhQUFhLEVBQUUsS0FBSztTQUNwQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxH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SW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBVc2VyUmVzcG9uc2UgfSBmcm9tICdAZGVzY29wZS93ZWItanMtc2RrJztcbmltcG9ydCBjcmVhdGVTZGsgZnJvbSAnQGRlc2NvcGUvd2ViLWpzLXNkayc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbmFsaXplLCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG9ic2VydmFiaWxpZnksIE9ic2VydmFibGVmaWVkIH0gZnJvbSAnLi4vdXRpbHMvaGVscGVycyc7XG5pbXBvcnQgeyBiYXNlSGVhZGVycywgaXNCcm93c2VyIH0gZnJvbSAnLi4vdXRpbHMvY29uc3RhbnRzJztcbmltcG9ydCB7IERlc2NvcGVBdXRoQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMvdHlwZXMnO1xuXG50eXBlIERlc2NvcGVTREsgPSBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVTZGs+O1xudHlwZSBBbmd1bGFyRGVzY29wZVNESyA9IE9ic2VydmFibGVmaWVkPERlc2NvcGVTREs+O1xuXG5leHBvcnQgaW50ZXJmYWNlIERlc2NvcGVTZXNzaW9uIHtcblx0aXNBdXRoZW50aWNhdGVkOiBib29sZWFuO1xuXHRpc1Nlc3Npb25Mb2FkaW5nOiBib29sZWFuO1xuXHRzZXNzaW9uVG9rZW46IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCB0eXBlIERlc2NvcGVVc2VyID0geyB1c2VyPzogVXNlclJlc3BvbnNlOyBpc1VzZXJMb2FkaW5nOiBib29sZWFuIH07XG5cbkBJbmplY3RhYmxlKHtcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERlc2NvcGVBdXRoU2VydmljZSB7XG5cdHB1YmxpYyBkZXNjb3BlU2RrOiBBbmd1bGFyRGVzY29wZVNESztcblx0cHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PERlc2NvcGVTZXNzaW9uPjtcblx0cHJpdmF0ZSByZWFkb25seSB1c2VyU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PERlc2NvcGVVc2VyPjtcblx0cmVhZG9ubHkgc2Vzc2lvbiQ6IE9ic2VydmFibGU8RGVzY29wZVNlc3Npb24+O1xuXHRyZWFkb25seSB1c2VyJDogT2JzZXJ2YWJsZTxEZXNjb3BlVXNlcj47XG5cblx0Y29uc3RydWN0b3IoY29uZmlnOiBEZXNjb3BlQXV0aENvbmZpZykge1xuXHRcdHRoaXMuZGVzY29wZVNkayA9IG9ic2VydmFiaWxpZnk8RGVzY29wZVNESz4oXG5cdFx0XHRjcmVhdGVTZGsoe1xuXHRcdFx0XHRwZXJzaXN0VG9rZW5zOiBpc0Jyb3dzZXIoKSBhcyB0cnVlLFxuXHRcdFx0XHQuLi5jb25maWcsXG5cdFx0XHRcdHN0b3JlTGFzdEF1dGhlbnRpY2F0ZWRVc2VyOiBpc0Jyb3dzZXIoKSBhcyB0cnVlLFxuXHRcdFx0XHRhdXRvUmVmcmVzaDogaXNCcm93c2VyKCkgYXMgdHJ1ZSxcblx0XHRcdFx0YmFzZUhlYWRlcnNcblx0XHRcdH0pXG5cdFx0KTtcblxuXHRcdHRoaXMuc2Vzc2lvblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERlc2NvcGVTZXNzaW9uPih7XG5cdFx0XHRpc0F1dGhlbnRpY2F0ZWQ6IGZhbHNlLFxuXHRcdFx0aXNTZXNzaW9uTG9hZGluZzogZmFsc2UsXG5cdFx0XHRzZXNzaW9uVG9rZW46ICcnXG5cdFx0fSk7XG5cdFx0dGhpcy5zZXNzaW9uJCA9IHRoaXMuc2Vzc2lvblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cdFx0dGhpcy51c2VyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGVzY29wZVVzZXI+KHtcblx0XHRcdGlzVXNlckxvYWRpbmc6IGZhbHNlXG5cdFx0fSk7XG5cdFx0dGhpcy51c2VyJCA9IHRoaXMudXNlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cdFx0dGhpcy5kZXNjb3BlU2RrLm9uU2Vzc2lvblRva2VuQ2hhbmdlKHRoaXMuc2V0U2Vzc2lvbi5iaW5kKHRoaXMpKTtcblx0XHR0aGlzLmRlc2NvcGVTZGsub25Vc2VyQ2hhbmdlKHRoaXMuc2V0VXNlci5iaW5kKHRoaXMpKTtcblx0fVxuXG5cdHJlZnJlc2hTZXNzaW9uKCkge1xuXHRcdGNvbnN0IGJlZm9yZVJlZnJlc2hTZXNzaW9uID0gdGhpcy5zZXNzaW9uU3ViamVjdC52YWx1ZTtcblx0XHR0aGlzLnNlc3Npb25TdWJqZWN0Lm5leHQoe1xuXHRcdFx0Li4uYmVmb3JlUmVmcmVzaFNlc3Npb24sXG5cdFx0XHRpc1Nlc3Npb25Mb2FkaW5nOiB0cnVlXG5cdFx0fSk7XG5cdFx0cmV0dXJuIHRoaXMuZGVzY29wZVNkay5yZWZyZXNoKCkucGlwZShcblx0XHRcdHRhcCgoZGF0YSkgPT4ge1xuXHRcdFx0XHRjb25zdCBhZnRlclJlcXVlc3RTZXNzaW9uID0gdGhpcy5zZXNzaW9uU3ViamVjdC52YWx1ZTtcblx0XHRcdFx0aWYgKGRhdGEub2sgJiYgZGF0YS5kYXRhKSB7XG5cdFx0XHRcdFx0dGhpcy5zZXNzaW9uU3ViamVjdC5uZXh0KHtcblx0XHRcdFx0XHRcdC4uLmFmdGVyUmVxdWVzdFNlc3Npb24sXG5cdFx0XHRcdFx0XHRzZXNzaW9uVG9rZW46IGRhdGEuZGF0YS5zZXNzaW9uSnd0LFxuXHRcdFx0XHRcdFx0aXNBdXRoZW50aWNhdGVkOiAhIWRhdGEuZGF0YS5zZXNzaW9uSnd0XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5zZXNzaW9uU3ViamVjdC5uZXh0KHtcblx0XHRcdFx0XHRcdC4uLmFmdGVyUmVxdWVzdFNlc3Npb24sXG5cdFx0XHRcdFx0XHRzZXNzaW9uVG9rZW46ICcnLFxuXHRcdFx0XHRcdFx0aXNBdXRoZW50aWNhdGVkOiBmYWxzZVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9KSxcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcblx0XHRcdFx0Y29uc3QgYWZ0ZXJSZWZyZXNoU2Vzc2lvbiA9IHRoaXMuc2Vzc2lvblN1YmplY3QudmFsdWU7XG5cdFx0XHRcdHRoaXMuc2Vzc2lvblN1YmplY3QubmV4dCh7XG5cdFx0XHRcdFx0Li4uYWZ0ZXJSZWZyZXNoU2Vzc2lvbixcblx0XHRcdFx0XHRpc1Nlc3Npb25Mb2FkaW5nOiBmYWxzZVxuXHRcdFx0XHR9KTtcblx0XHRcdH0pXG5cdFx0KTtcblx0fVxuXG5cdHJlZnJlc2hVc2VyKCkge1xuXHRcdGNvbnN0IGJlZm9yZVJlZnJlc2hVc2VyID0gdGhpcy51c2VyU3ViamVjdC52YWx1ZTtcblx0XHR0aGlzLnVzZXJTdWJqZWN0Lm5leHQoe1xuXHRcdFx0Li4uYmVmb3JlUmVmcmVzaFVzZXIsXG5cdFx0XHRpc1VzZXJMb2FkaW5nOiB0cnVlXG5cdFx0fSk7XG5cdFx0cmV0dXJuIHRoaXMuZGVzY29wZVNkay5tZSgpLnBpcGUoXG5cdFx0XHR0YXAoKGRhdGEpID0+IHtcblx0XHRcdFx0Y29uc3QgYWZ0ZXJSZXF1ZXN0VXNlciA9IHRoaXMudXNlclN1YmplY3QudmFsdWU7XG5cdFx0XHRcdGlmIChkYXRhLmRhdGEpIHtcblx0XHRcdFx0XHR0aGlzLnVzZXJTdWJqZWN0Lm5leHQoe1xuXHRcdFx0XHRcdFx0Li4uYWZ0ZXJSZXF1ZXN0VXNlcixcblx0XHRcdFx0XHRcdHVzZXI6IHtcblx0XHRcdFx0XHRcdFx0Li4uZGF0YS5kYXRhXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH0pLFxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xuXHRcdFx0XHRjb25zdCBhZnRlclJlZnJlc2hVc2VyID0gdGhpcy51c2VyU3ViamVjdC52YWx1ZTtcblx0XHRcdFx0dGhpcy51c2VyU3ViamVjdC5uZXh0KHtcblx0XHRcdFx0XHQuLi5hZnRlclJlZnJlc2hVc2VyLFxuXHRcdFx0XHRcdGlzVXNlckxvYWRpbmc6IGZhbHNlXG5cdFx0XHRcdH0pO1xuXHRcdFx0fSlcblx0XHQpO1xuXHR9XG5cblx0Z2V0U2Vzc2lvblRva2VuKCkge1xuXHRcdGlmIChpc0Jyb3dzZXIoKSkge1xuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0dGhpcy5kZXNjb3BlU2RrIGFzIEFuZ3VsYXJEZXNjb3BlU0RLICYge1xuXHRcdFx0XHRcdGdldFNlc3Npb25Ub2tlbjogKCkgPT4gc3RyaW5nIHwgbnVsbDtcblx0XHRcdFx0fVxuXHRcdFx0KS5nZXRTZXNzaW9uVG9rZW4oKTtcblx0XHR9XG5cdFx0Y29uc29sZS53YXJuKCdHZXQgc2Vzc2lvbiB0b2tlbiBpcyBub3Qgc3VwcG9ydGVkIGluIFNTUicpO1xuXHRcdHJldHVybiAnJztcblx0fVxuXG5cdGdldFJlZnJlc2hUb2tlbigpIHtcblx0XHRpZiAoaXNCcm93c2VyKCkpIHtcblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdHRoaXMuZGVzY29wZVNkayBhcyBBbmd1bGFyRGVzY29wZVNESyAmIHtcblx0XHRcdFx0XHRnZXRSZWZyZXNoVG9rZW46ICgpID0+IHN0cmluZyB8IG51bGw7XG5cdFx0XHRcdH1cblx0XHRcdCkuZ2V0UmVmcmVzaFRva2VuKCk7XG5cdFx0fVxuXHRcdHRoaXMuZGVzY29wZVNkay5nZXRKd3RQZXJtaXNzaW9ucztcblx0XHRjb25zb2xlLndhcm4oJ0dldCByZWZyZXNoIHRva2VuIGlzIG5vdCBzdXBwb3J0ZWQgaW4gU1NSJyk7XG5cdFx0cmV0dXJuICcnO1xuXHR9XG5cblx0aXNTZXNzaW9uVG9rZW5FeHBpcmVkKHRva2VuID0gdGhpcy5nZXRTZXNzaW9uVG9rZW4oKSkge1xuXHRcdGlmIChpc0Jyb3dzZXIoKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZGVzY29wZVNkay5pc0p3dEV4cGlyZWQodG9rZW4gPz8gJycpO1xuXHRcdH1cblx0XHRjb25zb2xlLndhcm4oJ2lzU2Vzc2lvblRva2VuRXhwaXJlZCBpcyBub3Qgc3VwcG9ydGVkIGluIFNTUicpO1xuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0aXNSZWZyZXNoVG9rZW5FeHBpcmVkKHRva2VuID0gdGhpcy5nZXRSZWZyZXNoVG9rZW4oKSkge1xuXHRcdGlmIChpc0Jyb3dzZXIoKSkge1xuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0dGhpcy5kZXNjb3BlU2RrIGFzIEFuZ3VsYXJEZXNjb3BlU0RLICYge1xuXHRcdFx0XHRcdGlzSnd0RXhwaXJlZDogKHRva2VuOiBzdHJpbmcpID0+IGJvb2xlYW4gfCBudWxsO1xuXHRcdFx0XHR9XG5cdFx0XHQpLmlzSnd0RXhwaXJlZCh0b2tlbiA/PyAnJyk7XG5cdFx0fVxuXHRcdGNvbnNvbGUud2FybignaXNSZWZyZXNoVG9rZW5FeHBpcmVkIGlzIG5vdCBzdXBwb3J0ZWQgaW4gU1NSJyk7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblxuXHRnZXRKd3RQZXJtaXNzaW9ucyh0b2tlbiA9IHRoaXMuZ2V0U2Vzc2lvblRva2VuKCksIHRlbmFudD86IHN0cmluZykge1xuXHRcdGlmICh0b2tlbiA9PT0gbnVsbCkge1xuXHRcdFx0Y29uc29sZS5lcnJvcignQ291bGQgbm90IGdldCBKV1QgUGVybWlzc2lvbnMgLSBub3QgYXV0aGVudGljYXRlZCcpO1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5kZXNjb3BlU2RrLmdldEp3dFBlcm1pc3Npb25zKHRva2VuLCB0ZW5hbnQpO1xuXHR9XG5cblx0Z2V0Snd0Um9sZXModG9rZW4gPSB0aGlzLmdldFNlc3Npb25Ub2tlbigpLCB0ZW5hbnQ/OiBzdHJpbmcpIHtcblx0XHRpZiAodG9rZW4gPT09IG51bGwpIHtcblx0XHRcdGNvbnNvbGUuZXJyb3IoJ0NvdWxkIG5vdCBnZXQgSldUIFJvbGVzIC0gbm90IGF1dGhlbnRpY2F0ZWQnKTtcblx0XHRcdHJldHVybiBbXTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuZGVzY29wZVNkay5nZXRKd3RSb2xlcyh0b2tlbiwgdGVuYW50KTtcblx0fVxuXG5cdGlzQXV0aGVudGljYXRlZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5zZXNzaW9uU3ViamVjdC52YWx1ZS5pc0F1dGhlbnRpY2F0ZWQ7XG5cdH1cblxuXHRwcml2YXRlIHNldFNlc3Npb24oc2Vzc2lvblRva2VuOiBzdHJpbmcgfCBudWxsKSB7XG5cdFx0Y29uc3QgY3VycmVudFNlc3Npb24gPSB0aGlzLnNlc3Npb25TdWJqZWN0LnZhbHVlO1xuXHRcdHRoaXMuc2Vzc2lvblN1YmplY3QubmV4dCh7XG5cdFx0XHRzZXNzaW9uVG9rZW4sXG5cdFx0XHRpc0F1dGhlbnRpY2F0ZWQ6ICEhc2Vzc2lvblRva2VuLFxuXHRcdFx0aXNTZXNzaW9uTG9hZGluZzogY3VycmVudFNlc3Npb24uaXNTZXNzaW9uTG9hZGluZ1xuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRVc2VyKHVzZXI6IFVzZXJSZXNwb25zZSkge1xuXHRcdGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy51c2VyU3ViamVjdC52YWx1ZTtcblx0XHR0aGlzLnVzZXJTdWJqZWN0Lm5leHQoe1xuXHRcdFx0aXNVc2VyTG9hZGluZzogY3VycmVudFVzZXIuaXNVc2VyTG9hZGluZyxcblx0XHRcdHVzZXJcblx0XHR9KTtcblx0fVxufVxuIl19
|
|
@@ -1,51 +0,0 @@
|
|
|
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=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export class DescopeAuthConfig {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.projectId = '';
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXNkay9zcmMvbGliL3R5cGVzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDQyxjQUFTLEdBQUcsRUFBRSxDQUFDO0lBU2hCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMb2dnZXIgfSBmcm9tICdAZGVzY29wZS93ZWItY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIERlc2NvcGVBdXRoQ29uZmlnIHtcblx0cHJvamVjdElkID0gJyc7XG5cdGJhc2VVcmw/OiBzdHJpbmc7XG5cdGJhc2VTdGF0aWNVcmw/OiBzdHJpbmc7XG5cdC8vIElmIHRydWUsIHRva2VucyB3aWxsIGJlIHN0b3JlZCBvbiBsb2NhbCBzdG9yYWdlXG5cdHBlcnNpc3RUb2tlbnM/OiBib29sZWFuO1xuXHRzZXNzaW9uVG9rZW5WaWFDb29raWU/OiBib29sZWFuO1xuXHQvLyBJZiB0cnVlLCBsYXN0IGF1dGhlbnRpY2F0ZWQgdXNlciB3aWxsIGJlIHN0b3JlZCBvbiBsb2NhbCBzdG9yYWdlIGFuZCBjYW4gYWNjZXNzZWQgd2l0aCBnZXRVc2VyIGZ1bmN0aW9uXG5cdHN0b3JlTGFzdEF1dGhlbnRpY2F0ZWRVc2VyPzogYm9vbGVhbjtcblx0cGF0aHNUb0ludGVyY2VwdD86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgdHlwZSB7IElMb2dnZXIgfTtcbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
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
|