@recursyve/nice-auth0-kit 13.0.0-beta.9 → 14.0.0-beta.17

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.
@@ -1,5 +1,5 @@
1
1
  import * as i1 from '@angular/common/http';
2
- import { HttpErrorResponse, HttpParams, HttpHeaders, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
2
+ import { HttpErrorResponse, HttpHeaders, HttpParams, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
3
3
  import * as i0 from '@angular/core';
4
4
  import { InjectionToken, Injectable, Inject, NgModule } from '@angular/core';
5
5
  import { throwError, of, BehaviorSubject, mergeMap } from 'rxjs';
@@ -70,15 +70,15 @@ class Auth0MfaApi extends Auth0Api {
70
70
  phone_number: req.phoneNumber,
71
71
  email: req.email
72
72
  }, {
73
- headers: {
73
+ headers: new HttpHeaders({
74
74
  Authorization: `Bearer ${req.mfaToken}`
75
- }
75
+ })
76
76
  });
77
77
  }
78
78
  }
79
- Auth0MfaApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0MfaApi, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
80
- Auth0MfaApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0MfaApi });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0MfaApi, decorators: [{
79
+ Auth0MfaApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: Auth0MfaApi, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
80
+ Auth0MfaApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: Auth0MfaApi });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: Auth0MfaApi, decorators: [{
82
82
  type: Injectable
83
83
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
84
84
  type: Inject,
@@ -146,11 +146,10 @@ class Auth0TokenApi extends Auth0Api {
146
146
  client_secret: this.options.clientSecret,
147
147
  audience: this.options.audience,
148
148
  grant_type: "authorization_code",
149
- scope: this.options.scopes,
149
+ scope: this.options.scopes.join(" "),
150
150
  }
151
151
  });
152
- const headers = new HttpHeaders();
153
- headers.set("Content-Type", "application/x-www-form-urlencoded");
152
+ const headers = new HttpHeaders().set("Content-Type", "application/x-www-form-urlencoded");
154
153
  return this.http.post(this.url("token"), body.toString(), { headers });
155
154
  }
156
155
  refreshToken(refreshToken) {
@@ -171,9 +170,9 @@ class Auth0TokenApi extends Auth0Api {
171
170
  });
172
171
  }
173
172
  }
174
- Auth0TokenApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0TokenApi, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
175
- Auth0TokenApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0TokenApi });
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0TokenApi, decorators: [{
173
+ Auth0TokenApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: Auth0TokenApi, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
174
+ Auth0TokenApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: Auth0TokenApi });
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: Auth0TokenApi, decorators: [{
177
176
  type: Injectable
178
177
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
179
178
  type: Inject,
@@ -186,17 +185,17 @@ class Auth0AuthorizationApi extends Auth0Api {
186
185
  this.options = options;
187
186
  }
188
187
  buildAuthFlowRequest(redirectUrl, connection) {
189
- const query = new HttpParams({
188
+ let query = new HttpParams({
190
189
  fromObject: {
191
190
  redirect_uri: redirectUrl,
192
191
  client_id: this.options.clientId,
193
192
  audience: this.options.audience,
194
193
  response_type: "code",
195
- scope: this.options.scopes,
194
+ scope: this.options.scopes.join(" "),
196
195
  }
197
196
  });
198
197
  if (connection) {
199
- query.append("connection", connection);
198
+ query = query.append("connection", connection);
200
199
  }
201
200
  return of({
202
201
  uri: this.url(`?${query.toString()}`),
@@ -204,9 +203,9 @@ class Auth0AuthorizationApi extends Auth0Api {
204
203
  });
205
204
  }
206
205
  }
207
- Auth0AuthorizationApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0AuthorizationApi, deps: [{ token: NICE_AUTH0_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
208
- Auth0AuthorizationApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0AuthorizationApi });
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0AuthorizationApi, decorators: [{
206
+ Auth0AuthorizationApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: Auth0AuthorizationApi, deps: [{ token: NICE_AUTH0_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
207
+ Auth0AuthorizationApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: Auth0AuthorizationApi });
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: Auth0AuthorizationApi, decorators: [{
210
209
  type: Injectable
211
210
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
212
211
  type: Inject,
@@ -220,9 +219,9 @@ class NiceAuth0Service {
220
219
  this.authorization = authorization;
221
220
  }
222
221
  }
223
- NiceAuth0Service.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Service, deps: [{ token: Auth0MfaApi }, { token: Auth0TokenApi }, { token: Auth0AuthorizationApi }], target: i0.ɵɵFactoryTarget.Injectable });
224
- NiceAuth0Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Service, providedIn: "root" });
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Service, decorators: [{
222
+ NiceAuth0Service.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAuth0Service, deps: [{ token: Auth0MfaApi }, { token: Auth0TokenApi }, { token: Auth0AuthorizationApi }], target: i0.ɵɵFactoryTarget.Injectable });
223
+ NiceAuth0Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAuth0Service, providedIn: "root" });
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAuth0Service, decorators: [{
226
225
  type: Injectable,
227
226
  args: [{
228
227
  providedIn: "root"
@@ -239,7 +238,8 @@ var AuthorizationStateValidationResult;
239
238
  AuthorizationStateValidationResult["Failure"] = "failure";
240
239
  })(AuthorizationStateValidationResult || (AuthorizationStateValidationResult = {}));
241
240
  class NiceAuthenticationService {
242
- constructor(auth0Service) {
241
+ constructor(options, auth0Service) {
242
+ this.options = options;
243
243
  this.auth0Service = auth0Service;
244
244
  this.currentUser$ = new BehaviorSubject(this.currentUser);
245
245
  }
@@ -262,6 +262,12 @@ class NiceAuthenticationService {
262
262
  set refreshToken(refreshToken) {
263
263
  localStorage.setItem("auth0_refresh_token", refreshToken);
264
264
  }
265
+ get authToken() {
266
+ if (this.options.authToken === "idToken") {
267
+ return this.idToken;
268
+ }
269
+ return this.accessToken;
270
+ }
265
271
  get idTokenPayload() {
266
272
  try {
267
273
  return jwtDecode(this.idToken);
@@ -281,6 +287,12 @@ class NiceAuthenticationService {
281
287
  return {};
282
288
  }
283
289
  }
290
+ get authTokenPayload() {
291
+ if (this.options.authToken === "idToken") {
292
+ return this.idTokenPayload;
293
+ }
294
+ return this.accessTokenPayload;
295
+ }
284
296
  get currentUser() {
285
297
  return this.idTokenPayload;
286
298
  }
@@ -288,14 +300,14 @@ class NiceAuthenticationService {
288
300
  if (this.validateToken()) {
289
301
  return of(true);
290
302
  }
291
- return this.getAccessToken().pipe(map((accessToken) => accessToken != null), catchError(() => of(false)));
303
+ return this.getAuthorizationToken().pipe(map((token) => token != null), catchError(() => of(false)));
292
304
  }
293
- getAccessToken() {
294
- if (!this.accessToken) {
305
+ getAuthorizationToken() {
306
+ if (!this.authToken) {
295
307
  return of(null);
296
308
  }
297
309
  if (this.validateToken()) {
298
- return of(this.accessToken);
310
+ return of(this.authToken);
299
311
  }
300
312
  if (this.refreshToken) {
301
313
  return this.generateNewToken();
@@ -303,10 +315,10 @@ class NiceAuthenticationService {
303
315
  return of(null);
304
316
  }
305
317
  validateToken() {
306
- if (!this.accessToken) {
318
+ if (!this.authToken) {
307
319
  return false;
308
320
  }
309
- const exp = this.accessTokenPayload.exp;
321
+ const exp = this.authTokenPayload.exp;
310
322
  const now = new Date().getTime() / 1000;
311
323
  return now < exp;
312
324
  }
@@ -319,7 +331,7 @@ class NiceAuthenticationService {
319
331
  success: true,
320
332
  mfaRequired: false
321
333
  };
322
- }), catchError(this.catchGrantError));
334
+ }), catchError((e) => this.catchGrantError(e)));
323
335
  }
324
336
  authorizationCodeGrant(code, redirectUrl) {
325
337
  return this.auth0Service.token.authWithAuthorizationCode(code, redirectUrl).pipe(map(value => {
@@ -330,7 +342,7 @@ class NiceAuthenticationService {
330
342
  success: true,
331
343
  mfaRequired: false
332
344
  };
333
- }), catchError(this.catchGrantError));
345
+ }), catchError((e) => this.catchGrantError(e)));
334
346
  }
335
347
  getAuthFlowRequestUri(redirectUrl, options) {
336
348
  return this.auth0Service.authorization.buildAuthFlowRequest(redirectUrl, options?.connection ?? undefined).pipe(map(request => {
@@ -341,18 +353,23 @@ class NiceAuthenticationService {
341
353
  }));
342
354
  }
343
355
  checkAuthFlowResponse(expectedResponsePath) {
344
- if (!expectedResponsePath || window.location.pathname === expectedResponsePath) {
356
+ if (typeof expectedResponsePath === "string") {
357
+ expectedResponsePath = [expectedResponsePath];
358
+ }
359
+ const path = expectedResponsePath?.find(x => window.location.pathname === x);
360
+ if (!expectedResponsePath || path) {
345
361
  const params = new URLSearchParams(window.location.search);
346
362
  if (!params.has("code")) {
347
363
  return of(null);
348
364
  }
349
365
  const response = {
366
+ path,
350
367
  code: params.get("code"),
351
368
  stateValidationResult: AuthorizationStateValidationResult.Omitted
352
369
  };
353
370
  const savedAuthorizationState = localStorage.getItem("auth0_auth_flow_state");
354
371
  if (savedAuthorizationState) {
355
- if (!params.has("state") || savedAuthorizationState != params.get("state")) {
372
+ if (!params.has("state") || savedAuthorizationState !== params.get("state")) {
356
373
  response.stateValidationResult = AuthorizationStateValidationResult.Failure;
357
374
  }
358
375
  else {
@@ -420,11 +437,14 @@ class NiceAuthenticationService {
420
437
  return throwError(() => e);
421
438
  }
422
439
  }
423
- NiceAuthenticationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthenticationService, deps: [{ token: NiceAuth0Service }], target: i0.ɵɵFactoryTarget.Injectable });
424
- NiceAuthenticationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthenticationService });
425
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthenticationService, decorators: [{
440
+ NiceAuthenticationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAuthenticationService, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: NiceAuth0Service }], target: i0.ɵɵFactoryTarget.Injectable });
441
+ NiceAuthenticationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAuthenticationService });
442
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAuthenticationService, decorators: [{
426
443
  type: Injectable
427
- }], ctorParameters: function () { return [{ type: NiceAuth0Service }]; } });
444
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
445
+ type: Inject,
446
+ args: [NICE_AUTH0_OPTIONS]
447
+ }] }, { type: NiceAuth0Service }]; } });
428
448
 
