@recursyve/nice-auth0-kit 17.0.0-beta.20 → 20.0.0-beta.21

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 (51) hide show
  1. package/fesm2022/recursyve-nice-auth0-kit.mjs +109 -86
  2. package/fesm2022/recursyve-nice-auth0-kit.mjs.map +1 -1
  3. package/index.d.ts +170 -5
  4. package/package.json +3 -5
  5. package/esm2022/lib/api/auth0.api.mjs +0 -13
  6. package/esm2022/lib/api/authorization/authorization.api.mjs +0 -40
  7. package/esm2022/lib/api/authorization/models/authorization-flow-request.model.mjs +0 -2
  8. package/esm2022/lib/api/exceptions/base.exception.mjs +0 -6
  9. package/esm2022/lib/api/index.mjs +0 -3
  10. package/esm2022/lib/api/interceptors/auth.interceptor.mjs +0 -37
  11. package/esm2022/lib/api/mfa/exceptions/association-required.exception.mjs +0 -4
  12. package/esm2022/lib/api/mfa/exceptions/mfa.exception.mjs +0 -5
  13. package/esm2022/lib/api/mfa/mfa.api.mjs +0 -59
  14. package/esm2022/lib/api/mfa/model/mfa-request.model.mjs +0 -2
  15. package/esm2022/lib/api/mfa/model/mfa-response.model.mjs +0 -2
  16. package/esm2022/lib/api/nice-auth0.service.mjs +0 -24
  17. package/esm2022/lib/api/token/exceptions/mfa-required.exception.mjs +0 -7
  18. package/esm2022/lib/api/token/exceptions/token.exception.mjs +0 -5
  19. package/esm2022/lib/api/token/models/token-response.model.mjs +0 -2
  20. package/esm2022/lib/api/token/token.api.mjs +0 -93
  21. package/esm2022/lib/nice-auht0-kit.module.mjs +0 -52
  22. package/esm2022/lib/nice-auth0-kit.constant.mjs +0 -3
  23. package/esm2022/lib/nice-auth0-kit.options.mjs +0 -2
  24. package/esm2022/lib/providers/authentication.service.mjs +0 -226
  25. package/esm2022/lib/providers/exceptions/no-authenticator.exception.mjs +0 -3
  26. package/esm2022/lib/providers/index.mjs +0 -3
  27. package/esm2022/public-api.mjs +0 -8
  28. package/esm2022/recursyve-nice-auth0-kit.mjs +0 -5
  29. package/lib/api/auth0.api.d.ts +0 -6
  30. package/lib/api/authorization/authorization.api.d.ts +0 -12
  31. package/lib/api/authorization/models/authorization-flow-request.model.d.ts +0 -4
  32. package/lib/api/exceptions/base.exception.d.ts +0 -5
  33. package/lib/api/index.d.ts +0 -2
  34. package/lib/api/interceptors/auth.interceptor.d.ts +0 -13
  35. package/lib/api/mfa/exceptions/association-required.exception.d.ts +0 -3
  36. package/lib/api/mfa/exceptions/mfa.exception.d.ts +0 -3
  37. package/lib/api/mfa/mfa.api.d.ts +0 -16
  38. package/lib/api/mfa/model/mfa-request.model.d.ts +0 -10
  39. package/lib/api/mfa/model/mfa-response.model.d.ts +0 -6
  40. package/lib/api/nice-auth0.service.d.ts +0 -12
  41. package/lib/api/token/exceptions/mfa-required.exception.d.ts +0 -5
  42. package/lib/api/token/exceptions/token.exception.d.ts +0 -3
  43. package/lib/api/token/models/token-response.model.d.ts +0 -7
  44. package/lib/api/token/token.api.d.ts +0 -18
  45. package/lib/nice-auht0-kit.module.d.ts +0 -10
  46. package/lib/nice-auth0-kit.constant.d.ts +0 -2
  47. package/lib/nice-auth0-kit.options.d.ts +0 -11
  48. package/lib/providers/authentication.service.d.ts +0 -64
  49. package/lib/providers/exceptions/no-authenticator.exception.d.ts +0 -2
  50. package/lib/providers/index.d.ts +0 -2
  51. package/public-api.d.ts +0 -4
