@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
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
import * as i1 from '@angular/common/http';
|
|
2
|
-
import { HttpErrorResponse, HttpHeaders,
|
|
2
|
+
import { HttpParams, HttpErrorResponse, HttpHeaders, provideHttpClient, HTTP_INTERCEPTORS, withInterceptorsFromDi } from '@angular/common/http';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { InjectionToken,
|
|
5
|
-
import {
|
|
6
|
-
import { jwtDecode } from 'jwt-decode';
|
|
7
|
-
import { catchError, map, tap } from 'rxjs/operators';
|
|
4
|
+
import { InjectionToken, Inject, Injectable, NgModule } from '@angular/core';
|
|
5
|
+
import { of, throwError, BehaviorSubject, shareReplay, mergeMap } from 'rxjs';
|
|
8
6
|
import { v4 } from 'uuid';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class Auth0BaseException {
|
|
13
|
-
constructor(value) {
|
|
14
|
-
Object.assign(this, value);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
class Auth0AssociationRequiredException extends Auth0BaseException {
|
|
19
|
-
}
|
|
7
|
+
import { jwtDecode } from 'jwt-decode';
|
|
8
|
+
import { catchError, map, share, tap } from 'rxjs/operators';
|
|
20
9
|
|
|
21
10
|
class Auth0Api {
|
|
22
11
|
constructor(domain, path) {
|
|
@@ -31,6 +20,50 @@ class Auth0Api {
|
|
|
31
20
|
}
|
|
32
21
|
}
|
|
33
22
|
|
|
23
|
+
const NICE_AUTH0_OPTIONS = new InjectionToken("nice_auth0_options");
|
|
24
|
+
|
|
25
|
+
class Auth0AuthorizationApi extends Auth0Api {
|
|
26
|
+
constructor(options) {
|
|
27
|
+
super(options.domain, "authorize");
|
|
28
|
+
this.options = options;
|
|
29
|
+
}
|
|
30
|
+
buildAuthFlowRequest(redirectUrl, connection) {
|
|
31
|
+
let query = new HttpParams({
|
|
32
|
+
fromObject: {
|
|
33
|
+
redirect_uri: redirectUrl,
|
|
34
|
+
client_id: this.options.clientId,
|
|
35
|
+
audience: this.options.audience,
|
|
36
|
+
response_type: "code",
|
|
37
|
+
scope: this.options.scopes.join(" "),
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
if (connection) {
|
|
41
|
+
query = query.append("connection", connection);
|
|
42
|
+
}
|
|
43
|
+
return of({
|
|
44
|
+
uri: this.url(`?${query.toString()}`),
|
|
45
|
+
state: v4(),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: Auth0AuthorizationApi, deps: [{ token: NICE_AUTH0_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
49
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: Auth0AuthorizationApi }); }
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: Auth0AuthorizationApi, decorators: [{
|
|
52
|
+
type: Injectable
|
|
53
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
54
|
+
type: Inject,
|
|
55
|
+
args: [NICE_AUTH0_OPTIONS]
|
|
56
|
+
}] }] });
|
|
57
|
+
|
|
58
|
+
class Auth0BaseException {
|
|
59
|
+
constructor(value) {
|
|
60
|
+
Object.assign(this, value);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
class Auth0AssociationRequiredException extends Auth0BaseException {
|
|
65
|
+
}
|
|
66
|
+
|
|
34
67
|
var MfaExceptions;
|
|
35
68
|
(function (MfaExceptions) {
|
|
36
69
|
MfaExceptions["AssociationRequired"] = "association_required";
|
|
@@ -75,10 +108,10 @@ class Auth0MfaApi extends Auth0Api {
|
|
|
75
108
|
})
|
|
76
109
|
});
|
|
77
110
|
}
|
|
78
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
79
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: Auth0MfaApi, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
112
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: Auth0MfaApi }); }
|
|
80
113
|
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: Auth0MfaApi, decorators: [{
|
|
82
115
|
type: Injectable
|
|
83
116
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
84
117
|
type: Inject,
|
|
@@ -169,59 +202,26 @@ class Auth0TokenApi extends Auth0Api {
|
|
|
169
202
|
token: refreshToken
|
|
170
203
|
});
|
|
171
204
|
}
|
|
172
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
173
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
205
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: Auth0TokenApi, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
206
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: Auth0TokenApi }); }
|
|
174
207
|
}
|
|
175
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: Auth0TokenApi, decorators: [{
|
|
176
209
|
type: Injectable
|
|
177
210
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
178
211
|
type: Inject,
|
|
179
212
|
args: [NICE_AUTH0_OPTIONS]
|
|
180
213
|
}] }, { type: i1.HttpClient }] });
|
|
181
214
|
|
|
182
|
-
class Auth0AuthorizationApi extends Auth0Api {
|
|
183
|
-
constructor(options) {
|
|
184
|
-
super(options.domain, "authorize");
|
|
185
|
-
this.options = options;
|
|
186
|
-
}
|
|
187
|
-
buildAuthFlowRequest(redirectUrl, connection) {
|
|
188
|
-
let query = new HttpParams({
|
|
189
|
-
fromObject: {
|
|
190
|
-
redirect_uri: redirectUrl,
|
|
191
|
-
client_id: this.options.clientId,
|
|
192
|
-
audience: this.options.audience,
|
|
193
|
-
response_type: "code",
|
|
194
|
-
scope: this.options.scopes.join(" "),
|
|
195
|
-
}
|
|
196
|
-
});
|
|
197
|
-
if (connection) {
|
|
198
|
-
query = query.append("connection", connection);
|
|
199
|
-
}
|
|
200
|
-
return of({
|
|
201
|
-
uri: this.url(`?${query.toString()}`),
|
|
202
|
-
state: v4(),
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
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 }); }
|
|
206
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: Auth0AuthorizationApi }); }
|
|
207
|
-
}
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: Auth0AuthorizationApi, decorators: [{
|
|
209
|
-
type: Injectable
|
|
210
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
211
|
-
type: Inject,
|
|
212
|
-
args: [NICE_AUTH0_OPTIONS]
|
|
213
|
-
}] }] });
|
|
214
|
-
|
|
215
215
|
class NiceAuth0Service {
|
|
216
216
|
constructor(mfa, token, authorization) {
|
|
217
217
|
this.mfa = mfa;
|
|
218
218
|
this.token = token;
|
|
219
219
|
this.authorization = authorization;
|
|
220
220
|
}
|
|
221
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
222
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
221
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: NiceAuth0Service, deps: [{ token: Auth0MfaApi }, { token: Auth0TokenApi }, { token: Auth0AuthorizationApi }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
222
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: NiceAuth0Service, providedIn: "root" }); }
|
|
223
223
|
}
|
|
224
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
224
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: NiceAuth0Service, decorators: [{
|
|
225
225
|
type: Injectable,
|
|
226
226
|
args: [{
|
|
227
227
|
providedIn: "root"
|
|
@@ -241,6 +241,7 @@ class NiceAuthenticationService {
|
|
|
241
241
|
constructor(options, auth0Service) {
|
|
242
242
|
this.options = options;
|
|
243
243
|
this.auth0Service = auth0Service;
|
|
244
|
+
this.activeRefreshTokenRequest = null;
|
|
244
245
|
this.currentUser$ = new BehaviorSubject(this.currentUser);
|
|
245
246
|
}
|
|
246
247
|
get idToken() {
|
|
@@ -324,9 +325,11 @@ class NiceAuthenticationService {
|
|
|
324
325
|
}
|
|
325
326
|
passwordGrant(username, password) {
|
|
326
327
|
return this.auth0Service.token.authWithPassword(username, password).pipe(map(value => {
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
328
|
+
if (value) {
|
|
329
|
+
this.refreshToken = value.refresh_token;
|
|
330
|
+
this.idToken = value.id_token;
|
|
331
|
+
this.accessToken = value.access_token;
|
|
332
|
+
}
|
|
330
333
|
return {
|
|
331
334
|
success: true,
|
|
332
335
|
mfaRequired: false
|
|
@@ -359,12 +362,13 @@ class NiceAuthenticationService {
|
|
|
359
362
|
const path = expectedResponsePath?.find(x => window.location.pathname === x);
|
|
360
363
|
if (!expectedResponsePath || path) {
|
|
361
364
|
const params = new URLSearchParams(window.location.search);
|
|
362
|
-
|
|
365
|
+
const code = params.get("code");
|
|
366
|
+
if (!code) {
|
|
363
367
|
return of(null);
|
|
364
368
|
}
|
|
365
369
|
const response = {
|
|
366
370
|
path,
|
|
367
|
-
code
|
|
371
|
+
code,
|
|
368
372
|
stateValidationResult: AuthorizationStateValidationResult.Omitted
|
|
369
373
|
};
|
|
370
374
|
const savedAuthorizationState = localStorage.getItem("auth0_auth_flow_state");
|
|
@@ -389,19 +393,36 @@ class NiceAuthenticationService {
|
|
|
389
393
|
}
|
|
390
394
|
logout() {
|
|
391
395
|
const refreshToken = localStorage.getItem("auth0_refresh_token");
|
|
396
|
+
if (!refreshToken) {
|
|
397
|
+
return of();
|
|
398
|
+
}
|
|
392
399
|
localStorage.removeItem("auth0_id_token");
|
|
393
400
|
localStorage.removeItem("auth0_access_token");
|
|
394
401
|
localStorage.removeItem("auth0_refresh_token");
|
|
395
402
|
return this.auth0Service.token.revokeRefreshToken(refreshToken);
|
|
396
403
|
}
|
|
397
404
|
generateNewToken() {
|
|
398
|
-
|
|
399
|
-
this.
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
405
|
+
if (this.activeRefreshTokenRequest) {
|
|
406
|
+
return this.activeRefreshTokenRequest.pipe(map(value => value?.access_token ?? null));
|
|
407
|
+
}
|
|
408
|
+
const refreshToken = this.refreshToken;
|
|
409
|
+
if (!refreshToken) {
|
|
403
410
|
return of(null);
|
|
404
|
-
}
|
|
411
|
+
}
|
|
412
|
+
this.activeRefreshTokenRequest = this.auth0Service.token.refreshToken(refreshToken).pipe(catchError(() => of(null)), shareReplay());
|
|
413
|
+
return this.activeRefreshTokenRequest.pipe(share(), tap({
|
|
414
|
+
next: value => {
|
|
415
|
+
if (!value) {
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
this.refreshToken = value.refresh_token;
|
|
419
|
+
this.idToken = value.id_token;
|
|
420
|
+
this.accessToken = value.access_token;
|
|
421
|
+
},
|
|
422
|
+
finalize: () => {
|
|
423
|
+
this.activeRefreshTokenRequest = null;
|
|
424
|
+
}
|
|
425
|
+
}), map(value => value?.access_token ?? null));
|
|
405
426
|
}
|
|
406
427
|
addMfaAuthenticator(authenticator) {
|
|
407
428
|
return this.auth0Service.mfa.associateOobAuthenticator({
|
|
@@ -436,10 +457,10 @@ class NiceAuthenticationService {
|
|
|
436
457
|
}
|
|
437
458
|
return throwError(() => e);
|
|
438
459
|
}
|
|
439
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
440
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
460
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: NiceAuthenticationService, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: NiceAuth0Service }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
461
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: NiceAuthenticationService }); }
|
|
441
462
|
}
|
|
442
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
463
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: NiceAuthenticationService, decorators: [{
|
|
443
464
|
type: Injectable
|
|
444
465
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
445
466
|
type: Inject,
|
|
@@ -457,6 +478,11 @@ class NiceAuthInterceptor {
|
|
|
457
478
|
req.url.startsWith(`${this.options.domain}/mfa`)) {
|
|
458
479
|
return next.handle(req);
|
|
459
480
|
}
|
|
481
|
+
for (const url of this.options?.urlWhiteList ?? []) {
|
|
482
|
+
if (!req.url.includes(url)) {
|
|
483
|
+
return next.handle(req);
|
|
484
|
+
}
|
|
485
|
+
}
|
|
460
486
|
return this.authService.getAuthorizationToken().pipe(mergeMap(token => {
|
|
461
487
|
if (!token) {
|
|
462
488
|
return next.handle(req);
|
|
@@ -467,10 +493,10 @@ class NiceAuthInterceptor {
|
|
|
467
493
|
return next.handle(authReq);
|
|
468
494
|
}));
|
|
469
495
|
}
|
|
470
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
471
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
496
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: NiceAuthInterceptor, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: NiceAuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
497
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: NiceAuthInterceptor }); }
|
|
472
498
|
}
|
|
473
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
499
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: NiceAuthInterceptor, decorators: [{
|
|
474
500
|
type: Injectable
|
|
475
501
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
476
502
|
type: Inject,
|
|
@@ -489,33 +515,30 @@ class NiceAuth0Module {
|
|
|
489
515
|
]
|
|
490
516
|
};
|
|
491
517
|
}
|
|
492
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
493
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
494
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
518
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: NiceAuth0Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
519
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.1", ngImport: i0, type: NiceAuth0Module }); }
|
|
520
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: NiceAuth0Module, providers: [
|
|
495
521
|
Auth0MfaApi,
|
|
496
522
|
Auth0TokenApi,
|
|
497
523
|
Auth0AuthorizationApi,
|
|
498
524
|
NiceAuth0Service,
|
|
499
525
|
NiceAuthenticationService,
|
|
526
|
+
provideHttpClient(withInterceptorsFromDi()),
|
|
500
527
|
{ provide: HTTP_INTERCEPTORS, useClass: NiceAuthInterceptor, multi: true }
|
|
501
|
-
]
|
|
528
|
+
] }); }
|
|
502
529
|
}
|
|
503
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
530
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: NiceAuth0Module, decorators: [{
|
|
504
531
|
type: NgModule,
|
|
505
532
|
args: [{
|
|
506
|
-
imports: [
|
|
507
|
-
HttpClientModule
|
|
508
|
-
],
|
|
509
|
-
declarations: [],
|
|
510
533
|
providers: [
|
|
511
534
|
Auth0MfaApi,
|
|
512
535
|
Auth0TokenApi,
|
|
513
536
|
Auth0AuthorizationApi,
|
|
514
537
|
NiceAuth0Service,
|
|
515
538
|
NiceAuthenticationService,
|
|
539
|
+
provideHttpClient(withInterceptorsFromDi()),
|
|
516
540
|
{ provide: HTTP_INTERCEPTORS, useClass: NiceAuthInterceptor, multi: true }
|
|
517
|
-
]
|
|
518
|
-
exports: []
|
|
541
|
+
]
|
|
519
542
|
}]
|
|
520
543
|
}] });
|
|
521
544
|
|
|
@@ -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, 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":"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"}
|
|
1
|
+
{"version":3,"file":"recursyve-nice-auth0-kit.mjs","sources":["../../../projects/nice-auth0-kit/src/lib/api/auth0.api.ts","../../../projects/nice-auth0-kit/src/lib/nice-auth0-kit.constant.ts","../../../projects/nice-auth0-kit/src/lib/api/authorization/authorization.api.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/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/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":["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","import { InjectionToken } from \"@angular/core\";\n\nexport const NICE_AUTH0_OPTIONS = new InjectionToken(\"nice_auth0_options\");\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","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 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 { 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, shareReplay, throwError } from \"rxjs\";\nimport { catchError, map, share, tap } from \"rxjs/operators\";\nimport { NiceAuth0Service } from \"../api\";\nimport { Auth0AssociationRequiredException } from \"../api/mfa/exceptions/association-required.exception\";\nimport { Auth0MfaRequiredException } from \"../api/token/exceptions/mfa-required.exception\";\nimport { Auth0TokenResponse } from \"../api/token/models/token-response.model\";\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 private activeRefreshTokenRequest: Observable<Auth0TokenResponse | null> | null = null;\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 | null) => token != null),\n catchError(() => of(false))\n );\n }\n\n public getAuthorizationToken(): Observable<string | null> {\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 if (value) {\n this.refreshToken = value.refresh_token;\n this.idToken = value.id_token;\n this.accessToken = value.access_token;\n }\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 const code = params.get(\"code\");\n if (!code) {\n return of(null);\n }\n\n const response: AuthorizationFlowResponse = {\n path,\n 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 if (!refreshToken) {\n return of();\n }\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 | null> {\n if (this.activeRefreshTokenRequest) {\n return this.activeRefreshTokenRequest.pipe(map(value => value?.access_token ?? null));\n }\n\n const refreshToken = this.refreshToken;\n if (!refreshToken) {\n return of(null);\n }\n\n this.activeRefreshTokenRequest = this.auth0Service.token.refreshToken(refreshToken).pipe(\n catchError(() => of(null)),\n shareReplay()\n );\n return this.activeRefreshTokenRequest.pipe(\n share(),\n tap({\n next: value => {\n if (!value) {\n return;\n }\n\n this.refreshToken = value.refresh_token;\n this.idToken = value.id_token;\n this.accessToken = value.access_token;\n },\n finalize: () => {\n this.activeRefreshTokenRequest = null;\n }\n }),\n map(value => value?.access_token ?? null)\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","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 for (const url of this.options?.urlWhiteList ?? []) {\n if (!req.url.includes(url)) {\n return next.handle(req);\n }\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, provideHttpClient, withInterceptorsFromDi } from \"@angular/common/http\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { Auth0AuthorizationApi } from \"./api/authorization/authorization.api\";\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\";\n\n@NgModule({\n providers: [\n Auth0MfaApi,\n Auth0TokenApi,\n Auth0AuthorizationApi,\n NiceAuth0Service,\n NiceAuthenticationService,\n provideHttpClient(withInterceptorsFromDi()),\n { provide: HTTP_INTERCEPTORS, useClass: NiceAuthInterceptor, multi: true }\n ]\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":"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"}
|