429
449
  class NiceAuthInterceptor {
430
450
  constructor(options, authService) {
@@ -432,10 +452,12 @@ class NiceAuthInterceptor {
432
452
  this.authService = authService;
433
453
  }
434
454
  intercept(req, next) {
435
- if (req.url.startsWith(`${this.options.domain}/oauth`) || req.url.startsWith(`${this.options.domain}/authorize`)) {
455
+ if (req.url.startsWith(`${this.options.domain}/oauth`) ||
456
+ req.url.startsWith(`${this.options.domain}/authorize`) ||
457
+ req.url.startsWith(`${this.options.domain}/mfa`)) {
436
458
  return next.handle(req);
437
459
  }
438
- return this.authService.getAccessToken().pipe(mergeMap(token => {
460
+ return this.authService.getAuthorizationToken().pipe(mergeMap(token => {
439
461
  if (!token) {
440
462
  return next.handle(req);
441
463
  }
@@ -446,9 +468,9 @@ class NiceAuthInterceptor {
446
468
  }));
447
469
  }
448
470
  }
449
- NiceAuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthInterceptor, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: NiceAuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable });
450
- NiceAuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthInterceptor });
451
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthInterceptor, decorators: [{
471
+ NiceAuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAuthInterceptor, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: NiceAuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable });
472
+ NiceAuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAuthInterceptor });
473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAuthInterceptor, decorators: [{
452
474
  type: Injectable
453
475
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
454
476
  type: Inject,
@@ -468,19 +490,17 @@ class NiceAuth0Module {
468
490
  };
469
491
  }
470
492
  }
