@recursyve/nice-auth0-kit 13.0.0-beta.0
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/README.md +83 -0
- package/esm2020/lib/api/auth0.api.mjs +13 -0
- package/esm2020/lib/api/exceptions/base.exception.mjs +6 -0
- package/esm2020/lib/api/interceptors/auth.interceptor.mjs +35 -0
- package/esm2020/lib/api/mfa/exceptions/association-required.exception.mjs +4 -0
- package/esm2020/lib/api/mfa/exceptions/mfa.exception.mjs +5 -0
- package/esm2020/lib/api/mfa/mfa.api.mjs +55 -0
- package/esm2020/lib/api/mfa/model/mfa-request.model.mjs +2 -0
- package/esm2020/lib/api/mfa/model/mfa-response.model.mjs +2 -0
- package/esm2020/lib/api/nice-auth0.service.mjs +21 -0
- package/esm2020/lib/api/token/exceptions/mfa-required.exception.mjs +7 -0
- package/esm2020/lib/api/token/exceptions/token.exception.mjs +5 -0
- package/esm2020/lib/api/token/models/token-response.model.mjs +2 -0
- package/esm2020/lib/api/token/token.api.mjs +78 -0
- package/esm2020/lib/nice-auht0-kit.module.mjs +51 -0
- package/esm2020/lib/nice-auth0-kit.constant.mjs +3 -0
- package/esm2020/lib/nice-auth0-kit.options.mjs +2 -0
- package/esm2020/lib/providers/authentication.service.mjs +148 -0
- package/esm2020/lib/providers/exceptions/no-authenticator.exception.mjs +3 -0
- package/esm2020/public-api.mjs +8 -0
- package/esm2020/recursyve-nice-auth0-kit.mjs +5 -0
- package/fesm2015/recursyve-nice-auth0-kit.mjs +408 -0
- package/fesm2015/recursyve-nice-auth0-kit.mjs.map +1 -0
- package/fesm2020/recursyve-nice-auth0-kit.mjs +399 -0
- package/fesm2020/recursyve-nice-auth0-kit.mjs.map +1 -0
- package/lib/api/auth0.api.d.ts +6 -0
- package/lib/api/exceptions/base.exception.d.ts +5 -0
- package/lib/api/interceptors/auth.interceptor.d.ts +13 -0
- package/lib/api/mfa/exceptions/association-required.exception.d.ts +3 -0
- package/lib/api/mfa/exceptions/mfa.exception.d.ts +3 -0
- package/lib/api/mfa/mfa.api.d.ts +16 -0
- package/lib/api/mfa/model/mfa-request.model.d.ts +9 -0
- package/lib/api/mfa/model/mfa-response.model.d.ts +6 -0
- package/lib/api/nice-auth0.service.d.ts +10 -0
- package/lib/api/token/exceptions/mfa-required.exception.d.ts +5 -0
- package/lib/api/token/exceptions/token.exception.d.ts +3 -0
- package/lib/api/token/models/token-response.model.d.ts +7 -0
- package/lib/api/token/token.api.d.ts +17 -0
- package/lib/nice-auht0-kit.module.d.ts +10 -0
- package/lib/nice-auth0-kit.constant.d.ts +2 -0
- package/lib/nice-auth0-kit.options.d.ts +7 -0
- package/lib/providers/authentication.service.d.ts +42 -0
- package/lib/providers/exceptions/no-authenticator.exception.d.ts +2 -0
- package/package.json +32 -0
- package/public-api.d.ts +4 -0
- package/recursyve-nice-auth0-kit.d.ts +5 -0
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
import * as i1 from '@angular/common/http';
|
|
2
|
+
import { HttpErrorResponse, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { InjectionToken, Injectable, Inject, NgModule } from '@angular/core';
|
|
5
|
+
import { throwError, BehaviorSubject, of, mergeMap } from 'rxjs';
|
|
6
|
+
import jwtDecode from 'jwt-decode';
|
|
7
|
+
import { catchError, map, tap } from 'rxjs/operators';
|
|
8
|
+
|
|
9
|
+
const NICE_AUTH0_OPTIONS = new InjectionToken("nice_auth0_options");
|
|
10
|
+
|
|
11
|
+
class Auth0Api {
|
|
12
|
+
constructor(domain, path) {
|
|
13
|
+
this.domain = domain;
|
|
14
|
+
this.path = path;
|
|
15
|
+
}
|
|
16
|
+
url(route = "") {
|
|
17
|
+
if (route === "" && this.path === "") {
|
|
18
|
+
return this.domain;
|
|
19
|
+
}
|
|
20
|
+
return `${this.domain}/${this.path}/${route}`;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
class Auth0BaseException {
|
|
25
|
+
constructor(value) {
|
|
26
|
+
Object.assign(this, value);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
class Auth0AssociationRequiredException extends Auth0BaseException {
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
var MfaExceptions;
|
|
34
|
+
(function (MfaExceptions) {
|
|
35
|
+
MfaExceptions["AssociationRequired"] = "association_required";
|
|
36
|
+
})(MfaExceptions || (MfaExceptions = {}));
|
|
37
|
+
|
|
38
|
+
class Auth0MfaApi extends Auth0Api {
|
|
39
|
+
constructor(options, http) {
|
|
40
|
+
super(options.domain, "mfa");
|
|
41
|
+
this.options = options;
|
|
42
|
+
this.http = http;
|
|
43
|
+
}
|
|
44
|
+
challenge(req) {
|
|
45
|
+
return this.http.post(this.url("challenge"), {
|
|
46
|
+
client_id: this.options.clientId,
|
|
47
|
+
client_secret: this.options.clientSecret,
|
|
48
|
+
challenge_type: req.type,
|
|
49
|
+
mfa_token: req.mfaToken
|
|
50
|
+
}).pipe(catchError((e) => {
|
|
51
|
+
if (e instanceof HttpErrorResponse) {
|
|
52
|
+
const error = e.error;
|
|
53
|
+
if (error.error === MfaExceptions.AssociationRequired) {
|
|
54
|
+
throwError(() => new Auth0AssociationRequiredException({
|
|
55
|
+
error: error.error,
|
|
56
|
+
errorDescription: error.error_description
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return throwError(() => e);
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
associateOobAuthenticator(req) {
|
|
64
|
+
return this.http.post(this.url("associate"), {
|
|
65
|
+
client_id: this.options.clientId,
|
|
66
|
+
client_secret: this.options.clientSecret,
|
|
67
|
+
authenticator_types: ["oob"],
|
|
68
|
+
oob_channels: req.channels,
|
|
69
|
+
phone_number: req.phoneNumber,
|
|
70
|
+
email: req.email
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
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 });
|
|
75
|
+
Auth0MfaApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0MfaApi });
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0MfaApi, decorators: [{
|
|
77
|
+
type: Injectable
|
|
78
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
79
|
+
type: Inject,
|
|
80
|
+
args: [NICE_AUTH0_OPTIONS]
|
|
81
|
+
}] }, { type: i1.HttpClient }]; } });
|
|
82
|
+
|
|
83
|
+
class Auth0MfaRequiredException extends Auth0BaseException {
|
|
84
|
+
constructor(value) {
|
|
85
|
+
super(value);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
var TokenExceptions;
|
|
90
|
+
(function (TokenExceptions) {
|
|
91
|
+
TokenExceptions["MfaRequired"] = "mfa_required";
|
|
92
|
+
})(TokenExceptions || (TokenExceptions = {}));
|
|
93
|
+
|
|
94
|
+
class Auth0TokenApi extends Auth0Api {
|
|
95
|
+
constructor(options, http) {
|
|
96
|
+
super(options.domain, "oauth");
|
|
97
|
+
this.options = options;
|
|
98
|
+
this.http = http;
|
|
99
|
+
}
|
|
100
|
+
authWithPassword(username, password) {
|
|
101
|
+
return this.http.post(this.url("token"), {
|
|
102
|
+
client_id: this.options.clientId,
|
|
103
|
+
client_secret: this.options.clientSecret,
|
|
104
|
+
audience: this.options.audience,
|
|
105
|
+
grant_type: "password",
|
|
106
|
+
scope: this.options?.scopes.join(" ") ?? "",
|
|
107
|
+
username,
|
|
108
|
+
password
|
|
109
|
+
}).pipe(catchError((e) => {
|
|
110
|
+
if (e instanceof HttpErrorResponse) {
|
|
111
|
+
const error = e.error;
|
|
112
|
+
if (error.error === TokenExceptions.MfaRequired) {
|
|
113
|
+
throwError(() => new Auth0MfaRequiredException({
|
|
114
|
+
error: error.error,
|
|
115
|
+
errorDescription: error.error_description,
|
|
116
|
+
mfaToken: error.mfa_token
|
|
117
|
+
}));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return throwError(() => e);
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
authWithOobCode(mfaToken, oobCode, bindingCode) {
|
|
124
|
+
return this.http.post(this.url("token"), {
|
|
125
|
+
client_id: this.options.clientId,
|
|
126
|
+
client_secret: this.options.clientSecret,
|
|
127
|
+
audience: this.options.audience,
|
|
128
|
+
grant_type: "http://auth0.com/oauth/grant-type/mfa-oob",
|
|
129
|
+
scope: this.options?.scopes.join(" ") ?? "",
|
|
130
|
+
mfa_token: mfaToken,
|
|
131
|
+
oob_code: oobCode,
|
|
132
|
+
binding_code: bindingCode
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
refreshToken(refreshToken) {
|
|
136
|
+
return this.http.post(this.url("token"), {
|
|
137
|
+
client_id: this.options.clientId,
|
|
138
|
+
client_secret: this.options.clientSecret,
|
|
139
|
+
audience: this.options.audience,
|
|
140
|
+
grant_type: "refresh_token",
|
|
141
|
+
scope: this.options?.scopes.join(" ") ?? "",
|
|
142
|
+
refresh_token: refreshToken
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
revokeRefreshToken(refreshToken) {
|
|
146
|
+
return this.http.post(this.url("revoke"), {
|
|
147
|
+
client_id: this.options.clientId,
|
|
148
|
+
client_secret: this.options.clientSecret,
|
|
149
|
+
token: refreshToken
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
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 });
|
|
154
|
+
Auth0TokenApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0TokenApi });
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0TokenApi, decorators: [{
|
|
156
|
+
type: Injectable
|
|
157
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
158
|
+
type: Inject,
|
|
159
|
+
args: [NICE_AUTH0_OPTIONS]
|
|
160
|
+
}] }, { type: i1.HttpClient }]; } });
|
|
161
|
+
|
|
162
|
+
class NiceAuth0Service {
|
|
163
|
+
constructor(mfa, token) {
|
|
164
|
+
this.mfa = mfa;
|
|
165
|
+
this.token = token;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
NiceAuth0Service.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Service, deps: [{ token: Auth0MfaApi }, { token: Auth0TokenApi }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
169
|
+
NiceAuth0Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Service, providedIn: "root" });
|
|
170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Service, decorators: [{
|
|
171
|
+
type: Injectable,
|
|
172
|
+
args: [{
|
|
173
|
+
providedIn: "root"
|
|
174
|
+
}]
|
|
175
|
+
}], ctorParameters: function () { return [{ type: Auth0MfaApi }, { type: Auth0TokenApi }]; } });
|
|
176
|
+
|
|
177
|
+
class NoAuthenticatorException {
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
class NiceAuthenticationService {
|
|
181
|
+
constructor(auth0Service) {
|
|
182
|
+
this.auth0Service = auth0Service;
|
|
183
|
+
this.currentUser$ = new BehaviorSubject(this.currentUser);
|
|
184
|
+
}
|
|
185
|
+
get idToken() {
|
|
186
|
+
return localStorage.getItem("auth0_id_token");
|
|
187
|
+
}
|
|
188
|
+
set idToken(accessToken) {
|
|
189
|
+
localStorage.setItem("auth0_id_token", accessToken);
|
|
190
|
+
this.currentUser$.next(this.currentUser);
|
|
191
|
+
}
|
|
192
|
+
get accessToken() {
|
|
193
|
+
return localStorage.getItem("auth0_access_token");
|
|
194
|
+
}
|
|
195
|
+
set accessToken(accessToken) {
|
|
196
|
+
localStorage.setItem("auth0_access_token", accessToken);
|
|
197
|
+
}
|
|
198
|
+
get refreshToken() {
|
|
199
|
+
return localStorage.getItem("auth0_refresh_token");
|
|
200
|
+
}
|
|
201
|
+
set refreshToken(refreshToken) {
|
|
202
|
+
localStorage.setItem("auth0_refresh_token", refreshToken);
|
|
203
|
+
}
|
|
204
|
+
get idTokenPayload() {
|
|
205
|
+
try {
|
|
206
|
+
return jwtDecode(this.idToken);
|
|
207
|
+
}
|
|
208
|
+
catch (e) {
|
|
209
|
+
console.log("Failed to decode payload: " + e);
|
|
210
|
+
return {};
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
get accessTokenPayload() {
|
|
214
|
+
try {
|
|
215
|
+
const decodedPayload = atob(this.accessToken.split(".")[1]);
|
|
216
|
+
return JSON.parse(decodedPayload);
|
|
217
|
+
}
|
|
218
|
+
catch (e) {
|
|
219
|
+
console.log("Failed to decode payload: " + e);
|
|
220
|
+
return {};
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
get currentUser() {
|
|
224
|
+
return this.idTokenPayload;
|
|
225
|
+
}
|
|
226
|
+
checkLoggedIn() {
|
|
227
|
+
if (this.validateToken()) {
|
|
228
|
+
return of(true);
|
|
229
|
+
}
|
|
230
|
+
return this.getAccessToken().pipe(map((accessToken) => accessToken != null), catchError(() => of(false)));
|
|
231
|
+
}
|
|
232
|
+
getAccessToken() {
|
|
233
|
+
if (!this.accessToken) {
|
|
234
|
+
return of(null);
|
|
235
|
+
}
|
|
236
|
+
if (this.validateToken()) {
|
|
237
|
+
return of(this.accessToken);
|
|
238
|
+
}
|
|
239
|
+
if (this.refreshToken) {
|
|
240
|
+
return this.generateNewToken();
|
|
241
|
+
}
|
|
242
|
+
return of(null);
|
|
243
|
+
}
|
|
244
|
+
validateToken() {
|
|
245
|
+
if (!this.accessToken) {
|
|
246
|
+
return false;
|
|
247
|
+
}
|
|
248
|
+
const exp = this.accessTokenPayload.exp;
|
|
249
|
+
const now = new Date().getTime() / 1000;
|
|
250
|
+
return now < exp;
|
|
251
|
+
}
|
|
252
|
+
passwordGrant(username, password) {
|
|
253
|
+
return this.auth0Service.token.authWithPassword(username, password).pipe(map(value => {
|
|
254
|
+
this.refreshToken = value.refresh_token;
|
|
255
|
+
this.idToken = value.id_token;
|
|
256
|
+
this.accessToken = value.access_token;
|
|
257
|
+
return {
|
|
258
|
+
success: true,
|
|
259
|
+
mfaRequired: false
|
|
260
|
+
};
|
|
261
|
+
}), catchError((e) => {
|
|
262
|
+
if (e instanceof Auth0MfaRequiredException) {
|
|
263
|
+
this.lastMfaChallengeToken = e.mfaToken;
|
|
264
|
+
return this.generateChallenge().pipe(map(() => ({
|
|
265
|
+
success: true,
|
|
266
|
+
mfaRequired: true
|
|
267
|
+
})), catchError(() => throwError(() => new NoAuthenticatorException())));
|
|
268
|
+
}
|
|
269
|
+
return throwError(() => e);
|
|
270
|
+
}));
|
|
271
|
+
}
|
|
272
|
+
validateOobCode(code) {
|
|
273
|
+
return this.auth0Service.token.authWithOobCode(this.lastMfaChallengeToken, this.lastMfaOobCode, code).pipe(map(value => {
|
|
274
|
+
this.refreshToken = value.refresh_token;
|
|
275
|
+
this.idToken = value.id_token;
|
|
276
|
+
this.accessToken = value.access_token;
|
|
277
|
+
}));
|
|
278
|
+
}
|
|
279
|
+
logout() {
|
|
280
|
+
const refreshToken = localStorage.getItem("auth0_refresh_token");
|
|
281
|
+
localStorage.removeItem("auth0_id_token");
|
|
282
|
+
localStorage.removeItem("auth0_access_token");
|
|
283
|
+
localStorage.removeItem("auth0_refresh_token");
|
|
284
|
+
return this.auth0Service.token.revokeRefreshToken(refreshToken);
|
|
285
|
+
}
|
|
286
|
+
generateNewToken() {
|
|
287
|
+
return this.auth0Service.token.refreshToken(this.refreshToken).pipe(tap(value => {
|
|
288
|
+
this.refreshToken = value.refresh_token;
|
|
289
|
+
this.idToken = value.id_token;
|
|
290
|
+
this.accessToken = value.access_token;
|
|
291
|
+
}), map(value => value.access_token), catchError(e => {
|
|
292
|
+
return of(null);
|
|
293
|
+
}));
|
|
294
|
+
}
|
|
295
|
+
addMfaAuthenticator(authenticator) {
|
|
296
|
+
return this.auth0Service.mfa.associateOobAuthenticator({
|
|
297
|
+
channels: [authenticator.type],
|
|
298
|
+
email: authenticator.email,
|
|
299
|
+
phoneNumber: authenticator.phoneNumber
|
|
300
|
+
}).pipe(map(value => {
|
|
301
|
+
this.lastMfaOobCode = value.oob_code;
|
|
302
|
+
}));
|
|
303
|
+
}
|
|
304
|
+
generateChallenge() {
|
|
305
|
+
return this.auth0Service.mfa.challenge({
|
|
306
|
+
type: "oob",
|
|
307
|
+
mfaToken: this.lastMfaChallengeToken
|
|
308
|
+
}).pipe(map(value => {
|
|
309
|
+
this.lastMfaOobCode = value.oob_code;
|
|
310
|
+
}));
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
NiceAuthenticationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthenticationService, deps: [{ token: NiceAuth0Service }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
314
|
+
NiceAuthenticationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthenticationService });
|
|
315
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthenticationService, decorators: [{
|
|
316
|
+
type: Injectable
|
|
317
|
+
}], ctorParameters: function () { return [{ type: NiceAuth0Service }]; } });
|
|
318
|
+
|
|
319
|
+
class NiceAuthInterceptor {
|
|
320
|
+
constructor(options, authService) {
|
|
321
|
+
this.options = options;
|
|
322
|
+
this.authService = authService;
|
|
323
|
+
}
|
|
324
|
+
intercept(req, next) {
|
|
325
|
+
if (req.url.startsWith(`${this.options.domain}/oauth`)) {
|
|
326
|
+
return next.handle(req);
|
|
327
|
+
}
|
|
328
|
+
return this.authService.getAccessToken().pipe(mergeMap(token => {
|
|
329
|
+
if (!token) {
|
|
330
|
+
return next.handle(req);
|
|
331
|
+
}
|
|
332
|
+
const authReq = req.clone({
|
|
333
|
+
headers: req.headers.set("Authorization", `Bearer ${token}`)
|
|
334
|
+
});
|
|
335
|
+
return next.handle(authReq);
|
|
336
|
+
}));
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
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 });
|
|
340
|
+
NiceAuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthInterceptor });
|
|
341
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthInterceptor, decorators: [{
|
|
342
|
+
type: Injectable
|
|
343
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
344
|
+
type: Inject,
|
|
345
|
+
args: [NICE_AUTH0_OPTIONS]
|
|
346
|
+
}] }, { type: NiceAuthenticationService }]; } });
|
|
347
|
+
|
|
348
|
+
class NiceAuth0Module {
|
|
349
|
+
static forRoot(options) {
|
|
350
|
+
return {
|
|
351
|
+
ngModule: NiceAuth0Module,
|
|
352
|
+
providers: [
|
|
353
|
+
{
|
|
354
|
+
provide: NICE_AUTH0_OPTIONS,
|
|
355
|
+
useValue: options
|
|
356
|
+
}
|
|
357
|
+
]
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
NiceAuth0Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
362
|
+
NiceAuth0Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Module, imports: [HttpClientModule] });
|
|
363
|
+
NiceAuth0Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Module, providers: [
|
|
364
|
+
Auth0MfaApi,
|
|
365
|
+
Auth0TokenApi,
|
|
366
|
+
NiceAuth0Service,
|
|
367
|
+
NiceAuthenticationService,
|
|
368
|
+
{ provide: HTTP_INTERCEPTORS, useClass: NiceAuthInterceptor, multi: true }
|
|
369
|
+
], imports: [[
|
|
370
|
+
HttpClientModule
|
|
371
|
+
]] });
|
|
372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Module, decorators: [{
|
|
373
|
+
type: NgModule,
|
|
374
|
+
args: [{
|
|
375
|
+
imports: [
|
|
376
|
+
HttpClientModule
|
|
377
|
+
],
|
|
378
|
+
declarations: [],
|
|
379
|
+
providers: [
|
|
380
|
+
Auth0MfaApi,
|
|
381
|
+
Auth0TokenApi,
|
|
382
|
+
NiceAuth0Service,
|
|
383
|
+
NiceAuthenticationService,
|
|
384
|
+
{ provide: HTTP_INTERCEPTORS, useClass: NiceAuthInterceptor, multi: true }
|
|
385
|
+
],
|
|
386
|
+
exports: []
|
|
387
|
+
}]
|
|
388
|
+
}] });
|
|
389
|
+
|
|
390
|
+
/*
|
|
391
|
+
* Public API Surface of nice-auth0-kit
|
|
392
|
+
*/
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* Generated bundle index. Do not edit.
|
|
396
|
+
*/
|
|
397
|
+
|
|
398
|
+
export { NiceAuth0Module, NiceAuth0Service, NiceAuthenticationService };
|
|
399
|
+
//# sourceMappingURL=recursyve-nice-auth0-kit.mjs.map
|
|
@@ -0,0 +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/auth0.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":["import { InjectionToken } from \"@angular/core\";\n\nexport const NICE_AUTH0_OPTIONS = new InjectionToken(\"nice_auth0_options\");\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 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 } 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 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 }\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 } 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 { 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 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 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\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class NiceAuth0Service {\n constructor(public mfa: Auth0MfaApi, public token: Auth0TokenApi) {}\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 { NiceAuth0Service } from \"../api/nice-auth0.service\";\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\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((e) => {\n if (e instanceof Auth0MfaRequiredException) {\n this.lastMfaChallengeToken = e.mfaToken;\n return this.generateChallenge().pipe(\n map(() => ({\n success: true,\n mfaRequired: true\n })),\n catchError(() => throwError(() => new NoAuthenticatorException()))\n );\n }\n return throwError(() => e);\n }),\n );\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 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 private generateChallenge(): 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","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`)) {\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\";\n\n@NgModule({\n imports: [\n HttpClientModule\n ],\n declarations: [],\n providers: [\n Auth0MfaApi,\n Auth0TokenApi,\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/nice-auth0.service\";\nexport * from \"./lib/providers/authentication.service\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from "@angular/common/http";
|
|
2
|
+
import { Observable } from "rxjs";
|
|
3
|
+
import { NiceAuth0Options } from "../../nice-auth0-kit.options";
|
|
4
|
+
import { NiceAuthenticationService } from "../../providers/authentication.service";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class NiceAuthInterceptor implements HttpInterceptor {
|
|
7
|
+
private options;
|
|
8
|
+
private authService;
|
|
9
|
+
constructor(options: NiceAuth0Options, authService: NiceAuthenticationService);
|
|
10
|
+
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NiceAuthInterceptor, never>;
|
|
12
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NiceAuthInterceptor>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { HttpClient } from "@angular/common/http";
|
|
2
|
+
import { Observable } from "rxjs";
|
|
3
|
+
import { NiceAuth0Options } from "../../nice-auth0-kit.options";
|
|
4
|
+
import { Auth0Api } from "../auth0.api";
|
|
5
|
+
import { Auth0MfaAddOobAuthenticatorRequest, Auth0MfaChallengeRequest } from "./model/mfa-request.model";
|
|
6
|
+
import { Auth0ChallengeResponse } from "./model/mfa-response.model";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class Auth0MfaApi extends Auth0Api {
|
|
9
|
+
private options;
|
|
10
|
+
private http;
|
|
11
|
+
constructor(options: NiceAuth0Options, http: HttpClient);
|
|
12
|
+
challenge(req: Auth0MfaChallengeRequest): Observable<Auth0ChallengeResponse>;
|
|
13
|
+
associateOobAuthenticator(req: Auth0MfaAddOobAuthenticatorRequest): Observable<Auth0ChallengeResponse>;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Auth0MfaApi, never>;
|
|
15
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<Auth0MfaApi>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Auth0MfaApi } from "./mfa/mfa.api";
|
|
2
|
+
import { Auth0TokenApi } from "./token/token.api";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class NiceAuth0Service {
|
|
5
|
+
mfa: Auth0MfaApi;
|
|
6
|
+
token: Auth0TokenApi;
|
|
7
|
+
constructor(mfa: Auth0MfaApi, token: Auth0TokenApi);
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NiceAuth0Service, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NiceAuth0Service>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { HttpClient } from "@angular/common/http";
|
|
2
|
+
import { Observable } from "rxjs";
|
|
3
|
+
import { NiceAuth0Options } from "../../nice-auth0-kit.options";
|
|
4
|
+
import { Auth0Api } from "../auth0.api";
|
|
5
|
+
import { Auth0TokenResponse } from "./models/token-response.model";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class Auth0TokenApi extends Auth0Api {
|
|
8
|
+
private options;
|
|
9
|
+
private http;
|
|
10
|
+
constructor(options: NiceAuth0Options, http: HttpClient);
|
|
11
|
+
authWithPassword(username: string, password: string): Observable<Auth0TokenResponse>;
|
|
12
|
+
authWithOobCode(mfaToken: string, oobCode: string, bindingCode: string): Observable<Auth0TokenResponse>;
|
|
13
|
+
refreshToken(refreshToken: string): Observable<Auth0TokenResponse>;
|
|
14
|
+
revokeRefreshToken(refreshToken: string): Observable<void>;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Auth0TokenApi, never>;
|
|
16
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<Auth0TokenApi>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ModuleWithProviders } from "@angular/core";
|
|
2
|
+
import { NiceAuth0Options } from "./nice-auth0-kit.options";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
export declare class NiceAuth0Module {
|
|
6
|
+
static forRoot(options: NiceAuth0Options): ModuleWithProviders<NiceAuth0Module>;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NiceAuth0Module, never>;
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NiceAuth0Module, never, [typeof i1.HttpClientModule], never>;
|
|
9
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<NiceAuth0Module>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { BehaviorSubject, Observable } from "rxjs";
|
|
2
|
+
import { NiceAuth0Service } from "../api/nice-auth0.service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export interface LoginResponse {
|
|
5
|
+
success: boolean;
|
|
6
|
+
mfaRequired: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface SmsAuthenticator {
|
|
9
|
+
type: "sms";
|
|
10
|
+
phoneNumber: string;
|
|
11
|
+
}
|
|
12
|
+
export interface EmailAuthenticator {
|
|
13
|
+
type: "email";
|
|
14
|
+
email: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class NiceAuthenticationService {
|
|
17
|
+
private auth0Service;
|
|
18
|
+
private lastMfaChallengeToken;
|
|
19
|
+
private lastMfaOobCode;
|
|
20
|
+
currentUser$: BehaviorSubject<any>;
|
|
21
|
+
constructor(auth0Service: NiceAuth0Service);
|
|
22
|
+
get idToken(): string;
|
|
23
|
+
set idToken(accessToken: string);
|
|
24
|
+
get accessToken(): string;
|
|
25
|
+
set accessToken(accessToken: string);
|
|
26
|
+
get refreshToken(): string;
|
|
27
|
+
set refreshToken(refreshToken: string);
|
|
28
|
+
get idTokenPayload(): any;
|
|
29
|
+
get accessTokenPayload(): any;
|
|
30
|
+
get currentUser(): any;
|
|
31
|
+
checkLoggedIn(): Observable<boolean>;
|
|
32
|
+
getAccessToken(): Observable<string>;
|
|
33
|
+
validateToken(): boolean;
|
|
34
|
+
passwordGrant(username: string, password: string): Observable<LoginResponse>;
|
|
35
|
+
validateOobCode(code: string): Observable<void>;
|
|
36
|
+
logout(): Observable<void>;
|
|
37
|
+
generateNewToken(): Observable<string>;
|
|
38
|
+
addMfaAuthenticator(authenticator: SmsAuthenticator | EmailAuthenticator): Observable<void>;
|
|
39
|
+
private generateChallenge;
|
|
40
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NiceAuthenticationService, never>;
|
|
41
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NiceAuthenticationService>;
|
|
42
|
+
}
|