@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.
- package/fesm2022/recursyve-nice-auth0-kit.mjs +109 -86
- package/fesm2022/recursyve-nice-auth0-kit.mjs.map +1 -1
- package/index.d.ts +170 -5
- package/package.json +3 -5
- package/esm2022/lib/api/auth0.api.mjs +0 -13
- package/esm2022/lib/api/authorization/authorization.api.mjs +0 -40
- package/esm2022/lib/api/authorization/models/authorization-flow-request.model.mjs +0 -2
- package/esm2022/lib/api/exceptions/base.exception.mjs +0 -6
- package/esm2022/lib/api/index.mjs +0 -3
- package/esm2022/lib/api/interceptors/auth.interceptor.mjs +0 -37
- package/esm2022/lib/api/mfa/exceptions/association-required.exception.mjs +0 -4
- package/esm2022/lib/api/mfa/exceptions/mfa.exception.mjs +0 -5
- package/esm2022/lib/api/mfa/mfa.api.mjs +0 -59
- package/esm2022/lib/api/mfa/model/mfa-request.model.mjs +0 -2
- package/esm2022/lib/api/mfa/model/mfa-response.model.mjs +0 -2
- package/esm2022/lib/api/nice-auth0.service.mjs +0 -24
- package/esm2022/lib/api/token/exceptions/mfa-required.exception.mjs +0 -7
- package/esm2022/lib/api/token/exceptions/token.exception.mjs +0 -5
- package/esm2022/lib/api/token/models/token-response.model.mjs +0 -2
- package/esm2022/lib/api/token/token.api.mjs +0 -93
- package/esm2022/lib/nice-auht0-kit.module.mjs +0 -52
- package/esm2022/lib/nice-auth0-kit.constant.mjs +0 -3
- package/esm2022/lib/nice-auth0-kit.options.mjs +0 -2
- package/esm2022/lib/providers/authentication.service.mjs +0 -226
- package/esm2022/lib/providers/exceptions/no-authenticator.exception.mjs +0 -3
- package/esm2022/lib/providers/index.mjs +0 -3
- package/esm2022/public-api.mjs +0 -8
- package/esm2022/recursyve-nice-auth0-kit.mjs +0 -5
- package/lib/api/auth0.api.d.ts +0 -6
- package/lib/api/authorization/authorization.api.d.ts +0 -12
- package/lib/api/authorization/models/authorization-flow-request.model.d.ts +0 -4
- package/lib/api/exceptions/base.exception.d.ts +0 -5
- package/lib/api/index.d.ts +0 -2
- package/lib/api/interceptors/auth.interceptor.d.ts +0 -13
- package/lib/api/mfa/exceptions/association-required.exception.d.ts +0 -3
- package/lib/api/mfa/exceptions/mfa.exception.d.ts +0 -3
- package/lib/api/mfa/mfa.api.d.ts +0 -16
- package/lib/api/mfa/model/mfa-request.model.d.ts +0 -10
- package/lib/api/mfa/model/mfa-response.model.d.ts +0 -6
- package/lib/api/nice-auth0.service.d.ts +0 -12
- package/lib/api/token/exceptions/mfa-required.exception.d.ts +0 -5
- package/lib/api/token/exceptions/token.exception.d.ts +0 -3
- package/lib/api/token/models/token-response.model.d.ts +0 -7
- package/lib/api/token/token.api.d.ts +0 -18
- package/lib/nice-auht0-kit.module.d.ts +0 -10
- package/lib/nice-auth0-kit.constant.d.ts +0 -2
- package/lib/nice-auth0-kit.options.d.ts +0 -11
- package/lib/providers/authentication.service.d.ts +0 -64
- package/lib/providers/exceptions/no-authenticator.exception.d.ts +0 -2
- package/lib/providers/index.d.ts +0 -2
- package/public-api.d.ts +0 -4
package/index.d.ts
CHANGED
|
@@ -1,5 +1,170 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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": "
|
|
3
|
+
"version": "20.0.0-beta.21",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/core": "^
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9hcGkvdG9rZW4vdG9rZW4uYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBa0IsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBSS9ELE1BQU0sT0FBTyxhQUFjLFNBQVEsUUFBUTtJQUN2QyxZQUFnRCxPQUF5QixFQUFVLElBQWdCO1FBQy9GLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRGEsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO0lBRW5HLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQ2pCO1lBQ0ksU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9B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QyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQ3hDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDL0IsVUFBVSxFQUFFLGVBQWU7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQzNDLGFBQWEsRUFBRSxZQUFZO1NBQzlCLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxZQUFvQjtRQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUNsQjtZQUNJLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDaEMsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWTtZQUN4QyxLQUFLLEVBQUUsWUFBWTtTQUN0QixDQUNKLENBQUM7SUFDTixDQUFDOytHQTVGUSxhQUFhLGtCQUNGLGtCQUFrQjttSEFEN0IsYUFBYTs7NEZBQWIsYUFBYTtrQkFEekIsVUFBVTs7MEJBRU0sTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBOSUNFX0FVVEgwX09QVElPTlMgfSBmcm9tIFwiLi4vLi4vbmljZS1hdXRoMC1raXQuY29uc3RhbnRcIjtcbmltcG9ydCB7IE5pY2VBdXRoME9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vbmljZS1hdXRoMC1raXQub3B0aW9uc1wiO1xuaW1wb3J0IHsgQXV0aDBBcGkgfSBmcm9tIFwiLi4vYXV0aDAuYXBpXCI7XG5pbXBvcnQgeyBBdXRoME1mYVJlcXVpcmVkRXhjZXB0aW9uIH0gZnJvbSBcIi4vZXhjZXB0aW9ucy9tZmEtcmVxdWlyZWQuZXhjZXB0aW9uXCI7XG5pbXBvcnQgeyBUb2tlbkV4Y2VwdGlvbnMgfSBmcm9tIFwiLi9leGNlcHRpb25zL3Rva2VuLmV4Y2VwdGlvblwiO1xuaW1wb3J0IHsgQXV0aDBUb2tlblJlc3BvbnNlIH0gZnJvbSBcIi4vbW9kZWxzL3Rva2VuLXJlc3BvbnNlLm1vZGVsXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoMFRva2VuQXBpIGV4dGVuZHMgQXV0aDBBcGkge1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTklDRV9BVVRIMF9PUFRJT05TKSBwcml2YXRlIG9wdGlvbnM6IE5pY2VBdXRoME9wdGlvbnMsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xuICAgICAgICBzdXBlcihvcHRpb25zLmRvbWFpbiwgXCJvYXV0aFwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXV0aFdpdGhQYXNzd29yZCh1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBdXRoMFRva2VuUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEF1dGgwVG9rZW5SZXNwb25zZT4oXG4gICAgICAgICAgICB0aGlzLnVybChcInRva2VuXCIpLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNsaWVudF9pZDogdGhpcy5vcHRpb25zLmNsaWVudElkLFxuICAgICAgICAgICAgICAgIGNsaWVudF9zZWNyZXQ6IHRoaXMub3B0aW9ucy5jbGllbnRTZWNyZXQsXG4gICAgICAgICAgICAgICAgYXVkaWVuY2U6IHRoaXMub3B0aW9ucy5hdWRpZW5jZSxcbiAgICAgICAgICAgICAgICBncmFudF90eXBlOiBcInBhc3N3b3JkXCIsXG4gICAgICAgICAgICAgICAgc2NvcGU6IHRoaXMub3B0aW9ucz8uc2NvcGVzLmpvaW4oXCIgXCIpID8/IFwiXCIsXG4gICAgICAgICAgICAgICAgdXNlcm5hbWUsXG4gICAgICAgICAgICAgICAgcGFzc3dvcmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBlLmVycm9yO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IuZXJyb3IgPT09IFRva2VuRXhjZXB0aW9ucy5NZmFSZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEF1dGgwTWZhUmVxdWlyZWRFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvci5lcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvckRlc2NyaXB0aW9uOiBlcnJvci5lcnJvcl9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZmFUb2tlbjogZXJyb3IubWZhX3Rva2VuXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGF1dGhXaXRoT29iQ29kZShtZmFUb2tlbjogc3RyaW5nLCBvb2JDb2RlOiBzdHJpbmcsIGJpbmRpbmdDb2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEF1dGgwVG9rZW5SZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXV0aDBUb2tlblJlc3BvbnNlPihcbiAgICAgICAgICAgIHRoaXMudXJsKFwidG9rZW5cIiksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2xpZW50X2lkOiB0aGlzLm9wdGlvbnMuY2xpZW50SWQsXG4gICAgICAgICAgICAgICAgY2xpZW50X3NlY3JldDogdGhpcy5vcHRpb25zLmNsaWVudFNlY3JldCxcbiAgICAgICAgICAgICAgICBhdWRpZW5jZTogdGhpcy5vcHRpb25zLmF1ZGllbmNlLFxuICAgICAgICAgICAgICAgIGdyYW50X3R5cGU6IFwiaHR0cDovL2F1dGgwLmNvbS9vYXV0aC9ncmFudC10eXBlL21mYS1vb2JcIixcbiAgICAgICAgICAgICAgICBzY29wZTogdGhpcy5vcHRpb25zPy5zY29wZXMuam9pbihcIiBcIikgPz8gXCJcIixcbiAgICAgICAgICAgICAgICBtZmFfdG9rZW46IG1mYVRva2VuLFxuICAgICAgICAgICAgICAgIG9vYl9jb2RlOiBvb2JDb2RlLFxuICAgICAgICAgICAgICAgIGJpbmRpbmdfY29kZTogYmluZGluZ0NvZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXV0aFdpdGhBdXRob3JpemF0aW9uQ29kZShhdXRoQ29kZTogc3RyaW5nLCByZWRpcmVjdFVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBdXRoMFRva2VuUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgICAgICAgIGZyb21PYmplY3Q6IHtcbiAgICAgICAgICAgICAgICBjb2RlOiBhdXRoQ29kZSxcbiAgICAgICAgICAgICAgICByZWRpcmVjdF91cmk6IHJlZGlyZWN0VXJsLFxuICAgICAgICAgICAgICAgIGNsaWVudF9pZDogdGhpcy5vcHRpb25zLmNsaWVudElkLFxuICAgICAgICAgICAgICAgIGNsaWVudF9zZWNyZXQ6IHRoaXMub3B0aW9ucy5jbGllbnRTZWNyZXQsXG4gICAgICAgICAgICAgICAgYXVkaWVuY2U6IHRoaXMub3B0aW9ucy5hdWRpZW5jZSxcbiAgICAgICAgICAgICAgICBncmFudF90eXBlOiBcImF1dGhvcml6YXRpb25fY29kZVwiLFxuICAgICAgICAgICAgICAgIHNjb3BlOiB0aGlzLm9wdGlvbnMuc2NvcGVzLmpvaW4oXCIgXCIpLFxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFwiQ29udGVudC1UeXBlXCIsIFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBdXRoMFRva2VuUmVzcG9uc2U+KHRoaXMudXJsKFwidG9rZW5cIiksIGJvZHkudG9TdHJpbmcoKSwgeyBoZWFkZXJzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWZyZXNoVG9rZW4ocmVmcmVzaFRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEF1dGgwVG9rZW5SZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXV0aDBUb2tlblJlc3BvbnNlPihcbiAgICAgICAgICAgIHRoaXMudXJsKFwidG9rZW5cIiksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2xpZW50X2lkOiB0aGlzLm9wdGlvbnMuY2xpZW50SWQsXG4gICAgICAgICAgICAgICAgY2xpZW50X3NlY3JldDogdGhpcy5vcHRpb25zLmNsaWVudFNlY3JldCxcbiAgICAgICAgICAgICAgICBhdWRpZW5jZTogdGhpcy5vcHRpb25zLmF1ZGllbmNlLFxuICAgICAgICAgICAgICAgIGdyYW50X3R5cGU6IFwicmVmcmVzaF90b2tlblwiLFxuICAgICAgICAgICAgICAgIHNjb3BlOiB0aGlzLm9wdGlvbnM/LnNjb3Blcy5qb2luKFwiIFwiKSA/PyBcIlwiLFxuICAgICAgICAgICAgICAgIHJlZnJlc2hfdG9rZW46IHJlZnJlc2hUb2tlblxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXZva2VSZWZyZXNoVG9rZW4ocmVmcmVzaFRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHZvaWQ+KFxuICAgICAgICAgICAgdGhpcy51cmwoXCJyZXZva2VcIiksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2xpZW50X2lkOiB0aGlzLm9wdGlvbnMuY2xpZW50SWQsXG4gICAgICAgICAgICAgICAgY2xpZW50X3NlY3JldDogdGhpcy5vcHRpb25zLmNsaWVudFNlY3JldCxcbiAgICAgICAgICAgICAgICB0b2tlbjogcmVmcmVzaFRva2VuXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|