package/index.d.ts CHANGED
@@ -1,5 +1,170 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@recursyve/nice-auth0-kit" />
5
- export * from './public-api';
1
+ import * as i0 from '@angular/core';
2
+ import { ModuleWithProviders } from '@angular/core';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { Observable, BehaviorSubject } from 'rxjs';
5
+
6
+ interface NiceAuth0Options {
7
+ domain: string;
8
+ clientId: string;
9
+ clientSecret: string;
10
+ audience: string;
11
+ scopes: string[];
12
+ urlWhiteList?: string[];
13
+ /**
14
+ * Token to send in the Authorization Header
15
+ */
16
+ authToken?: "accessToken" | "idToken";
17
+ }
18
+
19
+ declare class NiceAuth0Module {
20
+ static forRoot(options: NiceAuth0Options): ModuleWithProviders<NiceAuth0Module>;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<NiceAuth0Module, never>;
22
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NiceAuth0Module, never, never, never>;
23
+ static ɵinj: i0.ɵɵInjectorDeclaration<NiceAuth0Module>;
24
+ }
25
+
26
+ declare class Auth0Api {
27
+ private domain;
28
+ private path;
29
+ constructor(domain: string, path: string);
30
+ protected url(route?: string): string;
31
+ }
32
+
33
+ interface Auth0MfaChallengeRequest {
34
+ type: string;
35
+ mfaToken: string;
36
+ }
37
+ interface Auth0MfaAddOobAuthenticatorRequest {
38
+ mfaToken: string;
39
+ channels: string[];
40
+ phoneNumber?: string;
41
+ email?: string;
42
+ }
43
+
44
+ interface Auth0ChallengeResponse {
45
+ authenticator_type: string;
46
+ binding_method: string;
47
+ oob_channel: string;
48
+ oob_code: string;
49
+ }
50
+
51
+ declare class Auth0MfaApi extends Auth0Api {
52
+ private options;
53
+ private http;
54
+ constructor(options: NiceAuth0Options, http: HttpClient);
55
+ challenge(req: Auth0MfaChallengeRequest): Observable<Auth0ChallengeResponse>;
56
+ associateOobAuthenticator(req: Auth0MfaAddOobAuthenticatorRequest): Observable<Auth0ChallengeResponse>;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<Auth0MfaApi, never>;
58
+ static ɵprov: i0.ɵɵInjectableDeclaration<Auth0MfaApi>;
59
+ }
60
+
61
+ interface Auth0TokenResponse {
62
+ id_token: string;
63
+ access_token: string;
64
+ refresh_token: string;
65
+ token_type: string;
66
+ expires_in: number;
67
+ }
68
+
69
+ declare class Auth0TokenApi extends Auth0Api {
70
+ private options;
71
+ private http;
72
+ constructor(options: NiceAuth0Options, http: HttpClient);
73
+ authWithPassword(username: string, password: string): Observable<Auth0TokenResponse>;
74
+ authWithOobCode(mfaToken: string, oobCode: string, bindingCode: string): Observable<Auth0TokenResponse>;
75
+ authWithAuthorizationCode(authCode: string, redirectUrl: string): Observable<Auth0TokenResponse>;
76
+ refreshToken(refreshToken: string): Observable<Auth0TokenResponse>;
77
+ revokeRefreshToken(refreshToken: string): Observable<void>;
78
+ static ɵfac: i0.ɵɵFactoryDeclaration<Auth0TokenApi, never>;
79
+ static ɵprov: i0.ɵɵInjectableDeclaration<Auth0TokenApi>;
80
+ }
81
+
82
+ interface AuthorizationFlowRequest {
83
+ uri: string;
84
+ state: string;
85
+ }
86
+
87
+ declare class Auth0AuthorizationApi extends Auth0Api {
88
+ private options;
89
+ constructor(options: NiceAuth0Options);
90
+ buildAuthFlowRequest(redirectUrl: string, connection?: string): Observable<AuthorizationFlowRequest>;
91
+ static ɵfac: i0.ɵɵFactoryDeclaration<Auth0AuthorizationApi, never>;
92
+ static ɵprov: i0.ɵɵInjectableDeclaration<Auth0AuthorizationApi>;
93
+ }
94
+
95
+ declare class NiceAuth0Service {
96
+ mfa: Auth0MfaApi;
97
+ token: Auth0TokenApi;
98
+ authorization: Auth0AuthorizationApi;
99
+ constructor(mfa: Auth0MfaApi, token: Auth0TokenApi, authorization: Auth0AuthorizationApi);
100
+ static ɵfac: i0.ɵɵFactoryDeclaration<NiceAuth0Service, never>;
101
+ static ɵprov: i0.ɵɵInjectableDeclaration<NiceAuth0Service>;
102
+ }
103
+
104
+ declare class NoAuthenticatorException {
105
+ }
106
+
107
+ interface LoginResponse {
108
+ success: boolean;
109
+ mfaRequired: boolean;
110
+ }
111
+ interface SmsAuthenticator {
112
+ type: "sms";
113
+ phoneNumber: string;
114
+ }
115
+ interface EmailAuthenticator {
116
+ type: "email";
117
+ email: string;
118
+ }
119
+ interface AuthorizationFlowOptions {
120
+ connection?: string;
121
+ useStateValidation?: boolean;
122
+ }
123
+ declare enum AuthorizationStateValidationResult {
124
+ Omitted = "omitted",
125
+ Success = "success",
126
+ Failure = "failure"
127
+ }
128
+ interface AuthorizationFlowResponse {
129
+ path?: string;
130
+ code: string;
131
+ stateValidationResult: AuthorizationStateValidationResult;
132
+ }
133
+ declare class NiceAuthenticationService {
134
+ private options;
135
+ private auth0Service;
136
+ private lastMfaChallengeToken;
137
+ private lastMfaOobCode;
138
+ private activeRefreshTokenRequest;
139
+ currentUser$: BehaviorSubject<any>;
140
+ constructor(options: NiceAuth0Options, auth0Service: NiceAuth0Service);
141
+ get idToken(): string;
142
+ set idToken(accessToken: string);
143
+ get accessToken(): string;
144
+ set accessToken(accessToken: string);
145
+ get refreshToken(): string;
146
+ set refreshToken(refreshToken: string);
147
+ get authToken(): string;
148
+ get idTokenPayload(): any;
149
+ get accessTokenPayload(): any;
150
+ get authTokenPayload(): any;
151
+ get currentUser(): any;
152
+ checkLoggedIn(): Observable<boolean>;
153
+ getAuthorizationToken(): Observable<string | null>;
154
+ validateToken(): boolean;
155
+ passwordGrant(username: string, password: string): Observable<LoginResponse>;
156
+ authorizationCodeGrant(code: string, redirectUrl: string): Observable<LoginResponse>;
157
+ getAuthFlowRequestUri(redirectUrl: string, options?: AuthorizationFlowOptions): Observable<string>;
158
+ checkAuthFlowResponse(expectedResponsePath?: string | string[]): Observable<AuthorizationFlowResponse | null>;
159
+ validateOobCode(code: string): Observable<void>;
160
+ logout(): Observable<void>;
161
+ generateNewToken(): Observable<string | null>;
162
+ addMfaAuthenticator(authenticator: SmsAuthenticator | EmailAuthenticator): Observable<void>;
163
+ triggerMfaChallenge(): Observable<void>;
164
+ private catchGrantError;
165
+ static ɵfac: i0.ɵɵFactoryDeclaration<NiceAuthenticationService, never>;
166
+ static ɵprov: i0.ɵɵInjectableDeclaration<NiceAuthenticationService>;
167
+ }
168
+
169
+ export { Auth0Api, AuthorizationStateValidationResult, NiceAuth0Module, NiceAuth0Service, NiceAuthenticationService, NoAuthenticatorException };
170
+ export type { AuthorizationFlowOptions, AuthorizationFlowResponse, EmailAuthenticator, LoginResponse, NiceAuth0Options, SmsAuthenticator };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@recursyve/nice-auth0-kit",
3
- "version": "17.0.0-beta.20",
3
+ "version": "20.0.0-beta.21",
4
4
  "peerDependencies": {
5
- "@angular/common": "^17.0.0",
6
- "@angular/core": "^17.0.0",
5
+ "@angular/common": "^20.0.0",
6
+ "@angular/core": "^20.0.0",
7
7
  "uuid": ">= 9.0.0"
8
8
  },
9
9
  "dependencies": {
@@ -18,8 +18,6 @@
18
18
  },
19
19
  ".": {
20
20
  "types": "./index.d.ts",
21
- "esm2022": "./esm2022/recursyve-nice-auth0-kit.mjs",
22
- "esm": "./esm2022/recursyve-nice-auth0-kit.mjs",
23
21
  "default": "./fesm2022/recursyve-nice-auth0-kit.mjs"
24
22
  }
25
23
  },