471
- NiceAuth0Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
472
- NiceAuth0Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Module, imports: [HttpClientModule] });
473
- NiceAuth0Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Module, providers: [
493
+ NiceAuth0Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAuth0Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
494
+ NiceAuth0Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: NiceAuth0Module, imports: [HttpClientModule] });
495
+ NiceAuth0Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAuth0Module, providers: [
474
496
  Auth0MfaApi,
475
497
  Auth0TokenApi,
476
498
  Auth0AuthorizationApi,
477
499
  NiceAuth0Service,
478
500
  NiceAuthenticationService,
479
501
  { provide: HTTP_INTERCEPTORS, useClass: NiceAuthInterceptor, multi: true }
480
- ], imports: [[
481
- HttpClientModule
482
- ]] });
483
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Module, decorators: [{
502
+ ], imports: [HttpClientModule] });
503
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAuth0Module, decorators: [{
484
504
  type: NgModule,
485
505
  args: [{
486
506
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"recursyve-nice-auth0-kit.mjs","sources":["../../../projects/nice-auth0-kit/src/lib/nice-auth0-kit.constant.ts","../../../projects/nice-auth0-kit/src/lib/api/exceptions/base.exception.ts","../../../projects/nice-auth0-kit/src/lib/api/mfa/exceptions/association-required.exception.ts","../../../projects/nice-auth0-kit/src/lib/api/auth0.api.ts","../../../projects/nice-auth0-kit/src/lib/api/mfa/exceptions/mfa.exception.ts","../../../projects/nice-auth0-kit/src/lib/api/mfa/mfa.api.ts","../../../projects/nice-auth0-kit/src/lib/api/token/exceptions/mfa-required.exception.ts","../../../projects/nice-auth0-kit/src/lib/api/token/exceptions/token.exception.ts","../../../projects/nice-auth0-kit/src/lib/api/token/token.api.ts","../../../projects/nice-auth0-kit/src/lib/api/authorization/authorization.api.ts","../../../projects/nice-auth0-kit/src/lib/api/nice-auth0.service.ts","../../../projects/nice-auth0-kit/src/lib/providers/exceptions/no-authenticator.exception.ts","../../../projects/nice-auth0-kit/src/lib/providers/authentication.service.ts","../../../projects/nice-auth0-kit/src/lib/api/interceptors/auth.interceptor.ts","../../../projects/nice-auth0-kit/src/lib/nice-auht0-kit.module.ts","../../../projects/nice-auth0-kit/src/public-api.ts","../../../projects/nice-auth0-kit/src/recursyve-nice-auth0-kit.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\n\nexport const NICE_AUTH0_OPTIONS = new InjectionToken(\"nice_auth0_options\");\n","export class Auth0BaseException {\n public error: string;\n public errorDescription: string;\n\n constructor(value: Auth0BaseException) {\n Object.assign(this, value);\n }\n}\n","import { Auth0BaseException } from \"../../exceptions/base.exception\";\n\nexport class Auth0AssociationRequiredException extends Auth0BaseException {}\n","export class Auth0Api {\n constructor(private domain: string, private path: string) {}\n\n protected url(route = \"\"): string {\n if (route === \"\" && this.path === \"\") {\n return this.domain;\n }\n return `${this.domain}/${this.path}/${route}`;\n }\n}\n","export enum MfaExceptions {\n AssociationRequired = \"association_required\"\n}\n","import { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable, throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\nimport { NICE_AUTH0_OPTIONS } from \"../../nice-auth0-kit.constant\";\nimport { NiceAuth0Options } from \"../../nice-auth0-kit.options\";\nimport { Auth0Api } from \"../auth0.api\";\nimport { Auth0AssociationRequiredException } from \"./exceptions/association-required.exception\";\nimport { MfaExceptions } from \"./exceptions/mfa.exception\";\nimport { Auth0MfaAddOobAuthenticatorRequest, Auth0MfaChallengeRequest } from \"./model/mfa-request.model\";\nimport { Auth0ChallengeResponse } from \"./model/mfa-response.model\";\n\n@Injectable()\nexport class Auth0MfaApi extends Auth0Api {\n constructor(@Inject(NICE_AUTH0_OPTIONS) private options: NiceAuth0Options, private http: HttpClient) {\n super(options.domain, \"mfa\");\n }\n\n public challenge(req: Auth0MfaChallengeRequest): Observable<Auth0ChallengeResponse> {\n return this.http.post<Auth0ChallengeResponse>(this.url(\"challenge\"), {\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n challenge_type: req.type,\n mfa_token: req.mfaToken\n }).pipe(\n catchError((e) => {\n if (e instanceof HttpErrorResponse) {\n const error = e.error;\n if (error.error === MfaExceptions.AssociationRequired) {\n return throwError(() => new Auth0AssociationRequiredException({\n error: error.error,\n errorDescription: error.error_description\n }));\n }\n }\n\n return throwError(() => e);\n })\n );\n }\n\n public associateOobAuthenticator(req: Auth0MfaAddOobAuthenticatorRequest): Observable<Auth0ChallengeResponse> {\n return this.http.post<Auth0ChallengeResponse>(\n this.url(\"associate\"),\n {\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n authenticator_types: [\"oob\"],\n oob_channels: req.channels,\n phone_number: req.phoneNumber,\n email: req.email\n },\n {\n headers: {\n Authorization: `Bearer ${req.mfaToken}`\n }\n }\n );\n }\n}\n","import { Auth0BaseException } from \"../../exceptions/base.exception\";\n\nexport class Auth0MfaRequiredException extends Auth0BaseException {\n public mfaToken: string;\n\n constructor(value: Auth0MfaRequiredException) {\n super(value);\n }\n}\n","export enum TokenExceptions {\n MfaRequired = \"mfa_required\"\n}\n","import { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable, of, throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\nimport { NICE_AUTH0_OPTIONS } from \"../../nice-auth0-kit.constant\";\nimport { NiceAuth0Options } from \"../../nice-auth0-kit.options\";\nimport { Auth0Api } from \"../auth0.api\";\nimport { Auth0MfaRequiredException } from \"./exceptions/mfa-required.exception\";\nimport { TokenExceptions } from \"./exceptions/token.exception\";\nimport { Auth0TokenResponse } from \"./models/token-response.model\";\n\n@Injectable()\nexport class Auth0TokenApi extends Auth0Api {\n constructor(@Inject(NICE_AUTH0_OPTIONS) private options: NiceAuth0Options, private http: HttpClient) {\n super(options.domain, \"oauth\");\n }\n\n public authWithPassword(username: string, password: string): Observable<Auth0TokenResponse> {\n return this.http.post<Auth0TokenResponse>(\n this.url(\"token\"),\n {\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n audience: this.options.audience,\n grant_type: \"password\",\n scope: this.options?.scopes.join(\" \") ?? \"\",\n username,\n password\n }\n ).pipe(\n catchError((e) => {\n if (e instanceof HttpErrorResponse) {\n const error = e.error;\n if (error.error === TokenExceptions.MfaRequired) {\n return throwError(() => new Auth0MfaRequiredException({\n error: error.error,\n errorDescription: error.error_description,\n mfaToken: error.mfa_token\n }));\n }\n }\n\n return throwError(() => e);\n })\n );\n }\n\n public authWithOobCode(mfaToken: string, oobCode: string, bindingCode: string): Observable<Auth0TokenResponse> {\n return this.http.post<Auth0TokenResponse>(\n this.url(\"token\"),\n {\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n audience: this.options.audience,\n grant_type: \"http://auth0.com/oauth/grant-type/mfa-oob\",\n scope: this.options?.scopes.join(\" \") ?? \"\",\n mfa_token: mfaToken,\n oob_code: oobCode,\n binding_code: bindingCode\n }\n );\n }\n\n public authWithAuthorizationCode(authCode: string, redirectUrl: string): Observable<Auth0TokenResponse> {\n const body = new HttpParams({\n fromObject: {\n code: authCode,\n redirect_uri: redirectUrl,\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n audience: this.options.audience,\n grant_type: \"authorization_code\",\n scope: this.options.scopes,\n }\n });\n\n const headers = new HttpHeaders();\n headers.set(\"Content-Type\", \"application/x-www-form-urlencoded\");\n\n return this.http.post<Auth0TokenResponse>(this.url(\"token\"), body.toString(), { headers });\n }\n\n public refreshToken(refreshToken: string): Observable<Auth0TokenResponse> {\n return this.http.post<Auth0TokenResponse>(\n this.url(\"token\"),\n {\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n audience: this.options.audience,\n grant_type: \"refresh_token\",\n scope: this.options?.scopes.join(\" \") ?? \"\",\n refresh_token: refreshToken\n }\n );\n }\n\n public revokeRefreshToken(refreshToken: string): Observable<void> {\n return this.http.post<void>(\n this.url(\"revoke\"),\n {\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n token: refreshToken\n }\n );\n }\n}\n","import { Auth0Api } from \"../auth0.api\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { NICE_AUTH0_OPTIONS } from \"../../nice-auth0-kit.constant\";\nimport { NiceAuth0Options } from \"../../nice-auth0-kit.options\";\nimport { HttpParams } from \"@angular/common/http\";\nimport { Observable, of } from \"rxjs\";\nimport { AuthorizationFlowRequest } from \"./models/authorization-flow-request.model\";\nimport { v4 as uuidv4 } from \"uuid\";\n\n@Injectable()\nexport class Auth0AuthorizationApi extends Auth0Api {\n constructor(@Inject(NICE_AUTH0_OPTIONS) private options: NiceAuth0Options) {\n super(options.domain, \"authorize\");\n }\n\n public buildAuthFlowRequest(redirectUrl: string, connection?: string): Observable<AuthorizationFlowRequest> {\n const query = new HttpParams({\n fromObject: {\n redirect_uri: redirectUrl,\n client_id: this.options.clientId,\n audience: this.options.audience,\n response_type: \"code\",\n scope: this.options.scopes,\n }\n });\n\n if (connection) {\n query.append(\"connection\", connection);\n }\n\n return of({\n uri: this.url(`?${query.toString()}`),\n state: uuidv4(),\n });\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Auth0MfaApi } from \"./mfa/mfa.api\";\nimport { Auth0TokenApi } from \"./token/token.api\";\nimport { Auth0AuthorizationApi } from \"./authorization/authorization.api\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class NiceAuth0Service {\n constructor(public mfa: Auth0MfaApi, public token: Auth0TokenApi, public authorization: Auth0AuthorizationApi) {}\n}\n","export class NoAuthenticatorException {}\n","import { Injectable } from \"@angular/core\";\nimport jwtDecode from \"jwt-decode\";\nimport { BehaviorSubject, Observable, of, throwError } from \"rxjs\";\nimport { catchError, map, tap } from \"rxjs/operators\";\nimport { Auth0AssociationRequiredException } from \"../api/mfa/exceptions/association-required.exception\";\nimport { NiceAuth0Service } from \"../api\";\nimport { Auth0MfaRequiredException } from \"../api/token/exceptions/mfa-required.exception\";\nimport { NoAuthenticatorException } from \"./exceptions/no-authenticator.exception\";\n\nexport interface LoginResponse {\n success: boolean;\n mfaRequired: boolean;\n}\n\nexport interface SmsAuthenticator {\n type: \"sms\";\n phoneNumber: string;\n}\n\nexport interface EmailAuthenticator {\n type: \"email\";\n email: string;\n}\n\nexport interface AuthorizationFlowOptions {\n connection?: string;\n useStateValidation?: boolean;\n}\n\nexport enum AuthorizationStateValidationResult {\n Omitted = \"omitted\",\n Success = \"success\",\n Failure = \"failure\"\n}\n\nexport interface AuthorizationFlowResponse {\n code: string;\n stateValidationResult: AuthorizationStateValidationResult;\n}\n\n@Injectable()\nexport class NiceAuthenticationService {\n private lastMfaChallengeToken: string;\n private lastMfaOobCode: string;\n\n public currentUser$ = new BehaviorSubject(this.currentUser);\n\n constructor(private auth0Service: NiceAuth0Service) {}\n\n public get idToken(): string {\n return localStorage.getItem(\"auth0_id_token\");\n }\n\n public set idToken(accessToken: string) {\n localStorage.setItem(\"auth0_id_token\", accessToken);\n this.currentUser$.next(this.currentUser);\n }\n\n public get accessToken(): string {\n return localStorage.getItem(\"auth0_access_token\");\n }\n\n public set accessToken(accessToken: string) {\n localStorage.setItem(\"auth0_access_token\", accessToken);\n }\n\n public get refreshToken(): string {\n return localStorage.getItem(\"auth0_refresh_token\");\n }\n\n public set refreshToken(refreshToken: string) {\n localStorage.setItem(\"auth0_refresh_token\", refreshToken);\n }\n\n public get idTokenPayload(): any {\n try {\n return jwtDecode(this.idToken);\n } catch (e) {\n console.log(\"Failed to decode payload: \" + e);\n return {};\n }\n }\n\n public get accessTokenPayload(): any {\n try {\n const decodedPayload = atob(this.accessToken.split(\".\")[1]);\n return JSON.parse(decodedPayload);\n } catch (e) {\n console.log(\"Failed to decode payload: \" + e);\n return {};\n }\n }\n\n public get currentUser(): any {\n return this.idTokenPayload;\n }\n\n public checkLoggedIn(): Observable<boolean> {\n if (this.validateToken()) {\n return of(true);\n }\n\n return this.getAccessToken().pipe(\n map((accessToken: string) => accessToken != null),\n catchError(() => of(false))\n );\n }\n\n public getAccessToken(): Observable<string> {\n if (!this.accessToken) {\n return of(null);\n }\n\n if (this.validateToken()) {\n return of(this.accessToken);\n }\n\n if (this.refreshToken) {\n return this.generateNewToken();\n }\n\n return of(null);\n }\n\n public validateToken(): boolean {\n if (!this.accessToken) {\n return false;\n }\n\n const exp = this.accessTokenPayload.exp;\n const now = new Date().getTime() / 1000;\n return now < exp;\n }\n\n public passwordGrant(username: string, password: string): Observable<LoginResponse> {\n return this.auth0Service.token.authWithPassword(username, password).pipe(\n map(value => {\n this.refreshToken = value.refresh_token;\n this.idToken = value.id_token;\n this.accessToken = value.access_token;\n return {\n success: true,\n mfaRequired: false\n };\n }),\n catchError(this.catchGrantError)\n );\n }\n\n public authorizationCodeGrant(code: string, redirectUrl: string): Observable<LoginResponse> {\n return this.auth0Service.token.authWithAuthorizationCode(code, redirectUrl).pipe(\n map(value => {\n this.refreshToken = value.refresh_token;\n this.idToken = value.id_token;\n this.accessToken = value.access_token;\n return {\n success: true,\n mfaRequired: false\n };\n }),\n catchError(this.catchGrantError)\n );\n }\n\n public getAuthFlowRequestUri(redirectUrl: string, options?: AuthorizationFlowOptions): Observable<string> {\n return this.auth0Service.authorization.buildAuthFlowRequest(redirectUrl, options?.connection ?? undefined).pipe(map(request => {\n if (options?.useStateValidation) {\n localStorage.setItem(\"auth0_auth_flow_state\", request.state);\n }\n return request.uri;\n }));\n }\n\n public checkAuthFlowResponse(expectedResponsePath?: string): Observable<AuthorizationFlowResponse | null> {\n if (!expectedResponsePath || window.location.pathname === expectedResponsePath) {\n const params = new URLSearchParams(window.location.search);\n if(!params.has(\"code\")) {\n return of(null);\n }\n\n const response = {\n code: params.get(\"code\"),\n stateValidationResult: AuthorizationStateValidationResult.Omitted\n };\n\n const savedAuthorizationState = localStorage.getItem(\"auth0_auth_flow_state\");\n if (savedAuthorizationState) {\n if (!params.has(\"state\") || savedAuthorizationState != params.get(\"state\")) {\n response.stateValidationResult = AuthorizationStateValidationResult.Failure;\n } else {\n response.stateValidationResult = AuthorizationStateValidationResult.Success;\n }\n }\n\n return of(response);\n }\n\n return of(null);\n }\n\n public validateOobCode(code: string): Observable<void> {\n return this.auth0Service.token.authWithOobCode(this.lastMfaChallengeToken, this.lastMfaOobCode, code).pipe(\n map(value => {\n this.refreshToken = value.refresh_token;\n this.idToken = value.id_token;\n this.accessToken = value.access_token;\n })\n );\n }\n\n public logout(): Observable<void> {\n const refreshToken = localStorage.getItem(\"auth0_refresh_token\");\n\n localStorage.removeItem(\"auth0_id_token\");\n localStorage.removeItem(\"auth0_access_token\");\n localStorage.removeItem(\"auth0_refresh_token\");\n\n return this.auth0Service.token.revokeRefreshToken(refreshToken);\n }\n\n public generateNewToken(): Observable<string> {\n return this.auth0Service.token.refreshToken(this.refreshToken).pipe(\n tap(value => {\n this.refreshToken = value.refresh_token;\n this.idToken = value.id_token;\n this.accessToken = value.access_token;\n }),\n map(value => value.access_token),\n catchError(e => {\n return of(null);\n })\n );\n }\n\n public addMfaAuthenticator(authenticator: SmsAuthenticator | EmailAuthenticator): Observable<void> {\n return this.auth0Service.mfa.associateOobAuthenticator({\n mfaToken: this.lastMfaChallengeToken,\n channels: [authenticator.type],\n email: (authenticator as EmailAuthenticator).email,\n phoneNumber: (authenticator as SmsAuthenticator).phoneNumber\n }).pipe(\n map(value => {\n this.lastMfaOobCode = value.oob_code;\n })\n );\n }\n\n public triggerMfaChallenge(): Observable<void> {\n return this.auth0Service.mfa.challenge({\n type: \"oob\",\n mfaToken: this.lastMfaChallengeToken\n }).pipe(\n map(value => {\n this.lastMfaOobCode = value.oob_code;\n })\n );\n }\n\n private catchGrantError(e: any): Observable<LoginResponse> {\n if (e instanceof Auth0MfaRequiredException) {\n this.lastMfaChallengeToken = e.mfaToken;\n return this.triggerMfaChallenge().pipe(\n map(() => ({\n success: true,\n mfaRequired: true\n })),\n catchError((err) => {\n if (err instanceof Auth0AssociationRequiredException) {\n return throwError(() => new NoAuthenticatorException());\n }\n return throwError(() => err);\n })\n );\n }\n return throwError(() => e);\n }\n\n}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { mergeMap, Observable } from \"rxjs\";\nimport { NICE_AUTH0_OPTIONS } from \"../../nice-auth0-kit.constant\";\nimport { NiceAuth0Options } from \"../../nice-auth0-kit.options\";\nimport { NiceAuthenticationService } from \"../../providers/authentication.service\";\n\n@Injectable()\nexport class NiceAuthInterceptor implements HttpInterceptor {\n constructor(@Inject(NICE_AUTH0_OPTIONS) private options: NiceAuth0Options, private authService: NiceAuthenticationService) {}\n\n public intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n if (req.url.startsWith(`${this.options.domain}/oauth`) || req.url.startsWith(`${this.options.domain}/authorize`) ) {\n return next.handle(req);\n }\n\n return this.authService.getAccessToken().pipe(\n mergeMap(token => {\n if (!token) {\n return next.handle(req);\n }\n\n const authReq = req.clone({\n headers: req.headers.set(\"Authorization\", `Bearer ${token}`)\n });\n return next.handle(authReq);\n })\n );\n }\n}\n","import { HTTP_INTERCEPTORS, HttpClientModule } from \"@angular/common/http\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { NiceAuthInterceptor } from \"./api/interceptors/auth.interceptor\";\nimport { Auth0MfaApi } from \"./api/mfa/mfa.api\";\nimport { NiceAuth0Service } from \"./api/nice-auth0.service\";\nimport { Auth0TokenApi } from \"./api/token/token.api\";\nimport { NICE_AUTH0_OPTIONS } from \"./nice-auth0-kit.constant\";\nimport { NiceAuth0Options } from \"./nice-auth0-kit.options\";\nimport { NiceAuthenticationService } from \"./providers/authentication.service\";\nimport { Auth0AuthorizationApi } from \"./api/authorization/authorization.api\";\n\n@NgModule({\n imports: [\n HttpClientModule\n ],\n declarations: [],\n providers: [\n Auth0MfaApi,\n Auth0TokenApi,\n Auth0AuthorizationApi,\n NiceAuth0Service,\n NiceAuthenticationService,\n { provide: HTTP_INTERCEPTORS, useClass: NiceAuthInterceptor, multi: true }\n ],\n exports: []\n})\nexport class NiceAuth0Module {\n public static forRoot(options: NiceAuth0Options): ModuleWithProviders<NiceAuth0Module> {\n return {\n ngModule: NiceAuth0Module,\n providers: [\n {\n provide: NICE_AUTH0_OPTIONS,\n useValue: options\n }\n ]\n };\n }\n}\n","/*\n * Public API Surface of nice-auth0-kit\n */\n\nexport * from \"./lib/nice-auht0-kit.module\";\nexport * from \"./lib/nice-auth0-kit.options\";\nexport * from \"./lib/api\";\nexport * from \"./lib/providers\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4"],"mappings":"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"}
1
+ {"version":3,"file":"recursyve-nice-auth0-kit.mjs","sources":["../../../projects/nice-auth0-kit/src/lib/nice-auth0-kit.constant.ts","../../../projects/nice-auth0-kit/src/lib/api/exceptions/base.exception.ts","../../../projects/nice-auth0-kit/src/lib/api/mfa/exceptions/association-required.exception.ts","../../../projects/nice-auth0-kit/src/lib/api/auth0.api.ts","../../../projects/nice-auth0-kit/src/lib/api/mfa/exceptions/mfa.exception.ts","../../../projects/nice-auth0-kit/src/lib/api/mfa/mfa.api.ts","../../../projects/nice-auth0-kit/src/lib/api/token/exceptions/mfa-required.exception.ts","../../../projects/nice-auth0-kit/src/lib/api/token/exceptions/token.exception.ts","../../../projects/nice-auth0-kit/src/lib/api/token/token.api.ts","../../../projects/nice-auth0-kit/src/lib/api/authorization/authorization.api.ts","../../../projects/nice-auth0-kit/src/lib/api/nice-auth0.service.ts","../../../projects/nice-auth0-kit/src/lib/providers/exceptions/no-authenticator.exception.ts","../../../projects/nice-auth0-kit/src/lib/providers/authentication.service.ts","../../../projects/nice-auth0-kit/src/lib/api/interceptors/auth.interceptor.ts","../../../projects/nice-auth0-kit/src/lib/nice-auht0-kit.module.ts","../../../projects/nice-auth0-kit/src/public-api.ts","../../../projects/nice-auth0-kit/src/recursyve-nice-auth0-kit.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\n\nexport const NICE_AUTH0_OPTIONS = new InjectionToken(\"nice_auth0_options\");\n","export class Auth0BaseException {\n public error: string;\n public errorDescription: string;\n\n constructor(value: Auth0BaseException) {\n Object.assign(this, value);\n }\n}\n","import { Auth0BaseException } from \"../../exceptions/base.exception\";\n\nexport class Auth0AssociationRequiredException extends Auth0BaseException {}\n","export class Auth0Api {\n constructor(private domain: string, private path: string) {}\n\n protected url(route = \"\"): string {\n if (route === \"\" && this.path === \"\") {\n return this.domain;\n }\n return `${this.domain}/${this.path}/${route}`;\n }\n}\n","export enum MfaExceptions {\n AssociationRequired = \"association_required\"\n}\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable, throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\nimport { NICE_AUTH0_OPTIONS } from \"../../nice-auth0-kit.constant\";\nimport { NiceAuth0Options } from \"../../nice-auth0-kit.options\";\nimport { Auth0Api } from \"../auth0.api\";\nimport { Auth0AssociationRequiredException } from \"./exceptions/association-required.exception\";\nimport { MfaExceptions } from \"./exceptions/mfa.exception\";\nimport { Auth0MfaAddOobAuthenticatorRequest, Auth0MfaChallengeRequest } from \"./model/mfa-request.model\";\nimport { Auth0ChallengeResponse } from \"./model/mfa-response.model\";\n\n@Injectable()\nexport class Auth0MfaApi extends Auth0Api {\n constructor(@Inject(NICE_AUTH0_OPTIONS) private options: NiceAuth0Options, private http: HttpClient) {\n super(options.domain, \"mfa\");\n }\n\n public challenge(req: Auth0MfaChallengeRequest): Observable<Auth0ChallengeResponse> {\n return this.http.post<Auth0ChallengeResponse>(this.url(\"challenge\"), {\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n challenge_type: req.type,\n mfa_token: req.mfaToken\n }).pipe(\n catchError((e) => {\n if (e instanceof HttpErrorResponse) {\n const error = e.error;\n if (error.error === MfaExceptions.AssociationRequired) {\n return throwError(() => new Auth0AssociationRequiredException({\n error: error.error,\n errorDescription: error.error_description\n }));\n }\n }\n\n return throwError(() => e);\n })\n );\n }\n\n public associateOobAuthenticator(req: Auth0MfaAddOobAuthenticatorRequest): Observable<Auth0ChallengeResponse> {\n return this.http.post<Auth0ChallengeResponse>(\n this.url(\"associate\"),\n {\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n authenticator_types: [\"oob\"],\n oob_channels: req.channels,\n phone_number: req.phoneNumber,\n email: req.email\n },\n {\n headers: new HttpHeaders({\n Authorization: `Bearer ${req.mfaToken}`\n })\n }\n );\n }\n}\n","import { Auth0BaseException } from \"../../exceptions/base.exception\";\n\nexport class Auth0MfaRequiredException extends Auth0BaseException {\n public mfaToken: string;\n\n constructor(value: Auth0MfaRequiredException) {\n super(value);\n }\n}\n","export enum TokenExceptions {\n MfaRequired = \"mfa_required\"\n}\n","import { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable, of, throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\nimport { NICE_AUTH0_OPTIONS } from \"../../nice-auth0-kit.constant\";\nimport { NiceAuth0Options } from \"../../nice-auth0-kit.options\";\nimport { Auth0Api } from \"../auth0.api\";\nimport { Auth0MfaRequiredException } from \"./exceptions/mfa-required.exception\";\nimport { TokenExceptions } from \"./exceptions/token.exception\";\nimport { Auth0TokenResponse } from \"./models/token-response.model\";\n\n@Injectable()\nexport class Auth0TokenApi extends Auth0Api {\n constructor(@Inject(NICE_AUTH0_OPTIONS) private options: NiceAuth0Options, private http: HttpClient) {\n super(options.domain, \"oauth\");\n }\n\n public authWithPassword(username: string, password: string): Observable<Auth0TokenResponse> {\n return this.http.post<Auth0TokenResponse>(\n this.url(\"token\"),\n {\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n audience: this.options.audience,\n grant_type: \"password\",\n scope: this.options?.scopes.join(\" \") ?? \"\",\n username,\n password\n }\n ).pipe(\n catchError((e) => {\n if (e instanceof HttpErrorResponse) {\n const error = e.error;\n if (error.error === TokenExceptions.MfaRequired) {\n return throwError(() => new Auth0MfaRequiredException({\n error: error.error,\n errorDescription: error.error_description,\n mfaToken: error.mfa_token\n }));\n }\n }\n\n return throwError(() => e);\n })\n );\n }\n\n public authWithOobCode(mfaToken: string, oobCode: string, bindingCode: string): Observable<Auth0TokenResponse> {\n return this.http.post<Auth0TokenResponse>(\n this.url(\"token\"),\n {\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n audience: this.options.audience,\n grant_type: \"http://auth0.com/oauth/grant-type/mfa-oob\",\n scope: this.options?.scopes.join(\" \") ?? \"\",\n mfa_token: mfaToken,\n oob_code: oobCode,\n binding_code: bindingCode\n }\n );\n }\n\n public authWithAuthorizationCode(authCode: string, redirectUrl: string): Observable<Auth0TokenResponse> {\n const body = new HttpParams({\n fromObject: {\n code: authCode,\n redirect_uri: redirectUrl,\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n audience: this.options.audience,\n grant_type: \"authorization_code\",\n scope: this.options.scopes.join(\" \"),\n }\n });\n\n const headers = new HttpHeaders().set(\"Content-Type\", \"application/x-www-form-urlencoded\");\n\n return this.http.post<Auth0TokenResponse>(this.url(\"token\"), body.toString(), { headers });\n }\n\n public refreshToken(refreshToken: string): Observable<Auth0TokenResponse> {\n return this.http.post<Auth0TokenResponse>(\n this.url(\"token\"),\n {\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n audience: this.options.audience,\n grant_type: \"refresh_token\",\n scope: this.options?.scopes.join(\" \") ?? \"\",\n refresh_token: refreshToken\n }\n );\n }\n\n public revokeRefreshToken(refreshToken: string): Observable<void> {\n return this.http.post<void>(\n this.url(\"revoke\"),\n {\n client_id: this.options.clientId,\n client_secret: this.options.clientSecret,\n token: refreshToken\n }\n );\n }\n}\n","import { Auth0Api } from \"../auth0.api\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { NICE_AUTH0_OPTIONS } from \"../../nice-auth0-kit.constant\";\nimport { NiceAuth0Options } from \"../../nice-auth0-kit.options\";\nimport { HttpParams } from \"@angular/common/http\";\nimport { Observable, of } from \"rxjs\";\nimport { AuthorizationFlowRequest } from \"./models/authorization-flow-request.model\";\nimport { v4 as uuidv4 } from \"uuid\";\n\n@Injectable()\nexport class Auth0AuthorizationApi extends Auth0Api {\n constructor(@Inject(NICE_AUTH0_OPTIONS) private options: NiceAuth0Options) {\n super(options.domain, \"authorize\");\n }\n\n public buildAuthFlowRequest(redirectUrl: string, connection?: string): Observable<AuthorizationFlowRequest> {\n let query = new HttpParams({\n fromObject: {\n redirect_uri: redirectUrl,\n client_id: this.options.clientId,\n audience: this.options.audience,\n response_type: \"code\",\n scope: this.options.scopes.join(\" \"),\n }\n });\n\n if (connection) {\n query = query.append(\"connection\", connection);\n }\n\n return of({\n uri: this.url(`?${query.toString()}`),\n state: uuidv4(),\n });\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Auth0MfaApi } from \"./mfa/mfa.api\";\nimport { Auth0TokenApi } from \"./token/token.api\";\nimport { Auth0AuthorizationApi } from \"./authorization/authorization.api\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class NiceAuth0Service {\n constructor(public mfa: Auth0MfaApi, public token: Auth0TokenApi, public authorization: Auth0AuthorizationApi) {}\n}\n","export class NoAuthenticatorException {}\n","import { Inject, Injectable } from \"@angular/core\";\nimport jwtDecode from \"jwt-decode\";\nimport { BehaviorSubject, Observable, of, throwError } from \"rxjs\";\nimport { catchError, map, tap } from \"rxjs/operators\";\nimport { Auth0AssociationRequiredException } from \"../api/mfa/exceptions/association-required.exception\";\nimport { NiceAuth0Service } from \"../api\";\nimport { Auth0MfaRequiredException } from \"../api/token/exceptions/mfa-required.exception\";\nimport { NICE_AUTH0_OPTIONS } from \"../nice-auth0-kit.constant\";\nimport { NiceAuth0Options } from \"../nice-auth0-kit.options\";\nimport { NoAuthenticatorException } from \"./exceptions/no-authenticator.exception\";\n\nexport interface LoginResponse {\n success: boolean;\n mfaRequired: boolean;\n}\n\nexport interface SmsAuthenticator {\n type: \"sms\";\n phoneNumber: string;\n}\n\nexport interface EmailAuthenticator {\n type: \"email\";\n email: string;\n}\n\nexport interface AuthorizationFlowOptions {\n connection?: string;\n useStateValidation?: boolean;\n}\n\nexport enum AuthorizationStateValidationResult {\n Omitted = \"omitted\",\n Success = \"success\",\n Failure = \"failure\"\n}\n\nexport interface AuthorizationFlowResponse {\n path?: string;\n code: string;\n stateValidationResult: AuthorizationStateValidationResult;\n}\n\n@Injectable()\nexport class NiceAuthenticationService {\n private lastMfaChallengeToken: string;\n private lastMfaOobCode: string;\n\n public currentUser$ = new BehaviorSubject(this.currentUser);\n\n constructor(\n @Inject(NICE_AUTH0_OPTIONS) private options: NiceAuth0Options,\n private auth0Service: NiceAuth0Service\n ) {}\n\n public get idToken(): string {\n return localStorage.getItem(\"auth0_id_token\");\n }\n\n public set idToken(accessToken: string) {\n localStorage.setItem(\"auth0_id_token\", accessToken);\n this.currentUser$.next(this.currentUser);\n }\n\n public get accessToken(): string {\n return localStorage.getItem(\"auth0_access_token\");\n }\n\n public set accessToken(accessToken: string) {\n localStorage.setItem(\"auth0_access_token\", accessToken);\n }\n\n public get refreshToken(): string {\n return localStorage.getItem(\"auth0_refresh_token\");\n }\n\n public set refreshToken(refreshToken: string) {\n localStorage.setItem(\"auth0_refresh_token\", refreshToken);\n }\n\n public get authToken(): string {\n if (this.options.authToken === \"idToken\") {\n return this.idToken;\n }\n return this.accessToken;\n }\n\n public get idTokenPayload(): any {\n try {\n return jwtDecode(this.idToken);\n } catch (e) {\n console.log(\"Failed to decode payload: \" + e);\n return {};\n }\n }\n\n public get accessTokenPayload(): any {\n try {\n const decodedPayload = atob(this.accessToken.split(\".\")[1]);\n return JSON.parse(decodedPayload);\n } catch (e) {\n console.log(\"Failed to decode payload: \" + e);\n return {};\n }\n }\n\n public get authTokenPayload(): any {\n if (this.options.authToken === \"idToken\") {\n return this.idTokenPayload;\n }\n return this.accessTokenPayload;\n }\n\n public get currentUser(): any {\n return this.idTokenPayload;\n }\n\n public checkLoggedIn(): Observable<boolean> {\n if (this.validateToken()) {\n return of(true);\n }\n\n return this.getAuthorizationToken().pipe(\n map((token: string) => token != null),\n catchError(() => of(false))\n );\n }\n\n public getAuthorizationToken(): Observable<string> {\n if (!this.authToken) {\n return of(null);\n }\n\n if (this.validateToken()) {\n return of(this.authToken);\n }\n\n if (this.refreshToken) {\n return this.generateNewToken();\n }\n\n return of(null);\n }\n\n public validateToken(): boolean {\n if (!this.authToken) {\n return false;\n }\n\n const exp = this.authTokenPayload.exp;\n const now = new Date().getTime() / 1000;\n return now < exp;\n }\n\n public passwordGrant(username: string, password: string): Observable<LoginResponse> {\n return this.auth0Service.token.authWithPassword(username, password).pipe(\n map(value => {\n this.refreshToken = value.refresh_token;\n this.idToken = value.id_token;\n this.accessToken = value.access_token;\n return {\n success: true,\n mfaRequired: false\n };\n }),\n catchError((e) => this.catchGrantError(e))\n );\n }\n\n public authorizationCodeGrant(code: string, redirectUrl: string): Observable<LoginResponse> {\n return this.auth0Service.token.authWithAuthorizationCode(code, redirectUrl).pipe(\n map(value => {\n this.refreshToken = value.refresh_token;\n this.idToken = value.id_token;\n this.accessToken = value.access_token;\n return {\n success: true,\n mfaRequired: false\n };\n }),\n catchError((e) => this.catchGrantError(e))\n );\n }\n\n public getAuthFlowRequestUri(redirectUrl: string, options?: AuthorizationFlowOptions): Observable<string> {\n return this.auth0Service.authorization.buildAuthFlowRequest(redirectUrl, options?.connection ?? undefined).pipe(map(request => {\n if (options?.useStateValidation) {\n localStorage.setItem(\"auth0_auth_flow_state\", request.state);\n }\n return request.uri;\n }));\n }\n\n public checkAuthFlowResponse(expectedResponsePath?: string | string[]): Observable<AuthorizationFlowResponse | null> {\n if (typeof expectedResponsePath === \"string\") {\n expectedResponsePath = [expectedResponsePath];\n }\n\n const path = expectedResponsePath?.find(x => window.location.pathname === x);\n if (!expectedResponsePath || path) {\n const params = new URLSearchParams(window.location.search);\n if (!params.has(\"code\")) {\n return of(null);\n }\n\n const response = {\n path,\n code: params.get(\"code\"),\n stateValidationResult: AuthorizationStateValidationResult.Omitted\n };\n\n const savedAuthorizationState = localStorage.getItem(\"auth0_auth_flow_state\");\n if (savedAuthorizationState) {\n if (!params.has(\"state\") || savedAuthorizationState !== params.get(\"state\")) {\n response.stateValidationResult = AuthorizationStateValidationResult.Failure;\n } else {\n response.stateValidationResult = AuthorizationStateValidationResult.Success;\n }\n }\n\n return of(response);\n }\n\n return of(null);\n }\n\n public validateOobCode(code: string): Observable<void> {\n return this.auth0Service.token.authWithOobCode(this.lastMfaChallengeToken, this.lastMfaOobCode, code).pipe(\n map(value => {\n this.refreshToken = value.refresh_token;\n this.idToken = value.id_token;\n this.accessToken = value.access_token;\n })\n );\n }\n\n public logout(): Observable<void> {\n const refreshToken = localStorage.getItem(\"auth0_refresh_token\");\n\n localStorage.removeItem(\"auth0_id_token\");\n localStorage.removeItem(\"auth0_access_token\");\n localStorage.removeItem(\"auth0_refresh_token\");\n\n return this.auth0Service.token.revokeRefreshToken(refreshToken);\n }\n\n public generateNewToken(): Observable<string> {\n return this.auth0Service.token.refreshToken(this.refreshToken).pipe(\n tap(value => {\n this.refreshToken = value.refresh_token;\n this.idToken = value.id_token;\n this.accessToken = value.access_token;\n }),\n map(value => value.access_token),\n catchError(e => {\n return of(null);\n })\n );\n }\n\n public addMfaAuthenticator(authenticator: SmsAuthenticator | EmailAuthenticator): Observable<void> {\n return this.auth0Service.mfa.associateOobAuthenticator({\n mfaToken: this.lastMfaChallengeToken,\n channels: [authenticator.type],\n email: (authenticator as EmailAuthenticator).email,\n phoneNumber: (authenticator as SmsAuthenticator).phoneNumber\n }).pipe(\n map(value => {\n this.lastMfaOobCode = value.oob_code;\n })\n );\n }\n\n public triggerMfaChallenge(): Observable<void> {\n return this.auth0Service.mfa.challenge({\n type: \"oob\",\n mfaToken: this.lastMfaChallengeToken\n }).pipe(\n map(value => {\n this.lastMfaOobCode = value.oob_code;\n })\n );\n }\n\n private catchGrantError(e: any): Observable<LoginResponse> {\n if (e instanceof Auth0MfaRequiredException) {\n this.lastMfaChallengeToken = e.mfaToken;\n return this.triggerMfaChallenge().pipe(\n map(() => ({\n success: true,\n mfaRequired: true\n })),\n catchError((err) => {\n if (err instanceof Auth0AssociationRequiredException) {\n return throwError(() => new NoAuthenticatorException());\n }\n return throwError(() => err);\n })\n );\n }\n return throwError(() => e);\n }\n\n}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { mergeMap, Observable } from \"rxjs\";\nimport { NICE_AUTH0_OPTIONS } from \"../../nice-auth0-kit.constant\";\nimport { NiceAuth0Options } from \"../../nice-auth0-kit.options\";\nimport { NiceAuthenticationService } from \"../../providers/authentication.service\";\n\n@Injectable()\nexport class NiceAuthInterceptor implements HttpInterceptor {\n constructor(@Inject(NICE_AUTH0_OPTIONS) private options: NiceAuth0Options, private authService: NiceAuthenticationService) {}\n\n public intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n if (\n req.url.startsWith(`${this.options.domain}/oauth`) ||\n req.url.startsWith(`${this.options.domain}/authorize`) ||\n req.url.startsWith(`${this.options.domain}/mfa`)\n ) {\n return next.handle(req);\n }\n\n return this.authService.getAuthorizationToken().pipe(\n mergeMap(token => {\n if (!token) {\n return next.handle(req);\n }\n\n const authReq = req.clone({\n headers: req.headers.set(\"Authorization\", `Bearer ${token}`)\n });\n return next.handle(authReq);\n })\n );\n }\n}\n","import { HTTP_INTERCEPTORS, HttpClientModule } from \"@angular/common/http\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { NiceAuthInterceptor } from \"./api/interceptors/auth.interceptor\";\nimport { Auth0MfaApi } from \"./api/mfa/mfa.api\";\nimport { NiceAuth0Service } from \"./api/nice-auth0.service\";\nimport { Auth0TokenApi } from \"./api/token/token.api\";\nimport { NICE_AUTH0_OPTIONS } from \"./nice-auth0-kit.constant\";\nimport { NiceAuth0Options } from \"./nice-auth0-kit.options\";\nimport { NiceAuthenticationService } from \"./providers/authentication.service\";\nimport { Auth0AuthorizationApi } from \"./api/authorization/authorization.api\";\n\n@NgModule({\n imports: [\n HttpClientModule\n ],\n declarations: [],\n providers: [\n Auth0MfaApi,\n Auth0TokenApi,\n Auth0AuthorizationApi,\n NiceAuth0Service,\n NiceAuthenticationService,\n { provide: HTTP_INTERCEPTORS, useClass: NiceAuthInterceptor, multi: true }\n ],\n exports: []\n})\nexport class NiceAuth0Module {\n public static forRoot(options: NiceAuth0Options): ModuleWithProviders<NiceAuth0Module> {\n return {\n ngModule: NiceAuth0Module,\n providers: [\n {\n provide: NICE_AUTH0_OPTIONS,\n useValue: options\n }\n ]\n };\n }\n}\n","/*\n * Public API Surface of nice-auth0-kit\n */\n\nexport * from \"./lib/nice-auht0-kit.module\";\nexport * from \"./lib/nice-auth0-kit.options\";\nexport * from \"./lib/api\";\nexport * from \"./lib/providers\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4","i1.Auth0MfaApi","i2.Auth0TokenApi","i3.Auth0AuthorizationApi","i1.NiceAuth0Service","i1.NiceAuthenticationService"],"mappings":";;;;;;;;;AAEO,MAAM,kBAAkB,GAAG,IAAI,cAAc,CAAC,oBAAoB,CAAC;;MCF7D,kBAAkB,CAAA;AAI3B,IAAA,WAAA,CAAY,KAAyB,EAAA;AACjC,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC9B;AACJ;;ACLK,MAAO,iCAAkC,SAAQ,kBAAkB,CAAA;AAAG;;MCF/D,QAAQ,CAAA;IACjB,WAAoB,CAAA,MAAc,EAAU,IAAY,EAAA;QAApC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAAU,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;KAAI;IAElD,GAAG,CAAC,KAAK,GAAG,EAAE,EAAA;QACpB,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE;YAClC,OAAO,IAAI,CAAC,MAAM,CAAC;AACtB,SAAA;QACD,OAAO,CAAA,EAAG,IAAI,CAAC,MAAM,CAAA,CAAA,EAAI,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,CAAC;KACjD;AACJ;;ACTD,IAAY,aAEX,CAAA;AAFD,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,qBAAA,CAAA,GAAA,sBAA4C,CAAA;AAChD,CAAC,EAFW,aAAa,KAAb,aAAa,GAExB,EAAA,CAAA,CAAA;;ACWK,MAAO,WAAY,SAAQ,QAAQ,CAAA;IACrC,WAAgD,CAAA,OAAyB,EAAU,IAAgB,EAAA;AAC/F,QAAA,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QADe,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;QAAU,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KAElG;AAEM,IAAA,SAAS,CAAC,GAA6B,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;AACjE,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAChC,YAAA,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;YACxC,cAAc,EAAE,GAAG,CAAC,IAAI;YACxB,SAAS,EAAE,GAAG,CAAC,QAAQ;SAC1B,CAAC,CAAC,IAAI,CACH,UAAU,CAAC,CAAC,CAAC,KAAI;YACb,IAAI,CAAC,YAAY,iBAAiB,EAAE;AAChC,gBAAA,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AACtB,gBAAA,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,mBAAmB,EAAE;AACnD,oBAAA,OAAO,UAAU,CAAC,MAAM,IAAI,iCAAiC,CAAC;wBAC1D,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,gBAAgB,EAAE,KAAK,CAAC,iBAAiB;AAC5C,qBAAA,CAAC,CAAC,CAAC;AACP,iBAAA;AACJ,aAAA;AAED,YAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;SAC9B,CAAC,CACL,CAAC;KACL;AAEM,IAAA,yBAAyB,CAAC,GAAuC,EAAA;AACpE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EACrB;AACI,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAChC,YAAA,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;YACxC,mBAAmB,EAAE,CAAC,KAAK,CAAC;YAC5B,YAAY,EAAE,GAAG,CAAC,QAAQ;YAC1B,YAAY,EAAE,GAAG,CAAC,WAAW;YAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;SACnB,EACD;YACI,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,aAAa,EAAE,CAAA,OAAA,EAAU,GAAG,CAAC,QAAQ,CAAE,CAAA;aAC1C,CAAC;AACL,SAAA,CACJ,CAAC;KACL;;AA7CQ,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,kBACA,kBAAkB,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;4GAD7B,WAAW,EAAA,CAAA,CAAA;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,UAAU;;0BAEM,MAAM;2BAAC,kBAAkB,CAAA;;;ACZpC,MAAO,yBAA0B,SAAQ,kBAAkB,CAAA;AAG7D,IAAA,WAAA,CAAY,KAAgC,EAAA;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;KAChB;AACJ;;ACRD,IAAY,eAEX,CAAA;AAFD,CAAA,UAAY,eAAe,EAAA;AACvB,IAAA,eAAA,CAAA,aAAA,CAAA,GAAA,cAA4B,CAAA;AAChC,CAAC,EAFW,eAAe,KAAf,eAAe,GAE1B,EAAA,CAAA,CAAA;;ACUK,MAAO,aAAc,SAAQ,QAAQ,CAAA;IACvC,WAAgD,CAAA,OAAyB,EAAU,IAAgB,EAAA;AAC/F,QAAA,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QADa,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;QAAU,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KAElG;IAEM,gBAAgB,CAAC,QAAgB,EAAE,QAAgB,EAAA;AACtD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EACjB;AACI,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAChC,YAAA,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;AACxC,YAAA,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAC/B,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YAC3C,QAAQ;YACR,QAAQ;SACX,CACJ,CAAC,IAAI,CACF,UAAU,CAAC,CAAC,CAAC,KAAI;YACb,IAAI,CAAC,YAAY,iBAAiB,EAAE;AAChC,gBAAA,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AACtB,gBAAA,IAAI,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,WAAW,EAAE;AAC7C,oBAAA,OAAO,UAAU,CAAC,MAAM,IAAI,yBAAyB,CAAC;wBAClD,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,gBAAgB,EAAE,KAAK,CAAC,iBAAiB;wBACzC,QAAQ,EAAE,KAAK,CAAC,SAAS;AAC5B,qBAAA,CAAC,CAAC,CAAC;AACP,iBAAA;AACJ,aAAA;AAED,YAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;SAC9B,CAAC,CACL,CAAC;KACL;AAEM,IAAA,eAAe,CAAC,QAAgB,EAAE,OAAe,EAAE,WAAmB,EAAA;AACzE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EACjB;AACI,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAChC,YAAA,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;AACxC,YAAA,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAC/B,YAAA,UAAU,EAAE,2CAA2C;AACvD,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;AAC3C,YAAA,SAAS,EAAE,QAAQ;AACnB,YAAA,QAAQ,EAAE,OAAO;AACjB,YAAA,YAAY,EAAE,WAAW;AAC5B,SAAA,CACJ,CAAC;KACL;IAEM,yBAAyB,CAAC,QAAgB,EAAE,WAAmB,EAAA;AAClE,QAAA,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC;AACxB,YAAA,UAAU,EAAE;AACR,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,YAAY,EAAE,WAAW;AACzB,gBAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAChC,gBAAA,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;AACxC,gBAAA,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAC/B,gBAAA,UAAU,EAAE,oBAAoB;gBAChC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACvC,aAAA;AACJ,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,mCAAmC,CAAC,CAAC;QAE3F,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;KAC9F;AAEM,IAAA,YAAY,CAAC,YAAoB,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EACjB;AACI,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAChC,YAAA,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;AACxC,YAAA,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAC/B,YAAA,UAAU,EAAE,eAAe;AAC3B,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;AAC3C,YAAA,aAAa,EAAE,YAAY;AAC9B,SAAA,CACJ,CAAC;KACL;AAEM,IAAA,kBAAkB,CAAC,YAAoB,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAClB;AACI,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAChC,YAAA,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;AACxC,YAAA,KAAK,EAAE,YAAY;AACtB,SAAA,CACJ,CAAC;KACL;;AA5FQ,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBACF,kBAAkB,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8GAD7B,aAAa,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;;0BAEM,MAAM;2BAAC,kBAAkB,CAAA;;;ACHpC,MAAO,qBAAsB,SAAQ,QAAQ,CAAA;AAC/C,IAAA,WAAA,CAAgD,OAAyB,EAAA;AACrE,QAAA,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QADS,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;KAExE;IAEM,oBAAoB,CAAC,WAAmB,EAAE,UAAmB,EAAA;AAChE,QAAA,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC;AACvB,YAAA,UAAU,EAAE;AACR,gBAAA,YAAY,EAAE,WAAW;AACzB,gBAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAChC,gBAAA,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAC/B,gBAAA,aAAa,EAAE,MAAM;gBACrB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACvC,aAAA;AACJ,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,UAAU,EAAE;YACZ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAClD,SAAA;AAED,QAAA,OAAO,EAAE,CAAC;YACN,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAI,CAAA,EAAA,KAAK,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAC;YACrC,KAAK,EAAEA,EAAM,EAAE;AAClB,SAAA,CAAC,CAAC;KACN;;AAxBQ,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBACV,kBAAkB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;sHAD7B,qBAAqB,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;0BAEM,MAAM;2BAAC,kBAAkB,CAAA;;;MCH7B,gBAAgB,CAAA;AACzB,IAAA,WAAA,CAAmB,GAAgB,EAAS,KAAoB,EAAS,aAAoC,EAAA;QAA1F,IAAG,CAAA,GAAA,GAAH,GAAG,CAAa;QAAS,IAAK,CAAA,KAAA,GAAL,KAAK,CAAe;QAAS,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAI;;6GADxG,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFb,MAAM,EAAA,CAAA,CAAA;2FAET,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCPY,wBAAwB,CAAA;AAAG;;IC+B5B,mCAIX;AAJD,CAAA,UAAY,kCAAkC,EAAA;AAC1C,IAAA,kCAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,kCAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,kCAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACvB,CAAC,EAJW,kCAAkC,KAAlC,kCAAkC,GAI7C,EAAA,CAAA,CAAA,CAAA;MASY,yBAAyB,CAAA;IAMlC,WACwC,CAAA,OAAyB,EACrD,YAA8B,EAAA;QADF,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;QACrD,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAkB;QAJnC,IAAY,CAAA,YAAA,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAKxD;AAEJ,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;KACjD;IAED,IAAW,OAAO,CAAC,WAAmB,EAAA;AAClC,QAAA,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC5C;AAED,IAAA,IAAW,WAAW,GAAA;AAClB,QAAA,OAAO,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;KACrD;IAED,IAAW,WAAW,CAAC,WAAmB,EAAA;AACtC,QAAA,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;KAC3D;AAED,IAAA,IAAW,YAAY,GAAA;AACnB,QAAA,OAAO,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;KACtD;IAED,IAAW,YAAY,CAAC,YAAoB,EAAA;AACxC,QAAA,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;KAC7D;AAED,IAAA,IAAW,SAAS,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;YACtC,OAAO,IAAI,CAAC,OAAO,CAAC;AACvB,SAAA;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;AAED,IAAA,IAAW,cAAc,GAAA;QACrB,IAAI;AACA,YAAA,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AACR,YAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,CAAC,CAAC,CAAC;AAC9C,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;KACJ;AAED,IAAA,IAAW,kBAAkB,GAAA;QACzB,IAAI;AACA,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AACrC,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AACR,YAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,CAAC,CAAC,CAAC;AAC9C,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;KACJ;AAED,IAAA,IAAW,gBAAgB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;YACtC,OAAO,IAAI,CAAC,cAAc,CAAC;AAC9B,SAAA;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;IAEM,aAAa,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACtB,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AACnB,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CACpC,GAAG,CAAC,CAAC,KAAa,KAAK,KAAK,IAAI,IAAI,CAAC,EACrC,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAC9B,CAAC;KACL;IAEM,qBAAqB,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACjB,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AACnB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACtB,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7B,SAAA;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAClC,SAAA;AAED,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;KACnB;IAEM,aAAa,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACjB,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AAED,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;QACxC,OAAO,GAAG,GAAG,GAAG,CAAC;KACpB;IAEM,aAAa,CAAC,QAAgB,EAAE,QAAgB,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CACpE,GAAG,CAAC,KAAK,IAAG;AACR,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;AACxC,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;AAC9B,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC;YACtC,OAAO;AACH,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,WAAW,EAAE,KAAK;aACrB,CAAC;AACN,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAC7C,CAAC;KACL;IAEM,sBAAsB,CAAC,IAAY,EAAE,WAAmB,EAAA;AAC3D,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAC5E,GAAG,CAAC,KAAK,IAAG;AACR,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;AACxC,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;AAC9B,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC;YACtC,OAAO;AACH,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,WAAW,EAAE,KAAK;aACrB,CAAC;AACN,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAC7C,CAAC;KACL;IAEM,qBAAqB,CAAC,WAAmB,EAAE,OAAkC,EAAA;QAChF,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAG;YAC1H,IAAI,OAAO,EAAE,kBAAkB,EAAE;gBAC7B,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAChE,aAAA;YACD,OAAO,OAAO,CAAC,GAAG,CAAC;SACtB,CAAC,CAAC,CAAC;KACP;AAEM,IAAA,qBAAqB,CAAC,oBAAwC,EAAA;AACjE,QAAA,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE;AAC1C,YAAA,oBAAoB,GAAG,CAAC,oBAAoB,CAAC,CAAC;AACjD,SAAA;AAED,QAAA,MAAM,IAAI,GAAG,oBAAoB,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;AAC7E,QAAA,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;YAC/B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC3D,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AACrB,gBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AACnB,aAAA;AAED,YAAA,MAAM,QAAQ,GAAG;gBACb,IAAI;AACJ,gBAAA,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBACxB,qBAAqB,EAAE,kCAAkC,CAAC,OAAO;aACpE,CAAC;YAEF,MAAM,uBAAuB,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAC9E,YAAA,IAAI,uBAAuB,EAAE;AACzB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,uBAAuB,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACzE,oBAAA,QAAQ,CAAC,qBAAqB,GAAG,kCAAkC,CAAC,OAAO,CAAC;AAC/E,iBAAA;AAAM,qBAAA;AACH,oBAAA,QAAQ,CAAC,qBAAqB,GAAG,kCAAkC,CAAC,OAAO,CAAC;AAC/E,iBAAA;AACJ,aAAA;AAED,YAAA,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;AACvB,SAAA;AAED,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;KACnB;AAEM,IAAA,eAAe,CAAC,IAAY,EAAA;QAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,CACtG,GAAG,CAAC,KAAK,IAAG;AACR,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;AACxC,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;AAC9B,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC;SACzC,CAAC,CACL,CAAC;KACL;IAEM,MAAM,GAAA;QACT,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEjE,QAAA,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAC1C,QAAA,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC9C,QAAA,YAAY,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;KACnE;IAEM,gBAAgB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAC/D,GAAG,CAAC,KAAK,IAAG;AACR,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;AACxC,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;AAC9B,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC;AAC1C,SAAC,CAAC,EACF,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,EAChC,UAAU,CAAC,CAAC,IAAG;AACX,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;SACnB,CAAC,CACL,CAAC;KACL;AAEM,IAAA,mBAAmB,CAAC,aAAoD,EAAA;AAC3E,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACnD,QAAQ,EAAE,IAAI,CAAC,qBAAqB;AACpC,YAAA,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;YAC9B,KAAK,EAAG,aAAoC,CAAC,KAAK;YAClD,WAAW,EAAG,aAAkC,CAAC,WAAW;AAC/D,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,KAAK,IAAG;AACR,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC;SACxC,CAAC,CACL,CAAC;KACL;IAEM,mBAAmB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACnC,YAAA,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI,CAAC,qBAAqB;AACvC,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,KAAK,IAAG;AACR,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC;SACxC,CAAC,CACL,CAAC;KACL;AAEO,IAAA,eAAe,CAAC,CAAM,EAAA;QAC1B,IAAI,CAAC,YAAY,yBAAyB,EAAE;AACxC,YAAA,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,QAAQ,CAAC;AACxC,YAAA,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAClC,GAAG,CAAC,OAAO;AACP,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,WAAW,EAAE,IAAI;AACpB,aAAA,CAAC,CAAC,EACH,UAAU,CAAC,CAAC,GAAG,KAAI;gBACf,IAAI,GAAG,YAAY,iCAAiC,EAAE;oBAClD,OAAO,UAAU,CAAC,MAAM,IAAI,wBAAwB,EAAE,CAAC,CAAC;AAC3D,iBAAA;AACD,gBAAA,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;aAChC,CAAC,CACL,CAAC;AACL,SAAA;AACD,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;KAC9B;;AAjQQ,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAOtB,kBAAkB,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;0HAPrB,yBAAyB,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,UAAU;;0BAQF,MAAM;2BAAC,kBAAkB,CAAA;;;MC3CrB,mBAAmB,CAAA;IAC5B,WAAgD,CAAA,OAAyB,EAAU,WAAsC,EAAA;QAAzE,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;QAAU,IAAW,CAAA,WAAA,GAAX,WAAW,CAA2B;KAAI;IAEtH,SAAS,CAAC,GAAqB,EAAE,IAAiB,EAAA;AACrD,QAAA,IACI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAG,EAAA,IAAI,CAAC,OAAO,CAAC,MAAM,QAAQ,CAAC;AAClD,YAAA,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA,EAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA,UAAA,CAAY,CAAC;AACtD,YAAA,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA,EAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA,IAAA,CAAM,CAAC,EAClD;AACE,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAChD,QAAQ,CAAC,KAAK,IAAG;YACb,IAAI,CAAC,KAAK,EAAE;AACR,gBAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3B,aAAA;AAED,YAAA,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;AACtB,gBAAA,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAA,OAAA,EAAU,KAAK,CAAA,CAAE,CAAC;AAC/D,aAAA,CAAC,CAAC;AACH,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC/B,CAAC,CACL,CAAC;KACL;;AAxBQ,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBACR,kBAAkB,EAAA,EAAA,EAAA,KAAA,EAAAC,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;oHAD7B,mBAAmB,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;;0BAEM,MAAM;2BAAC,kBAAkB,CAAA;;;MCiB7B,eAAe,CAAA;IACjB,OAAO,OAAO,CAAC,OAAyB,EAAA;QAC3C,OAAO;AACH,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,SAAS,EAAE;AACP,gBAAA;AACI,oBAAA,OAAO,EAAE,kBAAkB;AAC3B,oBAAA,QAAQ,EAAE,OAAO;AACpB,iBAAA;AACJ,aAAA;SACJ,CAAC;KACL;;4GAXQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAbpB,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAaX,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAVb,SAAA,EAAA;QACP,WAAW;QACX,aAAa;QACb,qBAAqB;QACrB,gBAAgB;QAChB,yBAAyB;QACzB,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE;AAC7E,KAAA,EAAA,OAAA,EAAA,CAVG,gBAAgB,CAAA,EAAA,CAAA,CAAA;2FAaX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAf3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,gBAAgB;AACnB,qBAAA;AACD,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,SAAS,EAAE;wBACP,WAAW;wBACX,aAAa;wBACb,qBAAqB;wBACrB,gBAAgB;wBAChB,yBAAyB;wBACzB,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE;AAC7E,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACzBD;;AAEG;;ACFH;;AAEG;;;;"}
File without changes
@@ -4,4 +4,8 @@ export interface NiceAuth0Options {
4
4
  clientSecret: string;
5
5
  audience: string;
6
6
  scopes: string[];
7
+ /**
8
+ * Token to send in the Authorization Header
9
+ */
10
+ authToken?: "accessToken" | "idToken";
7
11
  }
@@ -1,5 +1,6 @@
1
1
  import { BehaviorSubject, Observable } from "rxjs";
2
2
  import { NiceAuth0Service } from "../api";
3
+ import { NiceAuth0Options } from "../nice-auth0-kit.options";
3
4
  import * as i0 from "@angular/core";
4
5
  export interface LoginResponse {
5
6
  success: boolean;
@@ -23,31 +24,35 @@ export declare enum AuthorizationStateValidationResult {
23
24
  Failure = "failure"
24
25
  }
25
26
  export interface AuthorizationFlowResponse {
27
+ path?: string;
26
28
  code: string;
27
29
  stateValidationResult: AuthorizationStateValidationResult;
28
30
  }
29
31
  export declare class NiceAuthenticationService {
32
+ private options;
30
33
  private auth0Service;
31
34
  private lastMfaChallengeToken;
32
35
  private lastMfaOobCode;
33
36
  currentUser$: BehaviorSubject<any>;
34
- constructor(auth0Service: NiceAuth0Service);
37
+ constructor(options: NiceAuth0Options, auth0Service: NiceAuth0Service);
35
38
  get idToken(): string;
36
39
  set idToken(accessToken: string);
37
40
  get accessToken(): string;
38
41
  set accessToken(accessToken: string);
39
42
  get refreshToken(): string;
40
43
  set refreshToken(refreshToken: string);
44
+ get authToken(): string;
41
45
  get idTokenPayload(): any;
42
46
  get accessTokenPayload(): any;
47
+ get authTokenPayload(): any;
43
48
  get currentUser(): any;
44
49
  checkLoggedIn(): Observable<boolean>;
45
- getAccessToken(): Observable<string>;
50
+ getAuthorizationToken(): Observable<string>;
46
51
  validateToken(): boolean;
47
52
  passwordGrant(username: string, password: string): Observable<LoginResponse>;
48
53
  authorizationCodeGrant(code: string, redirectUrl: string): Observable<LoginResponse>;
49
54
  getAuthFlowRequestUri(redirectUrl: string, options?: AuthorizationFlowOptions): Observable<string>;
50
- checkAuthFlowResponse(expectedResponsePath?: string): Observable<AuthorizationFlowResponse | null>;
55
+ checkAuthFlowResponse(expectedResponsePath?: string | string[]): Observable<AuthorizationFlowResponse | null>;
51
56
  validateOobCode(code: string): Observable<void>;
52
57
  logout(): Observable<void>;
53
58
  generateNewToken(): Observable<string>;
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@recursyve/nice-auth0-kit",
3
- "version": "13.0.0-beta.9",
3
+ "version": "14.0.0-beta.17",
4
4
  "peerDependencies": {
5
- "@angular/common": "^13.0.0",
6
- "@angular/core": "^13.0.0",
7
- "uuid": "^8.0.0"
5
+ "@angular/common": "^14.0.0",
6
+ "@angular/core": "^14.0.0",
7
+ "uuid": ">= 9.0.0"
8
8
  },
9
9
  "dependencies": {
10
10
  "tslib": "^2.3.0",
@@ -15,13 +15,13 @@
15
15
  "esm2020": "esm2020/recursyve-nice-auth0-kit.mjs",
16
16
  "fesm2020": "fesm2020/recursyve-nice-auth0-kit.mjs",
17
17
  "fesm2015": "fesm2015/recursyve-nice-auth0-kit.mjs",
18
- "typings": "recursyve-nice-auth0-kit.d.ts",
18
+ "typings": "index.d.ts",
19
19
  "exports": {
20
20
  "./package.json": {
21
21
  "default": "./package.json"
22
22
  },
23
23
  ".": {
24
- "types": "./recursyve-nice-auth0-kit.d.ts",
24
+ "types": "./index.d.ts",
25
25
  "esm2020": "./esm2020/recursyve-nice-auth0-kit.mjs",
26
26
  "es2020": "./fesm2020/recursyve-nice-auth0-kit.mjs",
27
27
  "es2015": "./fesm2015/recursyve-nice-auth0-kit.mjs",