@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
package/README.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# NiceAuth0Kit
|
|
2
|
+
|
|
3
|
+
Nice Auth0 kit is a wrapper of the OAuth2 and MFA api for Auth0. We support the password, refresh_token and mfa grant types.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```shell
|
|
8
|
+
npm install --save @recursyve/nice-auth0-kit
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage example
|
|
12
|
+
|
|
13
|
+
All the magic is done with the `NiceAuthenticationService`.
|
|
14
|
+
|
|
15
|
+
### Password Grant
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { lastValueFrom } from "rxjs";
|
|
19
|
+
|
|
20
|
+
@Injectable()
|
|
21
|
+
export class LoginService {
|
|
22
|
+
constructor(private auth: NiceAuthenticationService) {
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
public async login(): Promise<void> {
|
|
26
|
+
const res = await lastValueFrom(
|
|
27
|
+
this.auth.passwordGrant("username", "password")
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
#### Response
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"success": bool,
|
|
38
|
+
"mfaRequired": bool
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
#### NoAuthenticatorException
|
|
43
|
+
|
|
44
|
+
The `NoAuthenticatorException` is thrown when an MFA is required and the user doesn't have an authenticator setup
|
|
45
|
+
|
|
46
|
+
### Validate OOB code
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
import { lastValueFrom } from "rxjs";
|
|
50
|
+
|
|
51
|
+
@Injectable()
|
|
52
|
+
export class LoginService {
|
|
53
|
+
constructor(private auth: NiceAuthenticationService) {
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
public async validateCode(): Promise<void> {
|
|
57
|
+
const res = await lastValueFrom(
|
|
58
|
+
this.auth.validateOobCode("123456")
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Add MFA Authenticator
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
import { lastValueFrom } from "rxjs";
|
|
68
|
+
|
|
69
|
+
@Injectable()
|
|
70
|
+
export class LoginService {
|
|
71
|
+
constructor(private auth: NiceAuthenticationService) {
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public async addAuthenticator(): Promise<void> {
|
|
75
|
+
const res = await lastValueFrom(
|
|
76
|
+
this.auth.addMfaAuthenticator({
|
|
77
|
+
type: "sms",
|
|
78
|
+
phoneNumber: "1111111111"
|
|
79
|
+
})
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class Auth0Api {
|
|
2
|
+
constructor(domain, path) {
|
|
3
|
+
this.domain = domain;
|
|
4
|
+
this.path = path;
|
|
5
|
+
}
|
|
6
|
+
url(route = "") {
|
|
7
|
+
if (route === "" && this.path === "") {
|
|
8
|
+
return this.domain;
|
|
9
|
+
}
|
|
10
|
+
return `${this.domain}/${this.path}/${route}`;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aDAuYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9hcGkvYXV0aDAuYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxRQUFRO0lBQ2pCLFlBQW9CLE1BQWMsRUFBVSxJQUFZO1FBQXBDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztJQUVsRCxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUU7UUFDcEIsSUFBSSxLQUFLLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUN0QjtRQUNELE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7SUFDbEQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEF1dGgwQXBpIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRvbWFpbjogc3RyaW5nLCBwcml2YXRlIHBhdGg6IHN0cmluZykge31cblxuICAgIHByb3RlY3RlZCB1cmwocm91dGUgPSBcIlwiKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHJvdXRlID09PSBcIlwiICYmIHRoaXMucGF0aCA9PT0gXCJcIikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9tYWluO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmRvbWFpbn0vJHt0aGlzLnBhdGh9LyR7cm91dGV9YDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export class Auth0BaseException {
|
|
2
|
+
constructor(value) {
|
|
3
|
+
Object.assign(this, value);
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5leGNlcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWF1dGgwLWtpdC9zcmMvbGliL2FwaS9leGNlcHRpb25zL2Jhc2UuZXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7SUFJM0IsWUFBWSxLQUF5QjtRQUNqQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQXV0aDBCYXNlRXhjZXB0aW9uIHtcbiAgICBwdWJsaWMgZXJyb3I6IHN0cmluZztcbiAgICBwdWJsaWMgZXJyb3JEZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IodmFsdWU6IEF1dGgwQmFzZUV4Y2VwdGlvbikge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHZhbHVlKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Inject, Injectable } from "@angular/core";
|
|
2
|
+
import { mergeMap } from "rxjs";
|
|
3
|
+
import { NICE_AUTH0_OPTIONS } from "../../nice-auth0-kit.constant";
|
|
4
|
+
import { NiceAuthenticationService } from "../../providers/authentication.service";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../providers/authentication.service";
|
|
7
|
+
export class NiceAuthInterceptor {
|
|
8
|
+
constructor(options, authService) {
|
|
9
|
+
this.options = options;
|
|
10
|
+
this.authService = authService;
|
|
11
|
+
}
|
|
12
|
+
intercept(req, next) {
|
|
13
|
+
if (req.url.startsWith(`${this.options.domain}/oauth`)) {
|
|
14
|
+
return next.handle(req);
|
|
15
|
+
}
|
|
16
|
+
return this.authService.getAccessToken().pipe(mergeMap(token => {
|
|
17
|
+
if (!token) {
|
|
18
|
+
return next.handle(req);
|
|
19
|
+
}
|
|
20
|
+
const authReq = req.clone({
|
|
21
|
+
headers: req.headers.set("Authorization", `Bearer ${token}`)
|
|
22
|
+
});
|
|
23
|
+
return next.handle(authReq);
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
NiceAuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthInterceptor, deps: [{ token: NICE_AUTH0_OPTIONS }, { token: i1.NiceAuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
+
NiceAuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthInterceptor });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthInterceptor, decorators: [{
|
|
30
|
+
type: Injectable
|
|
31
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
32
|
+
type: Inject,
|
|
33
|
+
args: [NICE_AUTH0_OPTIONS]
|
|
34
|
+
}] }, { type: i1.NiceAuthenticationService }]; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtYXV0aDAta2l0L3NyYy9saWIvYXBpL2ludGVyY2VwdG9ycy9hdXRoLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQUduRixNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLFlBQWdELE9BQXlCLEVBQVUsV0FBc0M7UUFBekUsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBMkI7SUFBRyxDQUFDO0lBRXRILFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBQ3JELElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDLEVBQUU7WUFDcEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FDekMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2IsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDM0I7WUFFRCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUN0QixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFVBQVUsS0FBSyxFQUFFLENBQUM7YUFDL0QsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOztnSEFwQlEsbUJBQW1CLGtCQUNSLGtCQUFrQjtvSEFEN0IsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUVNLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IG1lcmdlTWFwLCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IE5JQ0VfQVVUSDBfT1BUSU9OUyB9IGZyb20gXCIuLi8uLi9uaWNlLWF1dGgwLWtpdC5jb25zdGFudFwiO1xuaW1wb3J0IHsgTmljZUF1dGgwT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9uaWNlLWF1dGgwLWtpdC5vcHRpb25zXCI7XG5pbXBvcnQgeyBOaWNlQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOaWNlQXV0aEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KE5JQ0VfQVVUSDBfT1BUSU9OUykgcHJpdmF0ZSBvcHRpb25zOiBOaWNlQXV0aDBPcHRpb25zLCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBOaWNlQXV0aGVudGljYXRpb25TZXJ2aWNlKSB7fVxuXG4gICAgcHVibGljIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICBpZiAocmVxLnVybC5zdGFydHNXaXRoKGAke3RoaXMub3B0aW9ucy5kb21haW59L29hdXRoYCkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKS5waXBlKFxuICAgICAgICAgICAgbWVyZ2VNYXAodG9rZW4gPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgYXV0aFJlcSA9IHJlcS5jbG9uZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzLnNldChcIkF1dGhvcml6YXRpb25cIiwgYEJlYXJlciAke3Rva2VufWApXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKGF1dGhSZXEpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Auth0BaseException } from "../../exceptions/base.exception";
|
|
2
|
+
export class Auth0AssociationRequiredException extends Auth0BaseException {
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzb2NpYXRpb24tcmVxdWlyZWQuZXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9hcGkvbWZhL2V4Y2VwdGlvbnMvYXNzb2NpYXRpb24tcmVxdWlyZWQuZXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJFLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxrQkFBa0I7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGgwQmFzZUV4Y2VwdGlvbiB9IGZyb20gXCIuLi8uLi9leGNlcHRpb25zL2Jhc2UuZXhjZXB0aW9uXCI7XG5cbmV4cG9ydCBjbGFzcyBBdXRoMEFzc29jaWF0aW9uUmVxdWlyZWRFeGNlcHRpb24gZXh0ZW5kcyBBdXRoMEJhc2VFeGNlcHRpb24ge31cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export var MfaExceptions;
|
|
2
|
+
(function (MfaExceptions) {
|
|
3
|
+
MfaExceptions["AssociationRequired"] = "association_required";
|
|
4
|
+
})(MfaExceptions || (MfaExceptions = {}));
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWZhLmV4Y2VwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtYXV0aDAta2l0L3NyYy9saWIvYXBpL21mYS9leGNlcHRpb25zL21mYS5leGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksYUFFWDtBQUZELFdBQVksYUFBYTtJQUNyQiw2REFBNEMsQ0FBQTtBQUNoRCxDQUFDLEVBRlcsYUFBYSxLQUFiLGFBQWEsUUFFeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBNZmFFeGNlcHRpb25zIHtcbiAgICBBc3NvY2lhdGlvblJlcXVpcmVkID0gXCJhc3NvY2lhdGlvbl9yZXF1aXJlZFwiXG59XG4iXX0=
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { HttpClient, HttpErrorResponse } from "@angular/common/http";
|
|
2
|
+
import { Inject, Injectable } from "@angular/core";
|
|
3
|
+
import { throwError } from "rxjs";
|
|
4
|
+
import { catchError } from "rxjs/operators";
|
|
5
|
+
import { NICE_AUTH0_OPTIONS } from "../../nice-auth0-kit.constant";
|
|
6
|
+
import { Auth0Api } from "../auth0.api";
|
|
7
|
+
import { Auth0AssociationRequiredException } from "./exceptions/association-required.exception";
|
|
8
|
+
import { MfaExceptions } from "./exceptions/mfa.exception";
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common/http";
|
|
11
|
+
export class Auth0MfaApi extends Auth0Api {
|
|
12
|
+
constructor(options, http) {
|
|
13
|
+
super(options.domain, "mfa");
|
|
14
|
+
this.options = options;
|
|
15
|
+
this.http = http;
|
|
16
|
+
}
|
|
17
|
+
challenge(req) {
|
|
18
|
+
return this.http.post(this.url("challenge"), {
|
|
19
|
+
client_id: this.options.clientId,
|
|
20
|
+
client_secret: this.options.clientSecret,
|
|
21
|
+
challenge_type: req.type,
|
|
22
|
+
mfa_token: req.mfaToken
|
|
23
|
+
}).pipe(catchError((e) => {
|
|
24
|
+
if (e instanceof HttpErrorResponse) {
|
|
25
|
+
const error = e.error;
|
|
26
|
+
if (error.error === MfaExceptions.AssociationRequired) {
|
|
27
|
+
throwError(() => new Auth0AssociationRequiredException({
|
|
28
|
+
error: error.error,
|
|
29
|
+
errorDescription: error.error_description
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return throwError(() => e);
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
associateOobAuthenticator(req) {
|
|
37
|
+
return this.http.post(this.url("associate"), {
|
|
38
|
+
client_id: this.options.clientId,
|
|
39
|
+
client_secret: this.options.clientSecret,
|
|
40
|
+
authenticator_types: ["oob"],
|
|
41
|
+
oob_channels: req.channels,
|
|
42
|
+
phone_number: req.phoneNumber,
|
|
43
|
+
email: req.email
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
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 });
|
|
48
|
+
Auth0MfaApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0MfaApi });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0MfaApi, decorators: [{
|
|
50
|
+
type: Injectable
|
|
51
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
52
|
+
type: Inject,
|
|
53
|
+
args: [NICE_AUTH0_OPTIONS]
|
|
54
|
+
}] }, { type: i1.HttpClient }]; } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWZhLmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtYXV0aDAta2l0L3NyYy9saWIvYXBpL21mYS9tZmEuYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBSzNELE1BQU0sT0FBTyxXQUFZLFNBQVEsUUFBUTtJQUNyQyxZQUFnRCxPQUF5QixFQUFVLElBQWdCO1FBQy9GLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRGUsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO0lBRW5HLENBQUM7SUFFTSxTQUFTLENBQUMsR0FBNkI7UUFDMUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBeUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNqRSxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQ2hDLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVk7WUFDeEMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxJQUFJO1lBQ3hCLFNBQVMsRUFBRSxHQUFHLENBQUMsUUFBUTtTQUMxQixDQUFDLENBQUMsSUFBSSxDQUNILFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFlBQVksaUJBQWlCLEVBQUU7Z0JBQ2hDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxhQUFhLENBQUMsbUJBQW1CLEVBQUU7b0JBQ25ELFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLGlDQUFpQyxDQUFDO3dCQUNuRCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7d0JBQ2xCLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7cUJBQzVDLENBQUMsQ0FBQyxDQUFDO2lCQUNQO2FBQ0o7WUFFRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVNLHlCQUF5QixDQUFDLEdBQXVDO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQ3JCO1lBQ0ksU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQ3hDLG1CQUFtQixFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzVCLFlBQVksRUFBRSxHQUFHLENBQUMsUUFBUTtZQUMxQixZQUFZLEVBQUUsR0FBRyxDQUFDLFdBQVc7WUFDN0IsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1NBQ25CLENBQ0osQ0FBQztJQUNOLENBQUM7O3dHQXhDUSxXQUFXLGtCQUNBLGtCQUFrQjs0R0FEN0IsV0FBVzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVOzswQkFFTSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBOSUNFX0FVVEgwX09QVElPTlMgfSBmcm9tIFwiLi4vLi4vbmljZS1hdXRoMC1raXQuY29uc3RhbnRcIjtcbmltcG9ydCB7IE5pY2VBdXRoME9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vbmljZS1hdXRoMC1raXQub3B0aW9uc1wiO1xuaW1wb3J0IHsgQXV0aDBBcGkgfSBmcm9tIFwiLi4vYXV0aDAuYXBpXCI7XG5pbXBvcnQgeyBBdXRoMEFzc29jaWF0aW9uUmVxdWlyZWRFeGNlcHRpb24gfSBmcm9tIFwiLi9leGNlcHRpb25zL2Fzc29jaWF0aW9uLXJlcXVpcmVkLmV4Y2VwdGlvblwiO1xuaW1wb3J0IHsgTWZhRXhjZXB0aW9ucyB9IGZyb20gXCIuL2V4Y2VwdGlvbnMvbWZhLmV4Y2VwdGlvblwiO1xuaW1wb3J0IHsgQXV0aDBNZmFBZGRPb2JBdXRoZW50aWNhdG9yUmVxdWVzdCwgQXV0aDBNZmFDaGFsbGVuZ2VSZXF1ZXN0IH0gZnJvbSBcIi4vbW9kZWwvbWZhLXJlcXVlc3QubW9kZWxcIjtcbmltcG9ydCB7IEF1dGgwQ2hhbGxlbmdlUmVzcG9uc2UgfSBmcm9tIFwiLi9tb2RlbC9tZmEtcmVzcG9uc2UubW9kZWxcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGgwTWZhQXBpIGV4dGVuZHMgQXV0aDBBcGkge1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTklDRV9BVVRIMF9PUFRJT05TKSBwcml2YXRlIG9wdGlvbnM6IE5pY2VBdXRoME9wdGlvbnMsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xuICAgICAgICBzdXBlcihvcHRpb25zLmRvbWFpbiwgXCJtZmFcIik7XG4gICAgfVxuXG4gICAgcHVibGljIGNoYWxsZW5nZShyZXE6IEF1dGgwTWZhQ2hhbGxlbmdlUmVxdWVzdCk6IE9ic2VydmFibGU8QXV0aDBDaGFsbGVuZ2VSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXV0aDBDaGFsbGVuZ2VSZXNwb25zZT4odGhpcy51cmwoXCJjaGFsbGVuZ2VcIiksIHtcbiAgICAgICAgICAgIGNsaWVudF9pZDogdGhpcy5vcHRpb25zLmNsaWVudElkLFxuICAgICAgICAgICAgY2xpZW50X3NlY3JldDogdGhpcy5vcHRpb25zLmNsaWVudFNlY3JldCxcbiAgICAgICAgICAgIGNoYWxsZW5nZV90eXBlOiByZXEudHlwZSxcbiAgICAgICAgICAgIG1mYV90b2tlbjogcmVxLm1mYVRva2VuXG4gICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IGUuZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5lcnJvciA9PT0gTWZhRXhjZXB0aW9ucy5Bc3NvY2lhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvd0Vycm9yKCgpID0+IG5ldyBBdXRoMEFzc29jaWF0aW9uUmVxdWlyZWRFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvci5lcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvckRlc2NyaXB0aW9uOiBlcnJvci5lcnJvcl9kZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3NvY2lhdGVPb2JBdXRoZW50aWNhdG9yKHJlcTogQXV0aDBNZmFBZGRPb2JBdXRoZW50aWNhdG9yUmVxdWVzdCk6IE9ic2VydmFibGU8QXV0aDBDaGFsbGVuZ2VSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXV0aDBDaGFsbGVuZ2VSZXNwb25zZT4oXG4gICAgICAgICAgICB0aGlzLnVybChcImFzc29jaWF0ZVwiKSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjbGllbnRfaWQ6IHRoaXMub3B0aW9ucy5jbGllbnRJZCxcbiAgICAgICAgICAgICAgICBjbGllbnRfc2VjcmV0OiB0aGlzLm9wdGlvbnMuY2xpZW50U2VjcmV0LFxuICAgICAgICAgICAgICAgIGF1dGhlbnRpY2F0b3JfdHlwZXM6IFtcIm9vYlwiXSxcbiAgICAgICAgICAgICAgICBvb2JfY2hhbm5lbHM6IHJlcS5jaGFubmVscyxcbiAgICAgICAgICAgICAgICBwaG9uZV9udW1iZXI6IHJlcS5waG9uZU51bWJlcixcbiAgICAgICAgICAgICAgICBlbWFpbDogcmVxLmVtYWlsXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWZhLXJlcXVlc3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWF1dGgwLWtpdC9zcmMvbGliL2FwaS9tZmEvbW9kZWwvbWZhLXJlcXVlc3QubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXV0aDBNZmFDaGFsbGVuZ2VSZXF1ZXN0IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgbWZhVG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoME1mYUFkZE9vYkF1dGhlbnRpY2F0b3JSZXF1ZXN0IHtcbiAgICBjaGFubmVsczogc3RyaW5nW107XG4gICAgcGhvbmVOdW1iZXI/OiBzdHJpbmc7XG4gICAgZW1haWw/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWZhLXJlc3BvbnNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9hcGkvbWZhL21vZGVsL21mYS1yZXNwb25zZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBdXRoMENoYWxsZW5nZVJlc3BvbnNlIHtcbiAgICBhdXRoZW50aWNhdG9yX3R5cGU6IHN0cmluZztcbiAgICBiaW5kaW5nX21ldGhvZDogc3RyaW5nO1xuICAgIG9vYl9jaGFubmVsOiBzdHJpbmc7XG4gICAgb29iX2NvZGU6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { Auth0MfaApi } from "./mfa/mfa.api";
|
|
3
|
+
import { Auth0TokenApi } from "./token/token.api";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./mfa/mfa.api";
|
|
6
|
+
import * as i2 from "./token/token.api";
|
|
7
|
+
export class NiceAuth0Service {
|
|
8
|
+
constructor(mfa, token) {
|
|
9
|
+
this.mfa = mfa;
|
|
10
|
+
this.token = token;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
NiceAuth0Service.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Service, deps: [{ token: i1.Auth0MfaApi }, { token: i2.Auth0TokenApi }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
+
NiceAuth0Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Service, providedIn: "root" });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Service, decorators: [{
|
|
16
|
+
type: Injectable,
|
|
17
|
+
args: [{
|
|
18
|
+
providedIn: "root"
|
|
19
|
+
}]
|
|
20
|
+
}], ctorParameters: function () { return [{ type: i1.Auth0MfaApi }, { type: i2.Auth0TokenApi }]; } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1hdXRoMC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9hcGkvbmljZS1hdXRoMC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFLbEQsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixZQUFtQixHQUFnQixFQUFTLEtBQW9CO1FBQTdDLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFlO0lBQUcsQ0FBQzs7NkdBRDNELGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBdXRoME1mYUFwaSB9IGZyb20gXCIuL21mYS9tZmEuYXBpXCI7XG5pbXBvcnQgeyBBdXRoMFRva2VuQXBpIH0gZnJvbSBcIi4vdG9rZW4vdG9rZW4uYXBpXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIlxufSlcbmV4cG9ydCBjbGFzcyBOaWNlQXV0aDBTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbWZhOiBBdXRoME1mYUFwaSwgcHVibGljIHRva2VuOiBBdXRoMFRva2VuQXBpKSB7fVxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Auth0BaseException } from "../../exceptions/base.exception";
|
|
2
|
+
export class Auth0MfaRequiredException extends Auth0BaseException {
|
|
3
|
+
constructor(value) {
|
|
4
|
+
super(value);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWZhLXJlcXVpcmVkLmV4Y2VwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtYXV0aDAta2l0L3NyYy9saWIvYXBpL3Rva2VuL2V4Y2VwdGlvbnMvbWZhLXJlcXVpcmVkLmV4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVyRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsa0JBQWtCO0lBRzdELFlBQVksS0FBZ0M7UUFDeEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGgwQmFzZUV4Y2VwdGlvbiB9IGZyb20gXCIuLi8uLi9leGNlcHRpb25zL2Jhc2UuZXhjZXB0aW9uXCI7XG5cbmV4cG9ydCBjbGFzcyBBdXRoME1mYVJlcXVpcmVkRXhjZXB0aW9uIGV4dGVuZHMgQXV0aDBCYXNlRXhjZXB0aW9uIHtcbiAgICBwdWJsaWMgbWZhVG9rZW46IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKHZhbHVlOiBBdXRoME1mYVJlcXVpcmVkRXhjZXB0aW9uKSB7XG4gICAgICAgIHN1cGVyKHZhbHVlKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export var TokenExceptions;
|
|
2
|
+
(function (TokenExceptions) {
|
|
3
|
+
TokenExceptions["MfaRequired"] = "mfa_required";
|
|
4
|
+
})(TokenExceptions || (TokenExceptions = {}));
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uZXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9hcGkvdG9rZW4vZXhjZXB0aW9ucy90b2tlbi5leGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFFWDtBQUZELFdBQVksZUFBZTtJQUN2QiwrQ0FBNEIsQ0FBQTtBQUNoQyxDQUFDLEVBRlcsZUFBZSxLQUFmLGVBQWUsUUFFMUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBUb2tlbkV4Y2VwdGlvbnMge1xuICAgIE1mYVJlcXVpcmVkID0gXCJtZmFfcmVxdWlyZWRcIlxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tcmVzcG9uc2UubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWF1dGgwLWtpdC9zcmMvbGliL2FwaS90b2tlbi9tb2RlbHMvdG9rZW4tcmVzcG9uc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXV0aDBUb2tlblJlc3BvbnNlIHtcbiAgICBpZF90b2tlbjogc3RyaW5nO1xuICAgIGFjY2Vzc190b2tlbjogc3RyaW5nO1xuICAgIHJlZnJlc2hfdG9rZW46IHN0cmluZztcbiAgICB0b2tlbl90eXBlOiBzdHJpbmc7XG4gICAgZXhwaXJlc19pbjogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { HttpClient, HttpErrorResponse } from "@angular/common/http";
|
|
2
|
+
import { Inject, Injectable } from "@angular/core";
|
|
3
|
+
import { throwError } from "rxjs";
|
|
4
|
+
import { catchError } from "rxjs/operators";
|
|
5
|
+
import { NICE_AUTH0_OPTIONS } from "../../nice-auth0-kit.constant";
|
|
6
|
+
import { Auth0Api } from "../auth0.api";
|
|
7
|
+
import { Auth0MfaRequiredException } from "./exceptions/mfa-required.exception";
|
|
8
|
+
import { TokenExceptions } from "./exceptions/token.exception";
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common/http";
|
|
11
|
+
export class Auth0TokenApi extends Auth0Api {
|
|
12
|
+
constructor(options, http) {
|
|
13
|
+
super(options.domain, "oauth");
|
|
14
|
+
this.options = options;
|
|
15
|
+
this.http = http;
|
|
16
|
+
}
|
|
17
|
+
authWithPassword(username, password) {
|
|
18
|
+
return this.http.post(this.url("token"), {
|
|
19
|
+
client_id: this.options.clientId,
|
|
20
|
+
client_secret: this.options.clientSecret,
|
|
21
|
+
audience: this.options.audience,
|
|
22
|
+
grant_type: "password",
|
|
23
|
+
scope: this.options?.scopes.join(" ") ?? "",
|
|
24
|
+
username,
|
|
25
|
+
password
|
|
26
|
+
}).pipe(catchError((e) => {
|
|
27
|
+
if (e instanceof HttpErrorResponse) {
|
|
28
|
+
const error = e.error;
|
|
29
|
+
if (error.error === TokenExceptions.MfaRequired) {
|
|
30
|
+
throwError(() => new Auth0MfaRequiredException({
|
|
31
|
+
error: error.error,
|
|
32
|
+
errorDescription: error.error_description,
|
|
33
|
+
mfaToken: error.mfa_token
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return throwError(() => e);
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
authWithOobCode(mfaToken, oobCode, bindingCode) {
|
|
41
|
+
return this.http.post(this.url("token"), {
|
|
42
|
+
client_id: this.options.clientId,
|
|
43
|
+
client_secret: this.options.clientSecret,
|
|
44
|
+
audience: this.options.audience,
|
|
45
|
+
grant_type: "http://auth0.com/oauth/grant-type/mfa-oob",
|
|
46
|
+
scope: this.options?.scopes.join(" ") ?? "",
|
|
47
|
+
mfa_token: mfaToken,
|
|
48
|
+
oob_code: oobCode,
|
|
49
|
+
binding_code: bindingCode
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
refreshToken(refreshToken) {
|
|
53
|
+
return this.http.post(this.url("token"), {
|
|
54
|
+
client_id: this.options.clientId,
|
|
55
|
+
client_secret: this.options.clientSecret,
|
|
56
|
+
audience: this.options.audience,
|
|
57
|
+
grant_type: "refresh_token",
|
|
58
|
+
scope: this.options?.scopes.join(" ") ?? "",
|
|
59
|
+
refresh_token: refreshToken
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
revokeRefreshToken(refreshToken) {
|
|
63
|
+
return this.http.post(this.url("revoke"), {
|
|
64
|
+
client_id: this.options.clientId,
|
|
65
|
+
client_secret: this.options.clientSecret,
|
|
66
|
+
token: refreshToken
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
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 });
|
|
71
|
+
Auth0TokenApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0TokenApi });
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Auth0TokenApi, decorators: [{
|
|
73
|
+
type: Injectable
|
|
74
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
75
|
+
type: Inject,
|
|
76
|
+
args: [NICE_AUTH0_OPTIONS]
|
|
77
|
+
}] }, { type: i1.HttpClient }]; } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9hcGkvdG9rZW4vdG9rZW4uYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBSS9ELE1BQU0sT0FBTyxhQUFjLFNBQVEsUUFBUTtJQUN2QyxZQUFnRCxPQUF5QixFQUFVLElBQWdCO1FBQy9GLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRGEsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO0lBRW5HLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQ2pCO1lBQ0ksU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQ3hDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDL0IsVUFBVSxFQUFFLFVBQVU7WUFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQzNDLFFBQVE7WUFDUixRQUFRO1NBQ1gsQ0FDSixDQUFDLElBQUksQ0FDRixVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxZQUFZLGlCQUFpQixFQUFFO2dCQUNoQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUN0QixJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssZUFBZSxDQUFDLFdBQVcsRUFBRTtvQkFDN0MsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUkseUJBQXlCLENBQUM7d0JBQzNDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSzt3QkFDbEIsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjt3QkFDekMsUUFBUSxFQUFFLEtBQUssQ0FBQyxTQUFTO3FCQUM1QixDQUFDLENBQUMsQ0FBQztpQkFDUDthQUNKO1lBRUQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFTSxlQUFlLENBQUMsUUFBZ0IsRUFBRSxPQUFlLEVBQUUsV0FBbUI7UUFDekUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFDakI7WUFDSSxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQ2hDLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVk7WUFDeEMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUMvQixVQUFVLEVBQUUsMkNBQTJDO1lBQ3ZELEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtZQUMzQyxTQUFTLEVBQUUsUUFBUTtZQUNuQixRQUFRLEVBQUUsT0FBTztZQUNqQixZQUFZLEVBQUUsV0FBVztTQUM1QixDQUNKLENBQUM7SUFDTixDQUFDO0lBRU0sWUFBWSxDQUFDLFlBQW9CO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQ2pCO1lBQ0ksU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQ3hDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDL0IsVUFBVSxFQUFFLGVBQWU7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQzNDLGFBQWEsRUFBRSxZQUFZO1NBQzlCLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxZQUFvQjtRQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUNsQjtZQUNJLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDaEMsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWTtZQUN4QyxLQUFLLEVBQUUsWUFBWTtTQUN0QixDQUNKLENBQUM7SUFDTixDQUFDOzswR0ExRVEsYUFBYSxrQkFDRixrQkFBa0I7OEdBRDdCLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVTs7MEJBRU0sTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgTklDRV9BVVRIMF9PUFRJT05TIH0gZnJvbSBcIi4uLy4uL25pY2UtYXV0aDAta2l0LmNvbnN0YW50XCI7XG5pbXBvcnQgeyBOaWNlQXV0aDBPcHRpb25zIH0gZnJvbSBcIi4uLy4uL25pY2UtYXV0aDAta2l0Lm9wdGlvbnNcIjtcbmltcG9ydCB7IEF1dGgwQXBpIH0gZnJvbSBcIi4uL2F1dGgwLmFwaVwiO1xuaW1wb3J0IHsgQXV0aDBNZmFSZXF1aXJlZEV4Y2VwdGlvbiB9IGZyb20gXCIuL2V4Y2VwdGlvbnMvbWZhLXJlcXVpcmVkLmV4Y2VwdGlvblwiO1xuaW1wb3J0IHsgVG9rZW5FeGNlcHRpb25zIH0gZnJvbSBcIi4vZXhjZXB0aW9ucy90b2tlbi5leGNlcHRpb25cIjtcbmltcG9ydCB7IEF1dGgwVG9rZW5SZXNwb25zZSB9IGZyb20gXCIuL21vZGVscy90b2tlbi1yZXNwb25zZS5tb2RlbFwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aDBUb2tlbkFwaSBleHRlbmRzIEF1dGgwQXBpIHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KE5JQ0VfQVVUSDBfT1BUSU9OUykgcHJpdmF0ZSBvcHRpb25zOiBOaWNlQXV0aDBPcHRpb25zLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucy5kb21haW4sIFwib2F1dGhcIik7XG4gICAgfVxuXG4gICAgcHVibGljIGF1dGhXaXRoUGFzc3dvcmQodXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXV0aDBUb2tlblJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBdXRoMFRva2VuUmVzcG9uc2U+KFxuICAgICAgICAgICAgdGhpcy51cmwoXCJ0b2tlblwiKSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjbGllbnRfaWQ6IHRoaXMub3B0aW9ucy5jbGllbnRJZCxcbiAgICAgICAgICAgICAgICBjbGllbnRfc2VjcmV0OiB0aGlzLm9wdGlvbnMuY2xpZW50U2VjcmV0LFxuICAgICAgICAgICAgICAgIGF1ZGllbmNlOiB0aGlzLm9wdGlvbnMuYXVkaWVuY2UsXG4gICAgICAgICAgICAgICAgZ3JhbnRfdHlwZTogXCJwYXNzd29yZFwiLFxuICAgICAgICAgICAgICAgIHNjb3BlOiB0aGlzLm9wdGlvbnM/LnNjb3Blcy5qb2luKFwiIFwiKSA/PyBcIlwiLFxuICAgICAgICAgICAgICAgIHVzZXJuYW1lLFxuICAgICAgICAgICAgICAgIHBhc3N3b3JkXG4gICAgICAgICAgICB9XG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gZS5lcnJvcjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLmVycm9yID09PSBUb2tlbkV4Y2VwdGlvbnMuTWZhUmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93RXJyb3IoKCkgPT4gbmV3IEF1dGgwTWZhUmVxdWlyZWRFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvci5lcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvckRlc2NyaXB0aW9uOiBlcnJvci5lcnJvcl9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZmFUb2tlbjogZXJyb3IubWZhX3Rva2VuXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGF1dGhXaXRoT29iQ29kZShtZmFUb2tlbjogc3RyaW5nLCBvb2JDb2RlOiBzdHJpbmcsIGJpbmRpbmdDb2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEF1dGgwVG9rZW5SZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXV0aDBUb2tlblJlc3BvbnNlPihcbiAgICAgICAgICAgIHRoaXMudXJsKFwidG9rZW5cIiksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2xpZW50X2lkOiB0aGlzLm9wdGlvbnMuY2xpZW50SWQsXG4gICAgICAgICAgICAgICAgY2xpZW50X3NlY3JldDogdGhpcy5vcHRpb25zLmNsaWVudFNlY3JldCxcbiAgICAgICAgICAgICAgICBhdWRpZW5jZTogdGhpcy5vcHRpb25zLmF1ZGllbmNlLFxuICAgICAgICAgICAgICAgIGdyYW50X3R5cGU6IFwiaHR0cDovL2F1dGgwLmNvbS9vYXV0aC9ncmFudC10eXBlL21mYS1vb2JcIixcbiAgICAgICAgICAgICAgICBzY29wZTogdGhpcy5vcHRpb25zPy5zY29wZXMuam9pbihcIiBcIikgPz8gXCJcIixcbiAgICAgICAgICAgICAgICBtZmFfdG9rZW46IG1mYVRva2VuLFxuICAgICAgICAgICAgICAgIG9vYl9jb2RlOiBvb2JDb2RlLFxuICAgICAgICAgICAgICAgIGJpbmRpbmdfY29kZTogYmluZGluZ0NvZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVmcmVzaFRva2VuKHJlZnJlc2hUb2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxBdXRoMFRva2VuUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEF1dGgwVG9rZW5SZXNwb25zZT4oXG4gICAgICAgICAgICB0aGlzLnVybChcInRva2VuXCIpLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNsaWVudF9pZDogdGhpcy5vcHRpb25zLmNsaWVudElkLFxuICAgICAgICAgICAgICAgIGNsaWVudF9zZWNyZXQ6IHRoaXMub3B0aW9ucy5jbGllbnRTZWNyZXQsXG4gICAgICAgICAgICAgICAgYXVkaWVuY2U6IHRoaXMub3B0aW9ucy5hdWRpZW5jZSxcbiAgICAgICAgICAgICAgICBncmFudF90eXBlOiBcInJlZnJlc2hfdG9rZW5cIixcbiAgICAgICAgICAgICAgICBzY29wZTogdGhpcy5vcHRpb25zPy5zY29wZXMuam9pbihcIiBcIikgPz8gXCJcIixcbiAgICAgICAgICAgICAgICByZWZyZXNoX3Rva2VuOiByZWZyZXNoVG9rZW5cbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmV2b2tlUmVmcmVzaFRva2VuKHJlZnJlc2hUb2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDx2b2lkPihcbiAgICAgICAgICAgIHRoaXMudXJsKFwicmV2b2tlXCIpLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNsaWVudF9pZDogdGhpcy5vcHRpb25zLmNsaWVudElkLFxuICAgICAgICAgICAgICAgIGNsaWVudF9zZWNyZXQ6IHRoaXMub3B0aW9ucy5jbGllbnRTZWNyZXQsXG4gICAgICAgICAgICAgICAgdG9rZW46IHJlZnJlc2hUb2tlblxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { HTTP_INTERCEPTORS, HttpClientModule } from "@angular/common/http";
|
|
2
|
+
import { NgModule } from "@angular/core";
|
|
3
|
+
import { NiceAuthInterceptor } from "./api/interceptors/auth.interceptor";
|
|
4
|
+
import { Auth0MfaApi } from "./api/mfa/mfa.api";
|
|
5
|
+
import { NiceAuth0Service } from "./api/nice-auth0.service";
|
|
6
|
+
import { Auth0TokenApi } from "./api/token/token.api";
|
|
7
|
+
import { NICE_AUTH0_OPTIONS } from "./nice-auth0-kit.constant";
|
|
8
|
+
import { NiceAuthenticationService } from "./providers/authentication.service";
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class NiceAuth0Module {
|
|
11
|
+
static forRoot(options) {
|
|
12
|
+
return {
|
|
13
|
+
ngModule: NiceAuth0Module,
|
|
14
|
+
providers: [
|
|
15
|
+
{
|
|
16
|
+
provide: NICE_AUTH0_OPTIONS,
|
|
17
|
+
useValue: options
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
NiceAuth0Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
24
|
+
NiceAuth0Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Module, imports: [HttpClientModule] });
|
|
25
|
+
NiceAuth0Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Module, providers: [
|
|
26
|
+
Auth0MfaApi,
|
|
27
|
+
Auth0TokenApi,
|
|
28
|
+
NiceAuth0Service,
|
|
29
|
+
NiceAuthenticationService,
|
|
30
|
+
{ provide: HTTP_INTERCEPTORS, useClass: NiceAuthInterceptor, multi: true }
|
|
31
|
+
], imports: [[
|
|
32
|
+
HttpClientModule
|
|
33
|
+
]] });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuth0Module, decorators: [{
|
|
35
|
+
type: NgModule,
|
|
36
|
+
args: [{
|
|
37
|
+
imports: [
|
|
38
|
+
HttpClientModule
|
|
39
|
+
],
|
|
40
|
+
declarations: [],
|
|
41
|
+
providers: [
|
|
42
|
+
Auth0MfaApi,
|
|
43
|
+
Auth0TokenApi,
|
|
44
|
+
NiceAuth0Service,
|
|
45
|
+
NiceAuthenticationService,
|
|
46
|
+
{ provide: HTTP_INTERCEPTORS, useClass: NiceAuthInterceptor, multi: true }
|
|
47
|
+
],
|
|
48
|
+
exports: []
|
|
49
|
+
}]
|
|
50
|
+
}] });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1hdWh0MC1raXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1hdXRoMC1raXQvc3JjL2xpYi9uaWNlLWF1aHQwLWtpdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFnQi9FLE1BQU0sT0FBTyxlQUFlO0lBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBeUI7UUFDM0MsT0FBTztZQUNILFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixRQUFRLEVBQUUsT0FBTztpQkFDcEI7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDOzs0R0FYUSxlQUFlOzZHQUFmLGVBQWUsWUFacEIsZ0JBQWdCOzZHQVlYLGVBQWUsYUFUYjtRQUNQLFdBQVc7UUFDWCxhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLHlCQUF5QjtRQUN6QixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtLQUM3RSxZQVZRO1lBQ0wsZ0JBQWdCO1NBQ25COzJGQVdRLGVBQWU7a0JBZDNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLGdCQUFnQjtxQkFDbkI7b0JBQ0QsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDUCxXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQix5QkFBeUI7d0JBQ3pCLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3FCQUM3RTtvQkFDRCxPQUFPLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTLCBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOaWNlQXV0aEludGVyY2VwdG9yIH0gZnJvbSBcIi4vYXBpL2ludGVyY2VwdG9ycy9hdXRoLmludGVyY2VwdG9yXCI7XG5pbXBvcnQgeyBBdXRoME1mYUFwaSB9IGZyb20gXCIuL2FwaS9tZmEvbWZhLmFwaVwiO1xuaW1wb3J0IHsgTmljZUF1dGgwU2VydmljZSB9IGZyb20gXCIuL2FwaS9uaWNlLWF1dGgwLnNlcnZpY2VcIjtcbmltcG9ydCB7IEF1dGgwVG9rZW5BcGkgfSBmcm9tIFwiLi9hcGkvdG9rZW4vdG9rZW4uYXBpXCI7XG5pbXBvcnQgeyBOSUNFX0FVVEgwX09QVElPTlMgfSBmcm9tIFwiLi9uaWNlLWF1dGgwLWtpdC5jb25zdGFudFwiO1xuaW1wb3J0IHsgTmljZUF1dGgwT3B0aW9ucyB9IGZyb20gXCIuL25pY2UtYXV0aDAta2l0Lm9wdGlvbnNcIjtcbmltcG9ydCB7IE5pY2VBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi9wcm92aWRlcnMvYXV0aGVudGljYXRpb24uc2VydmljZVwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgSHR0cENsaWVudE1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQXV0aDBNZmFBcGksXG4gICAgICAgIEF1dGgwVG9rZW5BcGksXG4gICAgICAgIE5pY2VBdXRoMFNlcnZpY2UsXG4gICAgICAgIE5pY2VBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gICAgICAgIHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBOaWNlQXV0aEludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBOaWNlQXV0aDBNb2R1bGUge1xuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChvcHRpb25zOiBOaWNlQXV0aDBPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOaWNlQXV0aDBNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOaWNlQXV0aDBNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IE5JQ0VfQVVUSDBfT1BUSU9OUyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
export const NICE_AUTH0_OPTIONS = new InjectionToken("nice_auth0_options");
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1hdXRoMC1raXQuY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWF1dGgwLWtpdC9zcmMvbGliL25pY2UtYXV0aDAta2l0LmNvbnN0YW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQUMsb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGNvbnN0IE5JQ0VfQVVUSDBfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihcIm5pY2VfYXV0aDBfb3B0aW9uc1wiKTtcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1hdXRoMC1raXQub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtYXV0aDAta2l0L3NyYy9saWIvbmljZS1hdXRoMC1raXQub3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBOaWNlQXV0aDBPcHRpb25zIHtcbiAgICBkb21haW46IHN0cmluZztcbiAgICBjbGllbnRJZDogc3RyaW5nO1xuICAgIGNsaWVudFNlY3JldDogc3RyaW5nO1xuICAgIGF1ZGllbmNlOiBzdHJpbmc7XG4gICAgc2NvcGVzOiBzdHJpbmdbXTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import jwtDecode from "jwt-decode";
|
|
3
|
+
import { BehaviorSubject, of, throwError } from "rxjs";
|
|
4
|
+
import { catchError, map, tap } from "rxjs/operators";
|
|
5
|
+
import { NiceAuth0Service } from "../api/nice-auth0.service";
|
|
6
|
+
import { Auth0MfaRequiredException } from "../api/token/exceptions/mfa-required.exception";
|
|
7
|
+
import { NoAuthenticatorException } from "./exceptions/no-authenticator.exception";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../api/nice-auth0.service";
|
|
10
|
+
export class NiceAuthenticationService {
|
|
11
|
+
constructor(auth0Service) {
|
|
12
|
+
this.auth0Service = auth0Service;
|
|
13
|
+
this.currentUser$ = new BehaviorSubject(this.currentUser);
|
|
14
|
+
}
|
|
15
|
+
get idToken() {
|
|
16
|
+
return localStorage.getItem("auth0_id_token");
|
|
17
|
+
}
|
|
18
|
+
set idToken(accessToken) {
|
|
19
|
+
localStorage.setItem("auth0_id_token", accessToken);
|
|
20
|
+
this.currentUser$.next(this.currentUser);
|
|
21
|
+
}
|
|
22
|
+
get accessToken() {
|
|
23
|
+
return localStorage.getItem("auth0_access_token");
|
|
24
|
+
}
|
|
25
|
+
set accessToken(accessToken) {
|
|
26
|
+
localStorage.setItem("auth0_access_token", accessToken);
|
|
27
|
+
}
|
|
28
|
+
get refreshToken() {
|
|
29
|
+
return localStorage.getItem("auth0_refresh_token");
|
|
30
|
+
}
|
|
31
|
+
set refreshToken(refreshToken) {
|
|
32
|
+
localStorage.setItem("auth0_refresh_token", refreshToken);
|
|
33
|
+
}
|
|
34
|
+
get idTokenPayload() {
|
|
35
|
+
try {
|
|
36
|
+
return jwtDecode(this.idToken);
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
console.log("Failed to decode payload: " + e);
|
|
40
|
+
return {};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
get accessTokenPayload() {
|
|
44
|
+
try {
|
|
45
|
+
const decodedPayload = atob(this.accessToken.split(".")[1]);
|
|
46
|
+
return JSON.parse(decodedPayload);
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
console.log("Failed to decode payload: " + e);
|
|
50
|
+
return {};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
get currentUser() {
|
|
54
|
+
return this.idTokenPayload;
|
|
55
|
+
}
|
|
56
|
+
checkLoggedIn() {
|
|
57
|
+
if (this.validateToken()) {
|
|
58
|
+
return of(true);
|
|
59
|
+
}
|
|
60
|
+
return this.getAccessToken().pipe(map((accessToken) => accessToken != null), catchError(() => of(false)));
|
|
61
|
+
}
|
|
62
|
+
getAccessToken() {
|
|
63
|
+
if (!this.accessToken) {
|
|
64
|
+
return of(null);
|
|
65
|
+
}
|
|
66
|
+
if (this.validateToken()) {
|
|
67
|
+
return of(this.accessToken);
|
|
68
|
+
}
|
|
69
|
+
if (this.refreshToken) {
|
|
70
|
+
return this.generateNewToken();
|
|
71
|
+
}
|
|
72
|
+
return of(null);
|
|
73
|
+
}
|
|
74
|
+
validateToken() {
|
|
75
|
+
if (!this.accessToken) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
const exp = this.accessTokenPayload.exp;
|
|
79
|
+
const now = new Date().getTime() / 1000;
|
|
80
|
+
return now < exp;
|
|
81
|
+
}
|
|
82
|
+
passwordGrant(username, password) {
|
|
83
|
+
return this.auth0Service.token.authWithPassword(username, password).pipe(map(value => {
|
|
84
|
+
this.refreshToken = value.refresh_token;
|
|
85
|
+
this.idToken = value.id_token;
|
|
86
|
+
this.accessToken = value.access_token;
|
|
87
|
+
return {
|
|
88
|
+
success: true,
|
|
89
|
+
mfaRequired: false
|
|
90
|
+
};
|
|
91
|
+
}), catchError((e) => {
|
|
92
|
+
if (e instanceof Auth0MfaRequiredException) {
|
|
93
|
+
this.lastMfaChallengeToken = e.mfaToken;
|
|
94
|
+
return this.generateChallenge().pipe(map(() => ({
|
|
95
|
+
success: true,
|
|
96
|
+
mfaRequired: true
|
|
97
|
+
})), catchError(() => throwError(() => new NoAuthenticatorException())));
|
|
98
|
+
}
|
|
99
|
+
return throwError(() => e);
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
validateOobCode(code) {
|
|
103
|
+
return this.auth0Service.token.authWithOobCode(this.lastMfaChallengeToken, this.lastMfaOobCode, code).pipe(map(value => {
|
|
104
|
+
this.refreshToken = value.refresh_token;
|
|
105
|
+
this.idToken = value.id_token;
|
|
106
|
+
this.accessToken = value.access_token;
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
logout() {
|
|
110
|
+
const refreshToken = localStorage.getItem("auth0_refresh_token");
|
|
111
|
+
localStorage.removeItem("auth0_id_token");
|
|
112
|
+
localStorage.removeItem("auth0_access_token");
|
|
113
|
+
localStorage.removeItem("auth0_refresh_token");
|
|
114
|
+
return this.auth0Service.token.revokeRefreshToken(refreshToken);
|
|
115
|
+
}
|
|
116
|
+
generateNewToken() {
|
|
117
|
+
return this.auth0Service.token.refreshToken(this.refreshToken).pipe(tap(value => {
|
|
118
|
+
this.refreshToken = value.refresh_token;
|
|
119
|
+
this.idToken = value.id_token;
|
|
120
|
+
this.accessToken = value.access_token;
|
|
121
|
+
}), map(value => value.access_token), catchError(e => {
|
|
122
|
+
return of(null);
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
addMfaAuthenticator(authenticator) {
|
|
126
|
+
return this.auth0Service.mfa.associateOobAuthenticator({
|
|
127
|
+
channels: [authenticator.type],
|
|
128
|
+
email: authenticator.email,
|
|
129
|
+
phoneNumber: authenticator.phoneNumber
|
|
130
|
+
}).pipe(map(value => {
|
|
131
|
+
this.lastMfaOobCode = value.oob_code;
|
|
132
|
+
}));
|
|
133
|
+
}
|
|
134
|
+
generateChallenge() {
|
|
135
|
+
return this.auth0Service.mfa.challenge({
|
|
136
|
+
type: "oob",
|
|
137
|
+
mfaToken: this.lastMfaChallengeToken
|
|
138
|
+
}).pipe(map(value => {
|
|
139
|
+
this.lastMfaOobCode = value.oob_code;
|
|
140
|
+
}));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
NiceAuthenticationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthenticationService, deps: [{ token: i1.NiceAuth0Service }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
144
|
+
NiceAuthenticationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthenticationService });
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAuthenticationService, decorators: [{
|
|
146
|
+
type: Injectable
|
|
147
|
+
}], ctorParameters: function () { return [{ type: i1.NiceAuth0Service }]; } });
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtYXV0aDAta2l0L3NyYy9saWIvcHJvdmlkZXJzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7QUFrQm5GLE1BQU0sT0FBTyx5QkFBeUI7SUFNbEMsWUFBb0IsWUFBOEI7UUFBOUIsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBRjNDLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRVAsQ0FBQztJQUV0RCxJQUFXLE9BQU87UUFDZCxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxPQUFPLENBQUMsV0FBbUI7UUFDbEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixP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LEVBQUcsYUFBb0MsQ0FBQyxLQUFLO1lBQ2xELFdBQVcsRUFBRyxhQUFrQyxDQUFDLFdBQVc7U0FDL0QsQ0FBQyxDQUFDLElBQUksQ0FDSCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUM7WUFDbkMsSUFBSSxFQUFFLEtBQUs7WUFDWCxRQUFRLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtTQUN2QyxDQUFDLENBQUMsSUFBSSxDQUNILEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNSLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7c0hBL0tRLHlCQUF5QjswSEFBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCBqd3REZWNvZGUgZnJvbSBcImp3dC1kZWNvZGVcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IE5pY2VBdXRoMFNlcnZpY2UgfSBmcm9tIFwiLi4vYXBpL25pY2UtYXV0aDAuc2VydmljZVwiO1xuaW1wb3J0IHsgQXV0aDBNZmFSZXF1aXJlZEV4Y2VwdGlvbiB9IGZyb20gXCIuLi9hcGkvdG9rZW4vZXhjZXB0aW9ucy9tZmEtcmVxdWlyZWQuZXhjZXB0aW9uXCI7XG5pbXBvcnQgeyBOb0F1dGhlbnRpY2F0b3JFeGNlcHRpb24gfSBmcm9tIFwiLi9leGNlcHRpb25zL25vLWF1dGhlbnRpY2F0b3IuZXhjZXB0aW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5SZXNwb25zZSB7XG4gICAgc3VjY2VzczogYm9vbGVhbjtcbiAgICBtZmFSZXF1aXJlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbXNBdXRoZW50aWNhdG9yIHtcbiAgICB0eXBlOiBcInNtc1wiO1xuICAgIHBob25lTnVtYmVyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxBdXRoZW50aWNhdG9yIHtcbiAgICB0eXBlOiBcImVtYWlsXCI7XG4gICAgZW1haWw6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5pY2VBdXRoZW50aWNhdGlvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgbGFzdE1mYUNoYWxsZW5nZVRva2VuOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBsYXN0TWZhT29iQ29kZTogc3RyaW5nO1xuXG4gICAgcHVibGljIGN1cnJlbnRVc2VyJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5jdXJyZW50VXNlcik7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGgwU2VydmljZTogTmljZUF1dGgwU2VydmljZSkge31cblxuICAgIHB1YmxpYyBnZXQgaWRUb2tlbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJhdXRoMF9pZF90b2tlblwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGlkVG9rZW4oYWNjZXNzVG9rZW46IHN0cmluZykge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImF1dGgwX2lkX3Rva2VuXCIsIGFjY2Vzc1Rva2VuKTtcbiAgICAgICAgdGhpcy5jdXJyZW50VXNlciQubmV4dCh0aGlzLmN1cnJlbnRVc2VyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjY2Vzc1Rva2VuKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImF1dGgwX2FjY2Vzc190b2tlblwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGFjY2Vzc1Rva2VuKGFjY2Vzc1Rva2VuOiBzdHJpbmcpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJhdXRoMF9hY2Nlc3NfdG9rZW5cIiwgYWNjZXNzVG9rZW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVmcmVzaFRva2VuKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImF1dGgwX3JlZnJlc2hfdG9rZW5cIik7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCByZWZyZXNoVG9rZW4ocmVmcmVzaFRva2VuOiBzdHJpbmcpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJhdXRoMF9yZWZyZXNoX3Rva2VuXCIsIHJlZnJlc2hUb2tlbik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpZFRva2VuUGF5bG9hZCgpOiBhbnkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGp3dERlY29kZSh0aGlzLmlkVG9rZW4pO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkZhaWxlZCB0byBkZWNvZGUgcGF5bG9hZDogXCIgKyBlKTtcbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWNjZXNzVG9rZW5QYXlsb2FkKCk6IGFueSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBkZWNvZGVkUGF5bG9hZCA9IGF0b2IodGhpcy5hY2Nlc3NUb2tlbi5zcGxpdChcIi5cIilbMV0pO1xuICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZGVjb2RlZFBheWxvYWQpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkZhaWxlZCB0byBkZWNvZGUgcGF5bG9hZDogXCIgKyBlKTtcbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY3VycmVudFVzZXIoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWRUb2tlblBheWxvYWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrTG9nZ2VkSW4oKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIGlmICh0aGlzLnZhbGlkYXRlVG9rZW4oKSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWNjZXNzVG9rZW4oKS5waXBlKFxuICAgICAgICAgICAgbWFwKChhY2Nlc3NUb2tlbjogc3RyaW5nKSA9PiBhY2Nlc3NUb2tlbiAhPSBudWxsKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoZmFsc2UpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY2Nlc3NUb2tlbigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBpZiAoIXRoaXMuYWNjZXNzVG9rZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnZhbGlkYXRlVG9rZW4oKSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuYWNjZXNzVG9rZW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucmVmcmVzaFRva2VuKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZU5ld1Rva2VuKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgcHVibGljIHZhbGlkYXRlVG9rZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5hY2Nlc3NUb2tlbikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXhwID0gdGhpcy5hY2Nlc3NUb2tlblBheWxvYWQuZXhwO1xuICAgICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7XG4gICAgICAgIHJldHVybiBub3cgPCBleHA7XG4gICAgfVxuXG4gICAgcHVibGljIHBhc3N3b3JkR3JhbnQodXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IE9ic2VydmFibGU8TG9naW5SZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRoMFNlcnZpY2UudG9rZW4uYXV0aFdpdGhQYXNzd29yZCh1c2VybmFtZSwgcGFzc3dvcmQpLnBpcGUoXG4gICAgICAgICAgICBtYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuID0gdmFsdWUucmVmcmVzaF90b2tlbjtcbiAgICAgICAgICAgICAgICB0aGlzLmlkVG9rZW4gPSB2YWx1ZS5pZF90b2tlbjtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzc1Rva2VuID0gdmFsdWUuYWNjZXNzX3Rva2VuO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG1mYVJlcXVpcmVkOiBmYWxzZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEF1dGgwTWZhUmVxdWlyZWRFeGNlcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0TWZhQ2hhbGxlbmdlVG9rZW4gPSBlLm1mYVRva2VuO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZUNoYWxsZW5nZSgpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mYVJlcXVpcmVkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRocm93RXJyb3IoKCkgPT4gbmV3IE5vQXV0aGVudGljYXRvckV4Y2VwdGlvbigpKSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsaWRhdGVPb2JDb2RlKGNvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRoMFNlcnZpY2UudG9rZW4uYXV0aFdpdGhPb2JDb2RlKHRoaXMubGFzdE1mYUNoYWxsZW5nZVRva2VuLCB0aGlzLmxhc3RNZmFPb2JDb2RlLCBjb2RlKS5waXBlKFxuICAgICAgICAgICAgbWFwKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlbiA9IHZhbHVlLnJlZnJlc2hfdG9rZW47XG4gICAgICAgICAgICAgICAgdGhpcy5pZFRva2VuID0gdmFsdWUuaWRfdG9rZW47XG4gICAgICAgICAgICAgICAgdGhpcy5hY2Nlc3NUb2tlbiA9IHZhbHVlLmFjY2Vzc190b2tlbjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGxvZ291dCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmcmVzaFRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJhdXRoMF9yZWZyZXNoX3Rva2VuXCIpO1xuXG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwiYXV0aDBfaWRfdG9rZW5cIik7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwiYXV0aDBfYWNjZXNzX3Rva2VuXCIpO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcImF1dGgwX3JlZnJlc2hfdG9rZW5cIik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0aDBTZXJ2aWNlLnRva2VuLnJldm9rZVJlZnJlc2hUb2tlbihyZWZyZXNoVG9rZW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZW5lcmF0ZU5ld1Rva2VuKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dGgwU2VydmljZS50b2tlbi5yZWZyZXNoVG9rZW4odGhpcy5yZWZyZXNoVG9rZW4pLnBpcGUoXG4gICAgICAgICAgICB0YXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuID0gdmFsdWUucmVmcmVzaF90b2tlbjtcbiAgICAgICAgICAgICAgICB0aGlzLmlkVG9rZW4gPSB2YWx1ZS5pZF90b2tlbjtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzc1Rva2VuID0gdmFsdWUuYWNjZXNzX3Rva2VuO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAodmFsdWUgPT4gdmFsdWUuYWNjZXNzX3Rva2VuKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkTWZhQXV0aGVudGljYXRvcihhdXRoZW50aWNhdG9yOiBTbXNBdXRoZW50aWNhdG9yIHwgRW1haWxBdXRoZW50aWNhdG9yKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dGgwU2VydmljZS5tZmEuYXNzb2NpYXRlT29iQXV0aGVudGljYXRvcih7XG4gICAgICAgICAgICBjaGFubmVsczogW2F1dGhlbnRpY2F0b3IudHlwZV0sXG4gICAgICAgICAgICBlbWFpbDogKGF1dGhlbnRpY2F0b3IgYXMgRW1haWxBdXRoZW50aWNhdG9yKS5lbWFpbCxcbiAgICAgICAgICAgIHBob25lTnVtYmVyOiAoYXV0aGVudGljYXRvciBhcyBTbXNBdXRoZW50aWNhdG9yKS5waG9uZU51bWJlclxuICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RNZmFPb2JDb2RlID0gdmFsdWUub29iX2NvZGU7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2VuZXJhdGVDaGFsbGVuZ2UoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dGgwU2VydmljZS5tZmEuY2hhbGxlbmdlKHtcbiAgICAgICAgICAgIHR5cGU6IFwib29iXCIsXG4gICAgICAgICAgICBtZmFUb2tlbjogdGhpcy5sYXN0TWZhQ2hhbGxlbmdlVG9rZW5cbiAgICAgICAgfSkucGlwZShcbiAgICAgICAgICAgIG1hcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0TWZhT29iQ29kZSA9IHZhbHVlLm9vYl9jb2RlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class NoAuthenticatorException {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tYXV0aGVudGljYXRvci5leGNlcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWF1dGgwLWtpdC9zcmMvbGliL3Byb3ZpZGVycy9leGNlcHRpb25zL25vLWF1dGhlbnRpY2F0b3IuZXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx3QkFBd0I7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBOb0F1dGhlbnRpY2F0b3JFeGNlcHRpb24ge31cbiJdfQ==
|