@@ -1,13 +0,0 @@
1
- export class Auth0Api {
2
- constructor(domain, path) {
3
- this.domain = domain;
4
- this.path = path;
5
- }
6
- url(route = "") {
7
- if (route === "" && this.path === "") {
8
- return this.domain;
9
- }
10
- return `${this.domain}/${this.path}/${route}`;
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aDAuYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9hcGkvYXV0aDAuYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxRQUFRO0lBQ2pCLFlBQW9CLE1BQWMsRUFBVSxJQUFZO1FBQXBDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztJQUVsRCxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUU7UUFDcEIsSUFBSSxLQUFLLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO0lBQ2xELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBdXRoMEFwaSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkb21haW46IHN0cmluZywgcHJpdmF0ZSBwYXRoOiBzdHJpbmcpIHt9XG5cbiAgICBwcm90ZWN0ZWQgdXJsKHJvdXRlID0gXCJcIik6IHN0cmluZyB7XG4gICAgICAgIGlmIChyb3V0ZSA9PT0gXCJcIiAmJiB0aGlzLnBhdGggPT09IFwiXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRvbWFpbjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7dGhpcy5kb21haW59LyR7dGhpcy5wYXRofS8ke3JvdXRlfWA7XG4gICAgfVxufVxuIl19
@@ -1,40 +0,0 @@
1
- import { Auth0Api } from "../auth0.api";
2
- import { Inject, Injectable } from "@angular/core";
3
- import { NICE_AUTH0_OPTIONS } from "../../nice-auth0-kit.constant";
4
- import { HttpParams } from "@angular/common/http";
5
- import { of } from "rxjs";
6
- import { v4 as uuidv4 } from "uuid";
7
- import * as i0 from "@angular/core";
8
- export class Auth0AuthorizationApi extends Auth0Api {
9
- constructor(options) {
10
- super(options.domain, "authorize");
11
- this.options = options;
12
- }
13
- buildAuthFlowRequest(redirectUrl, connection) {
14
- let query = new HttpParams({
15
- fromObject: {
16
- redirect_uri: redirectUrl,
17
- client_id: this.options.clientId,
18
- audience: this.options.audience,
19
- response_type: "code",
20
- scope: this.options.scopes.join(" "),
21
- }
22
- });
23
- if (connection) {
24
- query = query.append("connection", connection);
25
- }
26
- return of({
27
- uri: this.url(`?${query.toString()}`),
28
- state: uuidv4(),
29
- });
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: Auth0AuthorizationApi, deps: [{ token: NICE_AUTH0_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable }); }
32
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: Auth0AuthorizationApi }); }
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: Auth0AuthorizationApi, decorators: [{
35
- type: Injectable
36
- }], ctorParameters: () => [{ type: undefined, decorators: [{
37
- type: Inject,
38
- args: [NICE_AUTH0_OPTIONS]
39
- }] }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi5hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWF1dGgwLWtpdC9zcmMvbGliL2FwaS9hdXRob3JpemF0aW9uL2F1dGhvcml6YXRpb24uYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3BDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxRQUFRO0lBQy9DLFlBQWdELE9BQXlCO1FBQ3JFLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRFMsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7SUFFekUsQ0FBQztJQUVNLG9CQUFvQixDQUFDLFdBQW1CLEVBQUUsVUFBbUI7UUFDaEUsSUFBSSxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUM7WUFDdkIsVUFBVSxFQUFFO2dCQUNSLFlBQVksRUFBRSxXQUFXO2dCQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO2dCQUNoQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO2dCQUMvQixhQUFhLEVBQUUsTUFBTTtnQkFDckIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7YUFDdkM7U0FDSixDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztZQUNOLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDckMsS0FBSyxFQUFFLE1BQU0sRUFBRTtTQUNsQixDQUFDLENBQUM7SUFDUCxDQUFDOytHQXhCUSxxQkFBcUIsa0JBQ1Ysa0JBQWtCO21IQUQ3QixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQUVNLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aDBBcGkgfSBmcm9tIFwiLi4vYXV0aDAuYXBpXCI7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTklDRV9BVVRIMF9PUFRJT05TIH0gZnJvbSBcIi4uLy4uL25pY2UtYXV0aDAta2l0LmNvbnN0YW50XCI7XG5pbXBvcnQgeyBOaWNlQXV0aDBPcHRpb25zIH0gZnJvbSBcIi4uLy4uL25pY2UtYXV0aDAta2l0Lm9wdGlvbnNcIjtcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEF1dGhvcml6YXRpb25GbG93UmVxdWVzdCB9IGZyb20gXCIuL21vZGVscy9hdXRob3JpemF0aW9uLWZsb3ctcmVxdWVzdC5tb2RlbFwiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSBcInV1aWRcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGgwQXV0aG9yaXphdGlvbkFwaSBleHRlbmRzIEF1dGgwQXBpIHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KE5JQ0VfQVVUSDBfT1BUSU9OUykgcHJpdmF0ZSBvcHRpb25zOiBOaWNlQXV0aDBPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMuZG9tYWluLCBcImF1dGhvcml6ZVwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYnVpbGRBdXRoRmxvd1JlcXVlc3QocmVkaXJlY3RVcmw6IHN0cmluZywgY29ubmVjdGlvbj86IHN0cmluZyk6IE9ic2VydmFibGU8QXV0aG9yaXphdGlvbkZsb3dSZXF1ZXN0PiB7XG4gICAgICAgIGxldCBxdWVyeSA9IG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgICAgICAgIGZyb21PYmplY3Q6IHtcbiAgICAgICAgICAgICAgICByZWRpcmVjdF91cmk6IHJlZGlyZWN0VXJsLFxuICAgICAgICAgICAgICAgIGNsaWVudF9pZDogdGhpcy5vcHRpb25zLmNsaWVudElkLFxuICAgICAgICAgICAgICAgIGF1ZGllbmNlOiB0aGlzLm9wdGlvbnMuYXVkaWVuY2UsXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VfdHlwZTogXCJjb2RlXCIsXG4gICAgICAgICAgICAgICAgc2NvcGU6IHRoaXMub3B0aW9ucy5zY29wZXMuam9pbihcIiBcIiksXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChjb25uZWN0aW9uKSB7XG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5LmFwcGVuZChcImNvbm5lY3Rpb25cIiwgY29ubmVjdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2Yoe1xuICAgICAgICAgICAgdXJpOiB0aGlzLnVybChgPyR7cXVlcnkudG9TdHJpbmcoKX1gKSxcbiAgICAgICAgICAgIHN0YXRlOiB1dWlkdjQoKSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi1mbG93LXJlcXVlc3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWF1dGgwLWtpdC9zcmMvbGliL2FwaS9hdXRob3JpemF0aW9uL21vZGVscy9hdXRob3JpemF0aW9uLWZsb3ctcmVxdWVzdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBdXRob3JpemF0aW9uRmxvd1JlcXVlc3Qge1xuICAgIHVyaTogc3RyaW5nO1xuICAgIHN0YXRlOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,6 +0,0 @@
1
- export class Auth0BaseException {
2
- constructor(value) {
3
- Object.assign(this, value);
4
- }
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5leGNlcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWF1dGgwLWtpdC9zcmMvbGliL2FwaS9leGNlcHRpb25zL2Jhc2UuZXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7SUFJM0IsWUFBWSxLQUF5QjtRQUNqQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQXV0aDBCYXNlRXhjZXB0aW9uIHtcbiAgICBwdWJsaWMgZXJyb3I6IHN0cmluZztcbiAgICBwdWJsaWMgZXJyb3JEZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IodmFsdWU6IEF1dGgwQmFzZUV4Y2VwdGlvbikge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHZhbHVlKTtcbiAgICB9XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from "./nice-auth0.service";
2
- export * from "./auth0.api";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWF1dGgwLWtpdC9zcmMvbGliL2FwaS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbmljZS1hdXRoMC5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hdXRoMC5hcGlcIjtcbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { Inject, Injectable } from "@angular/core";
2
- import { mergeMap } from "rxjs";
3
- import { NICE_AUTH0_OPTIONS } from "../../nice-auth0-kit.constant";
4
- import { NiceAuthenticationService } from "../../providers/authentication.service";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../providers/authentication.service";
7
- export class NiceAuthInterceptor {
8
- constructor(options, authService) {
9
- this.options = options;
10
- this.authService = authService;
11
- }
12
- intercept(req, next) {
13
- if (req.url.startsWith(`${this.options.domain}/oauth`) ||
14
- req.url.startsWith(`${this.options.domain}/authorize`) ||
15
- req.url.startsWith(`${this.options.domain}/mfa`)) {
16
- return next.handle(req);
17
- }
18
- return this.authService.getAuthorizationToken().pipe(mergeMap(token => {
19
- if (!token) {
20
- return next.handle(req);
21
- }
22
- const authReq = req.clone({
23
- headers: req.headers.set("Authorization", `Bearer ${token}`)
24
- });
25
- return next.handle(authReq);
26
- }));
27
- }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceAuthInterceptor, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: i1.NiceAuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
29
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceAuthInterceptor }); }
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceAuthInterceptor, decorators: [{
32
- type: Injectable
33
- }], ctorParameters: () => [{ type: undefined, decorators: [{
34
- type: Inject,
35
- args: [NICE_AUTH0_OPTIONS]
36
- }] }, { type: i1.NiceAuthenticationService }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtYXV0aDAta2l0L3NyYy9saWIvYXBpL2ludGVyY2VwdG9ycy9hdXRoLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQUduRixNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLFlBQWdELE9BQXlCLEVBQVUsV0FBc0M7UUFBekUsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBMkI7SUFBRyxDQUFDO0lBRXRILFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBQ3JELElBQ0ksR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO1lBQ2xELEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLFlBQVksQ0FBQztZQUN0RCxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxNQUFNLENBQUMsRUFDbEQsQ0FBQztZQUNDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsSUFBSSxDQUNoRCxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLENBQUM7WUFFRCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUN0QixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFVBQVUsS0FBSyxFQUFFLENBQUM7YUFDL0QsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOytHQXhCUSxtQkFBbUIsa0JBQ1Isa0JBQWtCO21IQUQ3QixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUVNLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IG1lcmdlTWFwLCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IE5JQ0VfQVVUSDBfT1BUSU9OUyB9IGZyb20gXCIuLi8uLi9uaWNlLWF1dGgwLWtpdC5jb25zdGFudFwiO1xuaW1wb3J0IHsgTmljZUF1dGgwT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9uaWNlLWF1dGgwLWtpdC5vcHRpb25zXCI7XG5pbXBvcnQgeyBOaWNlQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOaWNlQXV0aEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KE5JQ0VfQVVUSDBfT1BUSU9OUykgcHJpdmF0ZSBvcHRpb25zOiBOaWNlQXV0aDBPcHRpb25zLCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBOaWNlQXV0aGVudGljYXRpb25TZXJ2aWNlKSB7fVxuXG4gICAgcHVibGljIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICByZXEudXJsLnN0YXJ0c1dpdGgoYCR7dGhpcy5vcHRpb25zLmRvbWFpbn0vb2F1dGhgKSB8fFxuICAgICAgICAgICAgcmVxLnVybC5zdGFydHNXaXRoKGAke3RoaXMub3B0aW9ucy5kb21haW59L2F1dGhvcml6ZWApIHx8XG4gICAgICAgICAgICByZXEudXJsLnN0YXJ0c1dpdGgoYCR7dGhpcy5vcHRpb25zLmRvbWFpbn0vbWZhYClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpLnBpcGUoXG4gICAgICAgICAgICBtZXJnZU1hcCh0b2tlbiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0b2tlbikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBhdXRoUmVxID0gcmVxLmNsb25lKHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnMuc2V0KFwiQXV0aG9yaXphdGlvblwiLCBgQmVhcmVyICR7dG9rZW59YClcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoYXV0aFJlcSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,4 +0,0 @@
1
- import { Auth0BaseException } from "../../exceptions/base.exception";
2
- export class Auth0AssociationRequiredException extends Auth0BaseException {
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzb2NpYXRpb24tcmVxdWlyZWQuZXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9hcGkvbWZhL2V4Y2VwdGlvbnMvYXNzb2NpYXRpb24tcmVxdWlyZWQuZXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJFLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxrQkFBa0I7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGgwQmFzZUV4Y2VwdGlvbiB9IGZyb20gXCIuLi8uLi9leGNlcHRpb25zL2Jhc2UuZXhjZXB0aW9uXCI7XG5cbmV4cG9ydCBjbGFzcyBBdXRoMEFzc29jaWF0aW9uUmVxdWlyZWRFeGNlcHRpb24gZXh0ZW5kcyBBdXRoMEJhc2VFeGNlcHRpb24ge31cbiJdfQ==
@@ -1,5 +0,0 @@
1
- export var MfaExceptions;
2
- (function (MfaExceptions) {
3
- MfaExceptions["AssociationRequired"] = "association_required";
4
- })(MfaExceptions || (MfaExceptions = {}));
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWZhLmV4Y2VwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtYXV0aDAta2l0L3NyYy9saWIvYXBpL21mYS9leGNlcHRpb25zL21mYS5leGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksYUFFWDtBQUZELFdBQVksYUFBYTtJQUNyQiw2REFBNEMsQ0FBQTtBQUNoRCxDQUFDLEVBRlcsYUFBYSxLQUFiLGFBQWEsUUFFeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBNZmFFeGNlcHRpb25zIHtcbiAgICBBc3NvY2lhdGlvblJlcXVpcmVkID0gXCJhc3NvY2lhdGlvbl9yZXF1aXJlZFwiXG59XG4iXX0=
@@ -1,59 +0,0 @@
1
- import { HttpClient, HttpErrorResponse, HttpHeaders } from "@angular/common/http";
2
- import { Inject, Injectable } from "@angular/core";
3
- import { throwError } from "rxjs";
4
- import { catchError } from "rxjs/operators";
5
- import { NICE_AUTH0_OPTIONS } from "../../nice-auth0-kit.constant";
6
- import { Auth0Api } from "../auth0.api";
7
- import { Auth0AssociationRequiredException } from "./exceptions/association-required.exception";
8
- import { MfaExceptions } from "./exceptions/mfa.exception";
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common/http";
11
- export class Auth0MfaApi extends Auth0Api {
12
- constructor(options, http) {
13
- super(options.domain, "mfa");
14
- this.options = options;
15
- this.http = http;
16
- }
17
- challenge(req) {
18
- return this.http.post(this.url("challenge"), {
19
- client_id: this.options.clientId,
20
- client_secret: this.options.clientSecret,
21
- challenge_type: req.type,
22
- mfa_token: req.mfaToken
23
- }).pipe(catchError((e) => {
24
- if (e instanceof HttpErrorResponse) {
25
- const error = e.error;
26
- if (error.error === MfaExceptions.AssociationRequired) {
27
- return throwError(() => new Auth0AssociationRequiredException({
28
- error: error.error,
29
- errorDescription: error.error_description
30
- }));
31
- }
32
- }
33
- return throwError(() => e);
34
- }));
35
- }
36
- associateOobAuthenticator(req) {
37
- return this.http.post(this.url("associate"), {
38
- client_id: this.options.clientId,
39
- client_secret: this.options.clientSecret,
40
- authenticator_types: ["oob"],
41
- oob_channels: req.channels,
42
- phone_number: req.phoneNumber,
43
- email: req.email
44
- }, {
45
- headers: new HttpHeaders({
46
- Authorization: `Bearer ${req.mfaToken}`
47
- })
48
- });
49
- }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: Auth0MfaApi, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
51
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: Auth0MfaApi }); }
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: Auth0MfaApi, decorators: [{
54
- type: Injectable
55
- }], ctorParameters: () => [{ type: undefined, decorators: [{
56
- type: Inject,
57
- args: [NICE_AUTH0_OPTIONS]
58
- }] }, { type: i1.HttpClient }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWZhLmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtYXV0aDAta2l0L3NyYy9saWIvYXBpL21mYS9tZmEuYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUszRCxNQUFNLE9BQU8sV0FBWSxTQUFRLFFBQVE7SUFDckMsWUFBZ0QsT0FBeUIsRUFBVSxJQUFnQjtRQUMvRixLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQURlLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUVuRyxDQUFDO0lBRU0sU0FBUyxDQUFDLEdBQTZCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXlCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDakUsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQ3hDLGNBQWMsRUFBRSxHQUFHLENBQUMsSUFBSTtZQUN4QixTQUFTLEVBQUUsR0FBRyxDQUFDLFFBQVE7U0FDMUIsQ0FBQyxDQUFDLElBQUksQ0FDSCxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxZQUFZLGlCQUFpQixFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxhQUFhLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztvQkFDcEQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxpQ0FBaUMsQ0FBQzt3QkFDMUQsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO3dCQUNsQixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsaUJBQWlCO3FCQUM1QyxDQUFDLENBQUMsQ0FBQztnQkFDUixDQUFDO1lBQ0wsQ0FBQztZQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRU0seUJBQXlCLENBQUMsR0FBdUM7UUFDcEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFDckI7WUFDSSxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQ2hDLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVk7WUFDeEMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDNUIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxRQUFRO1lBQzFCLFlBQVksRUFBRSxHQUFHLENBQUMsV0FBVztZQUM3QixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7U0FDbkIsRUFDRDtZQUNJLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDckIsYUFBYSxFQUFFLFVBQVUsR0FBRyxDQUFDLFFBQVEsRUFBRTthQUMxQyxDQUFDO1NBQ0wsQ0FDSixDQUFDO0lBQ04sQ0FBQzsrR0E3Q1EsV0FBVyxrQkFDQSxrQkFBa0I7bUhBRDdCLFdBQVc7OzRGQUFYLFdBQVc7a0JBRHZCLFVBQVU7OzBCQUVNLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBOSUNFX0FVVEgwX09QVElPTlMgfSBmcm9tIFwiLi4vLi4vbmljZS1hdXRoMC1raXQuY29uc3RhbnRcIjtcbmltcG9ydCB7IE5pY2VBdXRoME9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vbmljZS1hdXRoMC1raXQub3B0aW9uc1wiO1xuaW1wb3J0IHsgQXV0aDBBcGkgfSBmcm9tIFwiLi4vYXV0aDAuYXBpXCI7XG5pbXBvcnQgeyBBdXRoMEFzc29jaWF0aW9uUmVxdWlyZWRFeGNlcHRpb24gfSBmcm9tIFwiLi9leGNlcHRpb25zL2Fzc29jaWF0aW9uLXJlcXVpcmVkLmV4Y2VwdGlvblwiO1xuaW1wb3J0IHsgTWZhRXhjZXB0aW9ucyB9IGZyb20gXCIuL2V4Y2VwdGlvbnMvbWZhLmV4Y2VwdGlvblwiO1xuaW1wb3J0IHsgQXV0aDBNZmFBZGRPb2JBdXRoZW50aWNhdG9yUmVxdWVzdCwgQXV0aDBNZmFDaGFsbGVuZ2VSZXF1ZXN0IH0gZnJvbSBcIi4vbW9kZWwvbWZhLXJlcXVlc3QubW9kZWxcIjtcbmltcG9ydCB7IEF1dGgwQ2hhbGxlbmdlUmVzcG9uc2UgfSBmcm9tIFwiLi9tb2RlbC9tZmEtcmVzcG9uc2UubW9kZWxcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGgwTWZhQXBpIGV4dGVuZHMgQXV0aDBBcGkge1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTklDRV9BVVRIMF9PUFRJT05TKSBwcml2YXRlIG9wdGlvbnM6IE5pY2VBdXRoME9wdGlvbnMsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xuICAgICAgICBzdXBlcihvcHRpb25zLmRvbWFpbiwgXCJtZmFcIik7XG4gICAgfVxuXG4gICAgcHVibGljIGNoYWxsZW5nZShyZXE6IEF1dGgwTWZhQ2hhbGxlbmdlUmVxdWVzdCk6IE9ic2VydmFibGU8QXV0aDBDaGFsbGVuZ2VSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXV0aDBDaGFsbGVuZ2VSZXNwb25zZT4odGhpcy51cmwoXCJjaGFsbGVuZ2VcIiksIHtcbiAgICAgICAgICAgIGNsaWVudF9pZDogdGhpcy5vcHRpb25zLmNsaWVudElkLFxuICAgICAgICAgICAgY2xpZW50X3NlY3JldDogdGhpcy5vcHRpb25zLmNsaWVudFNlY3JldCxcbiAgICAgICAgICAgIGNoYWxsZW5nZV90eXBlOiByZXEudHlwZSxcbiAgICAgICAgICAgIG1mYV90b2tlbjogcmVxLm1mYVRva2VuXG4gICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IGUuZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5lcnJvciA9PT0gTWZhRXhjZXB0aW9ucy5Bc3NvY2lhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgQXV0aDBBc3NvY2lhdGlvblJlcXVpcmVkRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogZXJyb3IuZXJyb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JEZXNjcmlwdGlvbjogZXJyb3IuZXJyb3JfZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNzb2NpYXRlT29iQXV0aGVudGljYXRvcihyZXE6IEF1dGgwTWZhQWRkT29iQXV0aGVudGljYXRvclJlcXVlc3QpOiBPYnNlcnZhYmxlPEF1dGgwQ2hhbGxlbmdlUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEF1dGgwQ2hhbGxlbmdlUmVzcG9uc2U+KFxuICAgICAgICAgICAgdGhpcy51cmwoXCJhc3NvY2lhdGVcIiksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2xpZW50X2lkOiB0aGlzLm9wdGlvbnMuY2xpZW50SWQsXG4gICAgICAgICAgICAgICAgY2xpZW50X3NlY3JldDogdGhpcy5vcHRpb25zLmNsaWVudFNlY3JldCxcbiAgICAgICAgICAgICAgICBhdXRoZW50aWNhdG9yX3R5cGVzOiBbXCJvb2JcIl0sXG4gICAgICAgICAgICAgICAgb29iX2NoYW5uZWxzOiByZXEuY2hhbm5lbHMsXG4gICAgICAgICAgICAgICAgcGhvbmVfbnVtYmVyOiByZXEucGhvbmVOdW1iZXIsXG4gICAgICAgICAgICAgICAgZW1haWw6IHJlcS5lbWFpbFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7cmVxLm1mYVRva2VufWBcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWZhLXJlcXVlc3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWF1dGgwLWtpdC9zcmMvbGliL2FwaS9tZmEvbW9kZWwvbWZhLXJlcXVlc3QubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXV0aDBNZmFDaGFsbGVuZ2VSZXF1ZXN0IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgbWZhVG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoME1mYUFkZE9vYkF1dGhlbnRpY2F0b3JSZXF1ZXN0IHtcbiAgICBtZmFUb2tlbjogc3RyaW5nO1xuICAgIGNoYW5uZWxzOiBzdHJpbmdbXTtcbiAgICBwaG9uZU51bWJlcj86IHN0cmluZztcbiAgICBlbWFpbD86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWZhLXJlc3BvbnNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9hcGkvbWZhL21vZGVsL21mYS1yZXNwb25zZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBdXRoMENoYWxsZW5nZVJlc3BvbnNlIHtcbiAgICBhdXRoZW50aWNhdG9yX3R5cGU6IHN0cmluZztcbiAgICBiaW5kaW5nX21ldGhvZDogc3RyaW5nO1xuICAgIG9vYl9jaGFubmVsOiBzdHJpbmc7XG4gICAgb29iX2NvZGU6IHN0cmluZztcbn1cbiJdfQ==
@@ -1,24 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { Auth0MfaApi } from "./mfa/mfa.api";
3
- import { Auth0TokenApi } from "./token/token.api";
4
- import { Auth0AuthorizationApi } from "./authorization/authorization.api";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./mfa/mfa.api";
7
- import * as i2 from "./token/token.api";
8
- import * as i3 from "./authorization/authorization.api";
9
- export class NiceAuth0Service {
10
- constructor(mfa, token, authorization) {
11
- this.mfa = mfa;
12
- this.token = token;
13
- this.authorization = authorization;
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceAuth0Service, deps: [{ token: i1.Auth0MfaApi }, { token: i2.Auth0TokenApi }, { token: i3.Auth0AuthorizationApi }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceAuth0Service, providedIn: "root" }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceAuth0Service, decorators: [{
19
- type: Injectable,
20
- args: [{
21
- providedIn: "root"
22
- }]
23
- }], ctorParameters: () => [{ type: i1.Auth0MfaApi }, { type: i2.Auth0TokenApi }, { type: i3.Auth0AuthorizationApi }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1hdXRoMC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9hcGkvbmljZS1hdXRoMC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBSzFFLE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsWUFBbUIsR0FBZ0IsRUFBUyxLQUFvQixFQUFTLGFBQW9DO1FBQTFGLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFlO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQXVCO0lBQUcsQ0FBQzsrR0FEeEcsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGYixNQUFNOzs0RkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBdXRoME1mYUFwaSB9IGZyb20gXCIuL21mYS9tZmEuYXBpXCI7XG5pbXBvcnQgeyBBdXRoMFRva2VuQXBpIH0gZnJvbSBcIi4vdG9rZW4vdG9rZW4uYXBpXCI7XG5pbXBvcnQgeyBBdXRoMEF1dGhvcml6YXRpb25BcGkgfSBmcm9tIFwiLi9hdXRob3JpemF0aW9uL2F1dGhvcml6YXRpb24uYXBpXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIlxufSlcbmV4cG9ydCBjbGFzcyBOaWNlQXV0aDBTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbWZhOiBBdXRoME1mYUFwaSwgcHVibGljIHRva2VuOiBBdXRoMFRva2VuQXBpLCBwdWJsaWMgYXV0aG9yaXphdGlvbjogQXV0aDBBdXRob3JpemF0aW9uQXBpKSB7fVxufVxuIl19
@@ -1,7 +0,0 @@
1
- import { Auth0BaseException } from "../../exceptions/base.exception";
2
- export class Auth0MfaRequiredException extends Auth0BaseException {
3
- constructor(value) {
4
- super(value);
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWZhLXJlcXVpcmVkLmV4Y2VwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtYXV0aDAta2l0L3NyYy9saWIvYXBpL3Rva2VuL2V4Y2VwdGlvbnMvbWZhLXJlcXVpcmVkLmV4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVyRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsa0JBQWtCO0lBRzdELFlBQVksS0FBZ0M7UUFDeEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGgwQmFzZUV4Y2VwdGlvbiB9IGZyb20gXCIuLi8uLi9leGNlcHRpb25zL2Jhc2UuZXhjZXB0aW9uXCI7XG5cbmV4cG9ydCBjbGFzcyBBdXRoME1mYVJlcXVpcmVkRXhjZXB0aW9uIGV4dGVuZHMgQXV0aDBCYXNlRXhjZXB0aW9uIHtcbiAgICBwdWJsaWMgbWZhVG9rZW46IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKHZhbHVlOiBBdXRoME1mYVJlcXVpcmVkRXhjZXB0aW9uKSB7XG4gICAgICAgIHN1cGVyKHZhbHVlKTtcbiAgICB9XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- export var TokenExceptions;
2
- (function (TokenExceptions) {
3
- TokenExceptions["MfaRequired"] = "mfa_required";
4
- })(TokenExceptions || (TokenExceptions = {}));
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uZXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9hcGkvdG9rZW4vZXhjZXB0aW9ucy90b2tlbi5leGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFFWDtBQUZELFdBQVksZUFBZTtJQUN2QiwrQ0FBNEIsQ0FBQTtBQUNoQyxDQUFDLEVBRlcsZUFBZSxLQUFmLGVBQWUsUUFFMUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBUb2tlbkV4Y2VwdGlvbnMge1xuICAgIE1mYVJlcXVpcmVkID0gXCJtZmFfcmVxdWlyZWRcIlxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tcmVzcG9uc2UubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWF1dGgwLWtpdC9zcmMvbGliL2FwaS90b2tlbi9tb2RlbHMvdG9rZW4tcmVzcG9uc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXV0aDBUb2tlblJlc3BvbnNlIHtcbiAgICBpZF90b2tlbjogc3RyaW5nO1xuICAgIGFjY2Vzc190b2tlbjogc3RyaW5nO1xuICAgIHJlZnJlc2hfdG9rZW46IHN0cmluZztcbiAgICB0b2tlbl90eXBlOiBzdHJpbmc7XG4gICAgZXhwaXJlc19pbjogbnVtYmVyO1xufVxuIl19
@@ -1,93 +0,0 @@
1
- import { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from "@angular/common/http";
2
- import { Inject, Injectable } from "@angular/core";
3
- import { throwError } from "rxjs";
4
- import { catchError } from "rxjs/operators";
5
- import { NICE_AUTH0_OPTIONS } from "../../nice-auth0-kit.constant";
6
- import { Auth0Api } from "../auth0.api";
7
- import { Auth0MfaRequiredException } from "./exceptions/mfa-required.exception";
8
- import { TokenExceptions } from "./exceptions/token.exception";
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common/http";
11
- export class Auth0TokenApi extends Auth0Api {
12
- constructor(options, http) {
13
- super(options.domain, "oauth");
14
- this.options = options;
15
- this.http = http;
16
- }
17
- authWithPassword(username, password) {
18
- return this.http.post(this.url("token"), {
19
- client_id: this.options.clientId,
20
- client_secret: this.options.clientSecret,
21
- audience: this.options.audience,
22
- grant_type: "password",
23
- scope: this.options?.scopes.join(" ") ?? "",
24
- username,
25
- password
26
- }).pipe(catchError((e) => {
27
- if (e instanceof HttpErrorResponse) {
28
- const error = e.error;
29
- if (error.error === TokenExceptions.MfaRequired) {
30
- return throwError(() => new Auth0MfaRequiredException({
31
- error: error.error,
32
- errorDescription: error.error_description,
33
- mfaToken: error.mfa_token
34
- }));
35
- }
36
- }
37
- return throwError(() => e);
38
- }));
39
- }
40
- authWithOobCode(mfaToken, oobCode, bindingCode) {
41
- return this.http.post(this.url("token"), {
42
- client_id: this.options.clientId,
43
- client_secret: this.options.clientSecret,
44
- audience: this.options.audience,
45
- grant_type: "http://auth0.com/oauth/grant-type/mfa-oob",
46
- scope: this.options?.scopes.join(" ") ?? "",
47
- mfa_token: mfaToken,
48
- oob_code: oobCode,
49
- binding_code: bindingCode
50
- });
51
- }
52
- authWithAuthorizationCode(authCode, redirectUrl) {
53
- const body = new HttpParams({
54
- fromObject: {
55
- code: authCode,
56
- redirect_uri: redirectUrl,
57
- client_id: this.options.clientId,
58
- client_secret: this.options.clientSecret,
59
- audience: this.options.audience,
60
- grant_type: "authorization_code",
61
- scope: this.options.scopes.join(" "),
62
- }
63
- });
64
- const headers = new HttpHeaders().set("Content-Type", "application/x-www-form-urlencoded");
65
- return this.http.post(this.url("token"), body.toString(), { headers });
66
- }
67
- refreshToken(refreshToken) {
68
- return this.http.post(this.url("token"), {
69
- client_id: this.options.clientId,
70
- client_secret: this.options.clientSecret,
71
- audience: this.options.audience,
72
- grant_type: "refresh_token",
73
- scope: this.options?.scopes.join(" ") ?? "",
74
- refresh_token: refreshToken
75
- });
76
- }
77
- revokeRefreshToken(refreshToken) {
78
- return this.http.post(this.url("revoke"), {
79
- client_id: this.options.clientId,
80
- client_secret: this.options.clientSecret,
81
- token: refreshToken
82
- });
83
- }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: Auth0TokenApi, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
85
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: Auth0TokenApi }); }
86
- }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: Auth0TokenApi, decorators: [{
88
- type: Injectable
89
- }], ctorParameters: () => [{ type: undefined, decorators: [{
90
- type: Inject,
91
- args: [NICE_AUTH0_OPTIONS]
92
- }] }, { type: i1.HttpClient }] });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9hcGkvdG9rZW4vdG9rZW4uYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBa0IsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBSS9ELE1BQU0sT0FBTyxhQUFjLFNBQVEsUUFBUTtJQUN2QyxZQUFnRCxPQUF5QixFQUFVLElBQWdCO1FBQy9GLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRGEsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO0lBRW5HLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQ2pCO1lBQ0ksU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQ3hDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDL0IsVUFBVSxFQUFFLFVBQVU7WUFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQzNDLFFBQVE7WUFDUixRQUFRO1NBQ1gsQ0FDSixDQUFDLElBQUksQ0FDRixVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxZQUFZLGlCQUFpQixFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQzlDLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUkseUJBQXlCLENBQUM7d0JBQ2xELEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSzt3QkFDbEIsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjt3QkFDekMsUUFBUSxFQUFFLEtBQUssQ0FBQyxTQUFTO3FCQUM1QixDQUFDLENBQUMsQ0FBQztnQkFDUixDQUFDO1lBQ0wsQ0FBQztZQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRU0sZUFBZSxDQUFDLFFBQWdCLEVBQUUsT0FBZSxFQUFFLFdBQW1CO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQ2pCO1lBQ0ksU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQ3hDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDL0IsVUFBVSxFQUFFLDJDQUEyQztZQUN2RCxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUU7WUFDM0MsU0FBUyxFQUFFLFFBQVE7WUFDbkIsUUFBUSxFQUFFLE9BQU87WUFDakIsWUFBWSxFQUFFLFdBQVc7U0FDNUIsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVNLHlCQUF5QixDQUFDLFFBQWdCLEVBQUUsV0FBbUI7UUFDbEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUM7WUFDeEIsVUFBVSxFQUFFO2dCQUNSLElBQUksRUFBRSxRQUFRO2dCQUNkLFlBQVksRUFBRSxXQUFXO2dCQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO2dCQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO2dCQUN4QyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO2dCQUMvQixVQUFVLEVBQUUsb0JBQW9CO2dCQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQzthQUN2QztTQUNKLENBQUMsQ0FBQztRQUVILE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxtQ0FBbUMsQ0FBQyxDQUFDO1FBRTNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXFCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU0sWUFBWSxDQUFDLFlBQW9CO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQ2pCO1lBQ0ksU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQ3hDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDL0IsVUFBVSxFQUFFLGVBQWU7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQzNDLGFBQWEsRUFBRSxZQUFZO1NBQzlCLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxZQUFvQjtRQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUNsQjtZQUNJLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDaEMsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWTtZQUN4QyxLQUFLLEVBQUUsWUFBWTtTQUN0QixDQUNKLENBQUM7SUFDTixDQUFDOytHQTVGUSxhQUFhLGtCQUNGLGtCQUFrQjttSEFEN0IsYUFBYTs7NEZBQWIsYUFBYTtrQkFEekIsVUFBVTs7MEJBRU0sTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBOSUNFX0FVVEgwX09QVElPTlMgfSBmcm9tIFwiLi4vLi4vbmljZS1hdXRoMC1raXQuY29uc3RhbnRcIjtcbmltcG9ydCB7IE5pY2VBdXRoME9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vbmljZS1hdXRoMC1raXQub3B0aW9uc1wiO1xuaW1wb3J0IHsgQXV0aDBBcGkgfSBmcm9tIFwiLi4vYXV0aDAuYXBpXCI7XG5pbXBvcnQgeyBBdXRoME1mYVJlcXVpcmVkRXhjZXB0aW9uIH0gZnJvbSBcIi4vZXhjZXB0aW9ucy9tZmEtcmVxdWlyZWQuZXhjZXB0aW9uXCI7XG5pbXBvcnQgeyBUb2tlbkV4Y2VwdGlvbnMgfSBmcm9tIFwiLi9leGNlcHRpb25zL3Rva2VuLmV4Y2VwdGlvblwiO1xuaW1wb3J0IHsgQXV0aDBUb2tlblJlc3BvbnNlIH0gZnJvbSBcIi4vbW9kZWxzL3Rva2VuLXJlc3BvbnNlLm1vZGVsXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoMFRva2VuQXBpIGV4dGVuZHMgQXV0aDBBcGkge1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTklDRV9BVVRIMF9PUFRJT05TKSBwcml2YXRlIG9wdGlvbnM6IE5pY2VBdXRoME9wdGlvbnMsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xuICAgICAgICBzdXBlcihvcHRpb25zLmRvbWFpbiwgXCJvYXV0aFwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXV0aFdpdGhQYXNzd29yZCh1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBdXRoMFRva2VuUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEF1dGgwVG9rZW5SZXNwb25zZT4oXG4gICAgICAgICAgICB0aGlzLnVybChcInRva2VuXCIpLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNsaWVudF9pZDogdGhpcy5vcHRpb25zLmNsaWVudElkLFxuICAgICAgICAgICAgICAgIGNsaWVudF9zZWNyZXQ6IHRoaXMub3B0aW9ucy5jbGllbnRTZWNyZXQsXG4gICAgICAgICAgICAgICAgYXVkaWVuY2U6IHRoaXMub3B0aW9ucy5hdWRpZW5jZSxcbiAgICAgICAgICAgICAgICBncmFudF90eXBlOiBcInBhc3N3b3JkXCIsXG4gICAgICAgICAgICAgICAgc2NvcGU6IHRoaXMub3B0aW9ucz8uc2NvcGVzLmpvaW4oXCIgXCIpID8/IFwiXCIsXG4gICAgICAgICAgICAgICAgdXNlcm5hbWUsXG4gICAgICAgICAgICAgICAgcGFzc3dvcmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBlLmVycm9yO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IuZXJyb3IgPT09IFRva2VuRXhjZXB0aW9ucy5NZmFSZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEF1dGgwTWZhUmVxdWlyZWRFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvci5lcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvckRlc2NyaXB0aW9uOiBlcnJvci5lcnJvcl9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZmFUb2tlbjogZXJyb3IubWZhX3Rva2VuXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGF1dGhXaXRoT29iQ29kZShtZmFUb2tlbjogc3RyaW5nLCBvb2JDb2RlOiBzdHJpbmcsIGJpbmRpbmdDb2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEF1dGgwVG9rZW5SZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXV0aDBUb2tlblJlc3BvbnNlPihcbiAgICAgICAgICAgIHRoaXMudXJsKFwidG9rZW5cIiksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2xpZW50X2lkOiB0aGlzLm9wdGlvbnMuY2xpZW50SWQsXG4gICAgICAgICAgICAgICAgY2xpZW50X3NlY3JldDogdGhpcy5vcHRpb25zLmNsaWVudFNlY3JldCxcbiAgICAgICAgICAgICAgICBhdWRpZW5jZTogdGhpcy5vcHRpb25zLmF1ZGllbmNlLFxuICAgICAgICAgICAgICAgIGdyYW50X3R5cGU6IFwiaHR0cDovL2F1dGgwLmNvbS9vYXV0aC9ncmFudC10eXBlL21mYS1vb2JcIixcbiAgICAgICAgICAgICAgICBzY29wZTogdGhpcy5vcHRpb25zPy5zY29wZXMuam9pbihcIiBcIikgPz8gXCJcIixcbiAgICAgICAgICAgICAgICBtZmFfdG9rZW46IG1mYVRva2VuLFxuICAgICAgICAgICAgICAgIG9vYl9jb2RlOiBvb2JDb2RlLFxuICAgICAgICAgICAgICAgIGJpbmRpbmdfY29kZTogYmluZGluZ0NvZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXV0aFdpdGhBdXRob3JpemF0aW9uQ29kZShhdXRoQ29kZTogc3RyaW5nLCByZWRpcmVjdFVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBdXRoMFRva2VuUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgICAgICAgIGZyb21PYmplY3Q6IHtcbiAgICAgICAgICAgICAgICBjb2RlOiBhdXRoQ29kZSxcbiAgICAgICAgICAgICAgICByZWRpcmVjdF91cmk6IHJlZGlyZWN0VXJsLFxuICAgICAgICAgICAgICAgIGNsaWVudF9pZDogdGhpcy5vcHRpb25zLmNsaWVudElkLFxuICAgICAgICAgICAgICAgIGNsaWVudF9zZWNyZXQ6IHRoaXMub3B0aW9ucy5jbGllbnRTZWNyZXQsXG4gICAgICAgICAgICAgICAgYXVkaWVuY2U6IHRoaXMub3B0aW9ucy5hdWRpZW5jZSxcbiAgICAgICAgICAgICAgICBncmFudF90eXBlOiBcImF1dGhvcml6YXRpb25fY29kZVwiLFxuICAgICAgICAgICAgICAgIHNjb3BlOiB0aGlzLm9wdGlvbnMuc2NvcGVzLmpvaW4oXCIgXCIpLFxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFwiQ29udGVudC1UeXBlXCIsIFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBdXRoMFRva2VuUmVzcG9uc2U+KHRoaXMudXJsKFwidG9rZW5cIiksIGJvZHkudG9TdHJpbmcoKSwgeyBoZWFkZXJzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWZyZXNoVG9rZW4ocmVmcmVzaFRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEF1dGgwVG9rZW5SZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXV0aDBUb2tlblJlc3BvbnNlPihcbiAgICAgICAgICAgIHRoaXMudXJsKFwidG9rZW5cIiksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2xpZW50X2lkOiB0aGlzLm9wdGlvbnMuY2xpZW50SWQsXG4gICAgICAgICAgICAgICAgY2xpZW50X3NlY3JldDogdGhpcy5vcHRpb25zLmNsaWVudFNlY3JldCxcbiAgICAgICAgICAgICAgICBhdWRpZW5jZTogdGhpcy5vcHRpb25zLmF1ZGllbmNlLFxuICAgICAgICAgICAgICAgIGdyYW50X3R5cGU6IFwicmVmcmVzaF90b2tlblwiLFxuICAgICAgICAgICAgICAgIHNjb3BlOiB0aGlzLm9wdGlvbnM/LnNjb3Blcy5qb2luKFwiIFwiKSA/PyBcIlwiLFxuICAgICAgICAgICAgICAgIHJlZnJlc2hfdG9rZW46IHJlZnJlc2hUb2tlblxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXZva2VSZWZyZXNoVG9rZW4ocmVmcmVzaFRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHZvaWQ+KFxuICAgICAgICAgICAgdGhpcy51cmwoXCJyZXZva2VcIiksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2xpZW50X2lkOiB0aGlzLm9wdGlvbnMuY2xpZW50SWQsXG4gICAgICAgICAgICAgICAgY2xpZW50X3NlY3JldDogdGhpcy5vcHRpb25zLmNsaWVudFNlY3JldCxcbiAgICAgICAgICAgICAgICB0b2tlbjogcmVmcmVzaFRva2VuXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxufVxuIl19