@huntsman-cancer-institute/authentication 16.0.1 → 17.0.1
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/authentication.component.d.ts +27 -27
- package/authentication.module.d.ts +24 -24
- package/authentication.provider.d.ts +16 -16
- package/authentication.service.d.ts +123 -123
- package/authorization.interceptor.d.ts +11 -11
- package/directlogin.component.d.ts +21 -21
- package/esm2022/authentication.component.mjs +112 -112
- package/esm2022/authentication.module.mjs +103 -103
- package/esm2022/authentication.provider.mjs +36 -36
- package/esm2022/authentication.service.mjs +393 -393
- package/esm2022/authorization.interceptor.mjs +79 -79
- package/esm2022/directlogin.component.mjs +47 -47
- package/esm2022/huntsman-cancer-institute-authentication.mjs +4 -4
- package/esm2022/index.mjs +12 -12
- package/esm2022/route-guard.service.mjs +22 -22
- package/esm2022/timeout-notification.component.mjs +117 -117
- package/fesm2022/huntsman-cancer-institute-authentication.mjs +831 -831
- package/fesm2022/huntsman-cancer-institute-authentication.mjs.map +1 -1
- package/index.d.ts +12 -12
- package/package.json +4 -4
- package/route-guard.service.d.ts +1 -1
- package/timeout-notification.component.d.ts +14 -14
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
import { Injectable, Injector, isDevMode } from "@angular/core";
|
|
2
|
-
import { throwError } from "rxjs";
|
|
3
|
-
import { catchError } from "rxjs/operators";
|
|
4
|
-
import { AuthenticationService } from "./authentication.service";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class AuthorizationInterceptor {
|
|
7
|
-
constructor(injector) {
|
|
8
|
-
this.injector = injector;
|
|
9
|
-
}
|
|
10
|
-
intercept(req, next) {
|
|
11
|
-
if (isDevMode()) {
|
|
12
|
-
console.debug("AuthorizationInterceptor.intercept");
|
|
13
|
-
}
|
|
14
|
-
let authService = this.injector.get(AuthenticationService);
|
|
15
|
-
//Don't want to include background token refreshes in considering the user 'active'
|
|
16
|
-
if (req.url !== authService.tokenLocation()) {
|
|
17
|
-
//Update user activity. Done here instead of the previous method using a subscription to a subject in AuthenticationProvider
|
|
18
|
-
authService.updateUserActivity();
|
|
19
|
-
}
|
|
20
|
-
let headers = authService.getHeaders(req);
|
|
21
|
-
let url = req.url;
|
|
22
|
-
if (url.startsWith("/")) {
|
|
23
|
-
url = authService.getBaseUrl() + url;
|
|
24
|
-
}
|
|
25
|
-
else if (!url.startsWith("http")) {
|
|
26
|
-
if (authService.getContextRoot().length > 0) {
|
|
27
|
-
url = authService.getBaseUrl() + "/" + authService.getContextRoot() + "/" + url;
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
url = authService.getBaseUrl() + "/" + url;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
let params = req.params;
|
|
34
|
-
if (url.indexOf("/crud/") > 0) {
|
|
35
|
-
params = params.set("maxViewPermission", authService.getMaxViewPermission());
|
|
36
|
-
}
|
|
37
|
-
let reqClone = req.clone({
|
|
38
|
-
url: url,
|
|
39
|
-
withCredentials: true,
|
|
40
|
-
headers: headers,
|
|
41
|
-
params: params
|
|
42
|
-
});
|
|
43
|
-
return next.handle(reqClone)
|
|
44
|
-
.pipe(catchError((error) => {
|
|
45
|
-
if (isDevMode()) {
|
|
46
|
-
console.error("AuthorizationInterceptor.error");
|
|
47
|
-
console.error(error);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* If the token is not authenticated which angular does not know about, then a REST request to the backend will
|
|
51
|
-
* return a 401. To duplicate this, open Core in two tabs. In one tab, logout, in the other, perform a request
|
|
52
|
-
* that hits a protected resource.
|
|
53
|
-
*/
|
|
54
|
-
if (error.status === 401) {
|
|
55
|
-
authService.isAuthenticated().subscribe((authenticated) => {
|
|
56
|
-
if (authenticated) {
|
|
57
|
-
// If authenticated, then logout which will redirect.
|
|
58
|
-
authService.logout(true);
|
|
59
|
-
return throwError(error.message);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
// Otherwise, for example, when the user first opens Core, 401s are expected.
|
|
63
|
-
return throwError(error);
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
if (error.status === 403) {
|
|
68
|
-
// TODO: Trigger notification for unauthorized.
|
|
69
|
-
}
|
|
70
|
-
return throwError(error);
|
|
71
|
-
}));
|
|
72
|
-
}
|
|
73
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
74
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
75
|
-
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
77
|
-
type: Injectable
|
|
78
|
-
}], ctorParameters:
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable, Injector, isDevMode } from "@angular/core";
|
|
2
|
+
import { throwError } from "rxjs";
|
|
3
|
+
import { catchError } from "rxjs/operators";
|
|
4
|
+
import { AuthenticationService } from "./authentication.service";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class AuthorizationInterceptor {
|
|
7
|
+
constructor(injector) {
|
|
8
|
+
this.injector = injector;
|
|
9
|
+
}
|
|
10
|
+
intercept(req, next) {
|
|
11
|
+
if (isDevMode()) {
|
|
12
|
+
console.debug("AuthorizationInterceptor.intercept");
|
|
13
|
+
}
|
|
14
|
+
let authService = this.injector.get(AuthenticationService);
|
|
15
|
+
//Don't want to include background token refreshes in considering the user 'active'
|
|
16
|
+
if (req.url !== authService.tokenLocation()) {
|
|
17
|
+
//Update user activity. Done here instead of the previous method using a subscription to a subject in AuthenticationProvider
|
|
18
|
+
authService.updateUserActivity();
|
|
19
|
+
}
|
|
20
|
+
let headers = authService.getHeaders(req);
|
|
21
|
+
let url = req.url;
|
|
22
|
+
if (url.startsWith("/")) {
|
|
23
|
+
url = authService.getBaseUrl() + url;
|
|
24
|
+
}
|
|
25
|
+
else if (!url.startsWith("http")) {
|
|
26
|
+
if (authService.getContextRoot().length > 0) {
|
|
27
|
+
url = authService.getBaseUrl() + "/" + authService.getContextRoot() + "/" + url;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
url = authService.getBaseUrl() + "/" + url;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
let params = req.params;
|
|
34
|
+
if (url.indexOf("/crud/") > 0) {
|
|
35
|
+
params = params.set("maxViewPermission", authService.getMaxViewPermission());
|
|
36
|
+
}
|
|
37
|
+
let reqClone = req.clone({
|
|
38
|
+
url: url,
|
|
39
|
+
withCredentials: true,
|
|
40
|
+
headers: headers,
|
|
41
|
+
params: params
|
|
42
|
+
});
|
|
43
|
+
return next.handle(reqClone)
|
|
44
|
+
.pipe(catchError((error) => {
|
|
45
|
+
if (isDevMode()) {
|
|
46
|
+
console.error("AuthorizationInterceptor.error");
|
|
47
|
+
console.error(error);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* If the token is not authenticated which angular does not know about, then a REST request to the backend will
|
|
51
|
+
* return a 401. To duplicate this, open Core in two tabs. In one tab, logout, in the other, perform a request
|
|
52
|
+
* that hits a protected resource.
|
|
53
|
+
*/
|
|
54
|
+
if (error.status === 401) {
|
|
55
|
+
authService.isAuthenticated().subscribe((authenticated) => {
|
|
56
|
+
if (authenticated) {
|
|
57
|
+
// If authenticated, then logout which will redirect.
|
|
58
|
+
authService.logout(true);
|
|
59
|
+
return throwError(error.message);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
// Otherwise, for example, when the user first opens Core, 401s are expected.
|
|
63
|
+
return throwError(error);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
if (error.status === 403) {
|
|
68
|
+
// TODO: Trigger notification for unauthorized.
|
|
69
|
+
}
|
|
70
|
+
return throwError(error);
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AuthorizationInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
74
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AuthorizationInterceptor }); }
|
|
75
|
+
}
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AuthorizationInterceptor, decorators: [{
|
|
77
|
+
type: Injectable
|
|
78
|
+
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2F1dGhlbnRpY2F0aW9uL3NyYy9hdXRob3JpemF0aW9uLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc5RCxPQUFPLEVBQWEsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHL0QsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUcsQ0FBQztJQUUxQyxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUNoRCxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFFRCxJQUFJLFdBQVcsR0FBMEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUVsRixtRkFBbUY7UUFDbkYsSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLFdBQVcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1lBQzVDLDRIQUE0SDtZQUM1SCxXQUFXLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBRUQsSUFBSSxPQUFPLEdBQWdCLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkQsSUFBSSxHQUFHLEdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUMxQixJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixHQUFHLEdBQUcsV0FBVyxDQUFDLFVBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUN2QyxDQUFDO2FBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzVDLEdBQUcsR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFFLEdBQUcsR0FBRyxHQUFHLFdBQVcsQ0FBQyxjQUFjLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2xGLENBQUM7aUJBQU0sQ0FBQztnQkFDTixHQUFHLEdBQUcsV0FBVyxDQUFDLFVBQVUsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDN0MsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLE1BQU0sR0FBZSxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ3BDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFFRCxJQUFJLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLEdBQUcsRUFBRSxHQUFHO1lBQ1IsZUFBZSxFQUFFLElBQUk7WUFDckIsT0FBTyxFQUFFLE9BQU87WUFDaEIsTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO2FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN6QixJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztnQkFDaEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixDQUFDO1lBRUQ7Ozs7ZUFJRztZQUNILElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDekIsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO29CQUN4RCxJQUFJLGFBQWEsRUFBRSxDQUFDO3dCQUNsQixxREFBcUQ7d0JBQ3JELFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3pCLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDbkMsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLDZFQUE2RTt3QkFDN0UsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzNCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUN6QiwrQ0FBK0M7WUFDakQsQ0FBQztZQUNELE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzhHQXRFVSx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0b3IsIGlzRGV2TW9kZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtIdHRwUmVxdWVzdCwgSHR0cEhhbmRsZXIsIEh0dHBFdmVudCwgSHR0cEludGVyY2VwdG9yLCBIdHRwSGVhZGVycywgSHR0cFBhcmFtc30gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG5pbXBvcnQge09ic2VydmFibGUsIHRocm93RXJyb3J9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7Y2F0Y2hFcnJvcn0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5pbXBvcnQge0F1dGhlbnRpY2F0aW9uU2VydmljZX0gZnJvbSBcIi4vYXV0aGVudGljYXRpb24uc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXV0aG9yaXphdGlvbkludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XHJcblxyXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJBdXRob3JpemF0aW9uSW50ZXJjZXB0b3IuaW50ZXJjZXB0XCIpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBsZXQgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEF1dGhlbnRpY2F0aW9uU2VydmljZSk7XHJcbiAgICBcclxuICAgIC8vRG9uJ3Qgd2FudCB0byBpbmNsdWRlIGJhY2tncm91bmQgdG9rZW4gcmVmcmVzaGVzIGluIGNvbnNpZGVyaW5nIHRoZSB1c2VyICdhY3RpdmUnXHJcbiAgICBpZiAocmVxLnVybCAhPT0gYXV0aFNlcnZpY2UudG9rZW5Mb2NhdGlvbigpKSB7XHJcbiAgICAgIC8vVXBkYXRlIHVzZXIgYWN0aXZpdHkuIERvbmUgaGVyZSBpbnN0ZWFkIG9mIHRoZSBwcmV2aW91cyBtZXRob2QgdXNpbmcgYSBzdWJzY3JpcHRpb24gdG8gYSBzdWJqZWN0IGluIEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJcclxuICAgICAgYXV0aFNlcnZpY2UudXBkYXRlVXNlckFjdGl2aXR5KCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGxldCBoZWFkZXJzOiBIdHRwSGVhZGVycyA9IGF1dGhTZXJ2aWNlLmdldEhlYWRlcnMocmVxKTtcclxuICAgIGxldCB1cmw6IHN0cmluZyA9IHJlcS51cmw7XHJcbiAgICBpZiAodXJsLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XHJcbiAgICAgIHVybCA9IGF1dGhTZXJ2aWNlLmdldEJhc2VVcmwoKSArIHVybDtcclxuICAgIH0gZWxzZSBpZiAoIXVybC5zdGFydHNXaXRoKFwiaHR0cFwiKSkge1xyXG4gICAgICBpZiAoYXV0aFNlcnZpY2UuZ2V0Q29udGV4dFJvb3QoKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdXJsID0gYXV0aFNlcnZpY2UuZ2V0QmFzZVVybCgpICsgXCIvXCIgKyBhdXRoU2VydmljZS5nZXRDb250ZXh0Um9vdCgpICsgXCIvXCIgKyB1cmw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdXJsID0gYXV0aFNlcnZpY2UuZ2V0QmFzZVVybCgpICsgXCIvXCIgKyB1cmw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsZXQgcGFyYW1zOiBIdHRwUGFyYW1zID0gcmVxLnBhcmFtcztcclxuICAgIGlmICh1cmwuaW5kZXhPZihcIi9jcnVkL1wiKSA+IDApIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcIm1heFZpZXdQZXJtaXNzaW9uXCIsIGF1dGhTZXJ2aWNlLmdldE1heFZpZXdQZXJtaXNzaW9uKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCByZXFDbG9uZSA9IHJlcS5jbG9uZSh7XHJcbiAgICAgIHVybDogdXJsLFxyXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXHJcbiAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXHJcbiAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxQ2xvbmUpXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiQXV0aG9yaXphdGlvbkludGVyY2VwdG9yLmVycm9yXCIpO1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBJZiB0aGUgdG9rZW4gaXMgbm90IGF1dGhlbnRpY2F0ZWQgd2hpY2ggYW5ndWxhciBkb2VzIG5vdCBrbm93IGFib3V0LCB0aGVuIGEgUkVTVCByZXF1ZXN0IHRvIHRoZSBiYWNrZW5kIHdpbGxcclxuICAgICAgICAgKiByZXR1cm4gYSA0MDEuICBUbyBkdXBsaWNhdGUgdGhpcywgb3BlbiBDb3JlIGluIHR3byB0YWJzLiAgSW4gb25lIHRhYiwgbG9nb3V0LCBpbiB0aGUgb3RoZXIsIHBlcmZvcm0gYSByZXF1ZXN0XHJcbiAgICAgICAgICogdGhhdCBoaXRzIGEgcHJvdGVjdGVkIHJlc291cmNlLlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMSkge1xyXG4gICAgICAgICAgYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkKCkuc3Vic2NyaWJlKChhdXRoZW50aWNhdGVkKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChhdXRoZW50aWNhdGVkKSB7XHJcbiAgICAgICAgICAgICAgLy8gSWYgYXV0aGVudGljYXRlZCwgdGhlbiBsb2dvdXQgd2hpY2ggd2lsbCByZWRpcmVjdC5cclxuICAgICAgICAgICAgICBhdXRoU2VydmljZS5sb2dvdXQodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBmb3IgZXhhbXBsZSwgd2hlbiB0aGUgdXNlciBmaXJzdCBvcGVucyBDb3JlLCA0MDFzIGFyZSBleHBlY3RlZC5cclxuICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDMpIHtcclxuICAgICAgICAgIC8vIFRPRE86IFRyaWdnZXIgbm90aWZpY2F0aW9uIGZvciB1bmF1dGhvcml6ZWQuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcclxuICAgICAgfSkpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary
|
|
3
|
-
*/
|
|
4
|
-
import { Component } from "@angular/core";
|
|
5
|
-
import { AuthenticationService } from "./authentication.service";
|
|
6
|
-
import { UntypedFormBuilder, Validators } from "@angular/forms";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./authentication.service";
|
|
9
|
-
import * as i2 from "@angular/forms";
|
|
10
|
-
import * as i3 from "@angular/common";
|
|
11
|
-
export class DirectLoginComponent {
|
|
12
|
-
constructor(_authenticationService, _formBuilder) {
|
|
13
|
-
this._authenticationService = _authenticationService;
|
|
14
|
-
this._formBuilder = _formBuilder;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Initializes the authentication form.
|
|
18
|
-
*/
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
this._loginForm = this._formBuilder.group({
|
|
21
|
-
username: ["", Validators.required],
|
|
22
|
-
password: ["", Validators.required]
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* A function to submit the login form the the {@link UserService}.
|
|
27
|
-
*/
|
|
28
|
-
login() {
|
|
29
|
-
this._authenticationService.login(this._loginForm.value.username, this._loginForm.value.password)
|
|
30
|
-
.subscribe((res) => {
|
|
31
|
-
if (res) {
|
|
32
|
-
this._errorMsg = null;
|
|
33
|
-
this._authenticationService.requestAccessToken(true);
|
|
34
|
-
}
|
|
35
|
-
}, (error) => {
|
|
36
|
-
this._errorMsg = "Please check your username and password.";
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary
|
|
3
|
+
*/
|
|
4
|
+
import { Component } from "@angular/core";
|
|
5
|
+
import { AuthenticationService } from "./authentication.service";
|
|
6
|
+
import { UntypedFormBuilder, Validators } from "@angular/forms";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./authentication.service";
|
|
9
|
+
import * as i2 from "@angular/forms";
|
|
10
|
+
import * as i3 from "@angular/common";
|
|
11
|
+
export class DirectLoginComponent {
|
|
12
|
+
constructor(_authenticationService, _formBuilder) {
|
|
13
|
+
this._authenticationService = _authenticationService;
|
|
14
|
+
this._formBuilder = _formBuilder;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Initializes the authentication form.
|
|
18
|
+
*/
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this._loginForm = this._formBuilder.group({
|
|
21
|
+
username: ["", Validators.required],
|
|
22
|
+
password: ["", Validators.required]
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A function to submit the login form the the {@link UserService}.
|
|
27
|
+
*/
|
|
28
|
+
login() {
|
|
29
|
+
this._authenticationService.login(this._loginForm.value.username, this._loginForm.value.password)
|
|
30
|
+
.subscribe((res) => {
|
|
31
|
+
if (res) {
|
|
32
|
+
this._errorMsg = null;
|
|
33
|
+
this._authenticationService.requestAccessToken(true);
|
|
34
|
+
}
|
|
35
|
+
}, (error) => {
|
|
36
|
+
this._errorMsg = "Please check your username and password.";
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DirectLoginComponent, deps: [{ token: i1.AuthenticationService }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: DirectLoginComponent, selector: "hci-login-form", ngImport: i0, template: `
|
|
41
41
|
<div class="container">
|
|
42
42
|
<div class="login-box" id="hci-login-form-box">
|
|
43
43
|
<div class="login-heading" id="hci-login-form-heading">
|
|
@@ -62,10 +62,10 @@ export class DirectLoginComponent {
|
|
|
62
62
|
</div>
|
|
63
63
|
</div>
|
|
64
64
|
</div>
|
|
65
|
-
`, isInline: true, styles: [".container{max-width:400px;margin-top:20px;padding-top:15px}.login-box{border-radius:10px;box-shadow:0 0 2px #ccc;padding:15px}.login-box .login-heading h3{line-height:1.5;margin:0 0 10px}.login-box .form-control{padding:10px;border:1px solid #ccc}.login-box input[type=password]{margin-bottom:10px;border-top-left-radius:0;border-top-right-radius:0}.login-box input[type=text]{margin-bottom:-1px;border-bottom-right-radius:0;border-bottom-left-radius:0}.login-box .alert-box{margin:10px 0 -5px}.login-box .alert-text{font-size:small}.login-box .btn-box{margin:10px 0 0}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
66
|
-
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
68
|
-
type: Component,
|
|
65
|
+
`, isInline: true, styles: [".container{max-width:400px;margin-top:20px;padding-top:15px}.login-box{border-radius:10px;box-shadow:0 0 2px #ccc;padding:15px}.login-box .login-heading h3{line-height:1.5;margin:0 0 10px}.login-box .form-control{padding:10px;border:1px solid #ccc}.login-box input[type=password]{margin-bottom:10px;border-top-left-radius:0;border-top-right-radius:0}.login-box input[type=text]{margin-bottom:-1px;border-bottom-right-radius:0;border-bottom-left-radius:0}.login-box .alert-box{margin:10px 0 -5px}.login-box .alert-text{font-size:small}.login-box .btn-box{margin:10px 0 0}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
66
|
+
}
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DirectLoginComponent, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
69
|
args: [{ selector: "hci-login-form", template: `
|
|
70
70
|
<div class="container">
|
|
71
71
|
<div class="login-box" id="hci-login-form-box">
|
|
@@ -91,6 +91,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
91
91
|
</div>
|
|
92
92
|
</div>
|
|
93
93
|
</div>
|
|
94
|
-
`, styles: [".container{max-width:400px;margin-top:20px;padding-top:15px}.login-box{border-radius:10px;box-shadow:0 0 2px #ccc;padding:15px}.login-box .login-heading h3{line-height:1.5;margin:0 0 10px}.login-box .form-control{padding:10px;border:1px solid #ccc}.login-box input[type=password]{margin-bottom:10px;border-top-left-radius:0;border-top-right-radius:0}.login-box input[type=text]{margin-bottom:-1px;border-bottom-right-radius:0;border-bottom-left-radius:0}.login-box .alert-box{margin:10px 0 -5px}.login-box .alert-text{font-size:small}.login-box .btn-box{margin:10px 0 0}\n"] }]
|
|
95
|
-
}], ctorParameters:
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
`, styles: [".container{max-width:400px;margin-top:20px;padding-top:15px}.login-box{border-radius:10px;box-shadow:0 0 2px #ccc;padding:15px}.login-box .login-heading h3{line-height:1.5;margin:0 0 10px}.login-box .form-control{padding:10px;border:1px solid #ccc}.login-box input[type=password]{margin-bottom:10px;border-top-left-radius:0;border-top-right-radius:0}.login-box input[type=text]{margin-bottom:-1px;border-bottom-right-radius:0;border-bottom-left-radius:0}.login-box .alert-box{margin:10px 0 -5px}.login-box .alert-text{font-size:small}.login-box .btn-box{margin:10px 0 0}\n"] }]
|
|
95
|
+
}], ctorParameters: () => [{ type: i1.AuthenticationService }, { type: i2.UntypedFormBuilder }] });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0bG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvYXV0aGVudGljYXRpb24vc3JjL2RpcmVjdGxvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGtCQUFrQixFQUFvQixVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUE4RWhGLE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsWUFBb0Isc0JBQTZDLEVBQVUsWUFBZ0M7UUFBdkYsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF1QjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtJQUFHLENBQUM7SUFFL0c7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUN4QyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNuQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO2FBQzlGLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2RCxDQUFDO1FBQ0gsQ0FBQyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRywwQ0FBMEMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBN0JVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHNEQTFFckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0F5QlA7OzJGQWlEUSxvQkFBb0I7a0JBNUVoQyxTQUFTOytCQUNFLGdCQUFnQixZQUNoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXlCUCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAxNiBIdW50c21hbiBDYW5jZXIgSW5zdGl0dXRlIGF0IHRoZSBVbml2ZXJzaXR5IG9mIFV0YWgsIENvbmZpZGVudGlhbCBhbmQgUHJvcHJpZXRhcnlcclxuICovXHJcbmltcG9ydCB7Q29tcG9uZW50LCBPbkluaXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QXV0aGVudGljYXRpb25TZXJ2aWNlfSBmcm9tIFwiLi9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImhjaS1sb2dpbi1mb3JtXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImxvZ2luLWJveFwiIGlkPVwiaGNpLWxvZ2luLWZvcm0tYm94XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvZ2luLWhlYWRpbmdcIiBpZD1cImhjaS1sb2dpbi1mb3JtLWhlYWRpbmdcIj5cclxuICAgICAgICAgIDxoMz5TaWduIGluPC9oMz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwtYm9keVwiPlxyXG4gICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJfbG9naW5Gb3JtXCIgKG5nU3VibWl0KT1cImxvZ2luKClcIj5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInVzZXJuYW1lXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cInVzZXJuYW1lXCIgbmFtZT1cInVzZXJuYW1lXCIgcGxhY2Vob2xkZXI9XCJVc2VybmFtZVwiIHR5cGU9XCJ0ZXh0XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJwYXNzd29yZFwiIG5hbWU9XCJwYXNzd29yZFwiIHR5cGU9XCJwYXNzd29yZFwiIHBsYWNlaG9sZGVyPVwiUGFzc3dvcmRcIj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJfZXJyb3JNc2dcIiBjbGFzcz1cImFsZXJ0LWJveFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImFsZXJ0LWhlYWRpbmdcIj5BdXRoZW50aWNhdGlvbiBGYWlsZWQ8L2g1PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJoY2ktbG9naW4tZXJyb3JcIiBjbGFzcz1cImFsZXJ0LXRleHRcIj57e19lcnJvck1zZ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWJveFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBpZD1cImhjaS1sb2dpbi1mb3JtLXN1Ym1pdC1idXR0b25cIiB0eXBlPVwic3VibWl0XCIgW2Rpc2FibGVkXT1cIiFfbG9naW5Gb3JtLnZhbGlkXCI+TG9naW48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gIHN0eWxlczogW2BcclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmxvZ2luLWJveCB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggI2NjYztcclxuICAgICAgcGFkZGluZzogMTVweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmxvZ2luLWJveCAubG9naW4taGVhZGluZyBoMyB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OjEuNTtcclxuICAgICAgbWFyZ2luOiAwIDAgMTBweFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAubG9naW4tYm94IC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAubG9naW4tYm94IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAubG9naW4tYm94IGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5sb2dpbi1ib3ggLmFsZXJ0LWJveCB7XHJcbiAgICAgIG1hcmdpbjogMTBweCAwIC01cHggMFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAubG9naW4tYm94IC5hbGVydC10ZXh0IHtcclxuICAgICAgZm9udC1zaXplOiBzbWFsbDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmxvZ2luLWJveCAuYnRuLWJveCB7XHJcbiAgICAgIG1hcmdpbjogMTBweCAwIDBweCAwXHJcbiAgICB9XHJcbiAgYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERpcmVjdExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgX2xvZ2luRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwdWJsaWMgX2Vycm9yTXNnOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2F1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLCBwcml2YXRlIF9mb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplcyB0aGUgYXV0aGVudGljYXRpb24gZm9ybS5cclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2xvZ2luRm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgdXNlcm5hbWU6IFtcIlwiLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgcGFzc3dvcmQ6IFtcIlwiLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBIGZ1bmN0aW9uIHRvIHN1Ym1pdCB0aGUgbG9naW4gZm9ybSB0aGUgdGhlIHtAbGluayBVc2VyU2VydmljZX0uXHJcbiAgICovXHJcbiAgbG9naW4oKSB7XHJcbiAgICB0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UubG9naW4odGhpcy5fbG9naW5Gb3JtLnZhbHVlLnVzZXJuYW1lLCB0aGlzLl9sb2dpbkZvcm0udmFsdWUucGFzc3dvcmQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIHRoaXMuX2Vycm9yTXNnID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5yZXF1ZXN0QWNjZXNzVG9rZW4odHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2Vycm9yTXNnID0gXCJQbGVhc2UgY2hlY2sgeW91ciB1c2VybmFtZSBhbmQgcGFzc3dvcmQuXCI7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVudHNtYW4tY2FuY2VyLWluc3RpdHV0ZS1hdXRoZW50aWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2F1dGhlbnRpY2F0aW9uL3NyYy9odW50c21hbi1jYW5jZXItaW5zdGl0dXRlLWF1dGhlbnRpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
package/esm2022/index.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { AuthenticationModule } from "./authentication.module";
|
|
2
|
-
/**
|
|
3
|
-
* The injection tokens for service configuration.
|
|
4
|
-
*/
|
|
5
|
-
export { AUTHENTICATION_LOGOUT_PATH, AUTHENTICATION_SERVER_URL, AUTHENTICATION_TOKEN_ENDPOINT, AUTHENTICATION_DIRECT_ENDPOINT, AUTHENTICATION_ROUTE, AUTHENTICATION_MAX_INACTIVITY_MINUTES, AUTHENTICATION_USER_COUNTDOWN_SECONDS, AUTHENTICATION_IDP_INACTIVITY_MINUTES } from "./authentication.service";
|
|
6
|
-
export { AUTHENTICATION_TOKEN_KEY } from "./authentication.provider";
|
|
7
|
-
export { AuthenticationComponent } from "./authentication.component";
|
|
8
|
-
export { DirectLoginComponent } from "./directlogin.component";
|
|
9
|
-
export { RouteGuardService } from "./route-guard.service";
|
|
10
|
-
export { AuthenticationService } from "./authentication.service";
|
|
11
|
-
export { TimeoutNotificationComponent } from "./timeout-notification.component";
|
|
12
|
-
export { AuthorizationInterceptor } from "./authorization.interceptor";
|
|
1
|
+
export { AuthenticationModule } from "./authentication.module";
|
|
2
|
+
/**
|
|
3
|
+
* The injection tokens for service configuration.
|
|
4
|
+
*/
|
|
5
|
+
export { AUTHENTICATION_LOGOUT_PATH, AUTHENTICATION_SERVER_URL, AUTHENTICATION_TOKEN_ENDPOINT, AUTHENTICATION_DIRECT_ENDPOINT, AUTHENTICATION_ROUTE, AUTHENTICATION_MAX_INACTIVITY_MINUTES, AUTHENTICATION_USER_COUNTDOWN_SECONDS, AUTHENTICATION_IDP_INACTIVITY_MINUTES } from "./authentication.service";
|
|
6
|
+
export { AUTHENTICATION_TOKEN_KEY } from "./authentication.provider";
|
|
7
|
+
export { AuthenticationComponent } from "./authentication.component";
|
|
8
|
+
export { DirectLoginComponent } from "./directlogin.component";
|
|
9
|
+
export { RouteGuardService } from "./route-guard.service";
|
|
10
|
+
export { AuthenticationService } from "./authentication.service";
|
|
11
|
+
export { TimeoutNotificationComponent } from "./timeout-notification.component";
|
|
12
|
+
export { AuthorizationInterceptor } from "./authorization.interceptor";
|
|
13
13
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hdXRoZW50aWNhdGlvbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFN0Q7O0dBRUc7QUFDSCxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IsOEJBQThCLEVBQzlCLG9CQUFvQixFQUNwQixxQ0FBcUMsRUFDckMscUNBQXFDLEVBQ3JDLHFDQUFxQyxFQUN0QyxNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRCQUE0QixDQUFBO0FBQ2xFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHlCQUF5QixDQUFBO0FBQzVELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFBO0FBQ3ZELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDBCQUEwQixDQUFBO0FBQzlELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtBdXRoZW50aWNhdGlvbk1vZHVsZX0gZnJvbSBcIi4vYXV0aGVudGljYXRpb24ubW9kdWxlXCI7XHJcblxyXG4vKipcclxuICogVGhlIGluamVjdGlvbiB0b2tlbnMgZm9yIHNlcnZpY2UgY29uZmlndXJhdGlvbi5cclxuICovXHJcbmV4cG9ydCB7XHJcbiAgQVVUSEVOVElDQVRJT05fTE9HT1VUX1BBVEgsXHJcbiAgQVVUSEVOVElDQVRJT05fU0VSVkVSX1VSTCxcclxuICBBVVRIRU5USUNBVElPTl9UT0tFTl9FTkRQT0lOVCxcclxuICBBVVRIRU5USUNBVElPTl9ESVJFQ1RfRU5EUE9JTlQsXHJcbiAgQVVUSEVOVElDQVRJT05fUk9VVEUsXHJcbiAgQVVUSEVOVElDQVRJT05fTUFYX0lOQUNUSVZJVFlfTUlOVVRFUyxcclxuICBBVVRIRU5USUNBVElPTl9VU0VSX0NPVU5URE9XTl9TRUNPTkRTLFxyXG4gIEFVVEhFTlRJQ0FUSU9OX0lEUF9JTkFDVElWSVRZX01JTlVURVNcclxufSBmcm9tIFwiLi9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQge0FVVEhFTlRJQ0FUSU9OX1RPS0VOX0tFWX0gZnJvbSBcIi4vYXV0aGVudGljYXRpb24ucHJvdmlkZXJcIjtcclxuXHJcbmV4cG9ydCB7QXV0aGVudGljYXRpb25Db21wb25lbnR9IGZyb20gXCIuL2F1dGhlbnRpY2F0aW9uLmNvbXBvbmVudFwiXHJcbmV4cG9ydCB7RGlyZWN0TG9naW5Db21wb25lbnR9IGZyb20gXCIuL2RpcmVjdGxvZ2luLmNvbXBvbmVudFwiXHJcbmV4cG9ydCB7Um91dGVHdWFyZFNlcnZpY2V9IGZyb20gXCIuL3JvdXRlLWd1YXJkLnNlcnZpY2VcIlxyXG5leHBvcnQge0F1dGhlbnRpY2F0aW9uU2VydmljZX0gZnJvbSBcIi4vYXV0aGVudGljYXRpb24uc2VydmljZVwiXHJcbmV4cG9ydCB7VGltZW91dE5vdGlmaWNhdGlvbkNvbXBvbmVudH0gZnJvbSBcIi4vdGltZW91dC1ub3RpZmljYXRpb24uY29tcG9uZW50XCI7XHJcbmV4cG9ydCB7QXV0aG9yaXphdGlvbkludGVyY2VwdG9yfSBmcm9tIFwiLi9hdXRob3JpemF0aW9uLmludGVyY2VwdG9yXCI7Il19
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary
|
|
3
|
-
*/
|
|
4
|
-
import { inject } from "@angular/core";
|
|
5
|
-
import { Router, RouterStateSnapshot } from "@angular/router";
|
|
6
|
-
import { AuthenticationService, AUTHENTICATION_ROUTE } from "./authentication.service";
|
|
7
|
-
export const RouteGuardService = () => {
|
|
8
|
-
const authenticationService = inject(AuthenticationService);
|
|
9
|
-
const router = inject(Router);
|
|
10
|
-
const state = inject(RouterStateSnapshot);
|
|
11
|
-
const authenticationRoute = inject(AUTHENTICATION_ROUTE);
|
|
12
|
-
if (authenticationService.isAuthenticated()) {
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
// Store the attempted URL for redirecting
|
|
17
|
-
authenticationService.redirectUrl = state.url;
|
|
18
|
-
// Navigate to the login page
|
|
19
|
-
return router.navigate([authenticationRoute]);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary
|
|
3
|
+
*/
|
|
4
|
+
import { inject } from "@angular/core";
|
|
5
|
+
import { Router, RouterStateSnapshot } from "@angular/router";
|
|
6
|
+
import { AuthenticationService, AUTHENTICATION_ROUTE } from "./authentication.service";
|
|
7
|
+
export const RouteGuardService = () => {
|
|
8
|
+
const authenticationService = inject(AuthenticationService);
|
|
9
|
+
const router = inject(Router);
|
|
10
|
+
const state = inject(RouterStateSnapshot);
|
|
11
|
+
const authenticationRoute = inject(AUTHENTICATION_ROUTE);
|
|
12
|
+
if (authenticationService.isAuthenticated()) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
// Store the attempted URL for redirecting
|
|
17
|
+
authenticationService.redirectUrl = state.url;
|
|
18
|
+
// Navigate to the login page
|
|
19
|
+
return router.navigate([authenticationRoute]);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtZ3VhcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2F1dGhlbnRpY2F0aW9uL3NyYy9yb3V0ZS1ndWFyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUMsTUFBTSxFQUEwQixtQkFBbUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBS3BGLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBR3JGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRTtJQUNwQyxNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzVELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLEtBQUssR0FBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN6QyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXpELElBQUkscUJBQXFCLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7U0FDSSxDQUFDO1FBQ0osMENBQTBDO1FBQzFDLHFCQUFxQixDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBRTlDLDZCQUE2QjtRQUM3QixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAxNiBIdW50c21hbiBDYW5jZXIgSW5zdGl0dXRlIGF0IHRoZSBVbml2ZXJzaXR5IG9mIFV0YWgsIENvbmZpZGVudGlhbCBhbmQgUHJvcHJpZXRhcnlcclxuICovXHJcbmltcG9ydCB7aW5qZWN0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1JvdXRlciwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyU3RhdGVTbmFwc2hvdH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge21hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5pbXBvcnQge0F1dGhlbnRpY2F0aW9uU2VydmljZSwgQVVUSEVOVElDQVRJT05fUk9VVEV9IGZyb20gXCIuL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2VcIjtcclxuXHJcblxyXG5leHBvcnQgY29uc3QgUm91dGVHdWFyZFNlcnZpY2UgPSAoKSA9PiB7XHJcbiAgY29uc3QgYXV0aGVudGljYXRpb25TZXJ2aWNlID0gaW5qZWN0KEF1dGhlbnRpY2F0aW9uU2VydmljZSk7XHJcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcbiAgY29uc3Qgc3RhdGUgPWluamVjdChSb3V0ZXJTdGF0ZVNuYXBzaG90KTtcclxuICBjb25zdCBhdXRoZW50aWNhdGlvblJvdXRlID0gaW5qZWN0KEFVVEhFTlRJQ0FUSU9OX1JPVVRFKTtcclxuXHJcbiAgaWYgKGF1dGhlbnRpY2F0aW9uU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKSkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gIGVsc2Uge1xyXG4gICAgLy8gU3RvcmUgdGhlIGF0dGVtcHRlZCBVUkwgZm9yIHJlZGlyZWN0aW5nXHJcbiAgICBhdXRoZW50aWNhdGlvblNlcnZpY2UucmVkaXJlY3RVcmwgPSBzdGF0ZS51cmw7XHJcblxyXG4gICAgLy8gTmF2aWdhdGUgdG8gdGhlIGxvZ2luIHBhZ2VcclxuICAgIHJldHVybiByb3V0ZXIubmF2aWdhdGUoW2F1dGhlbnRpY2F0aW9uUm91dGVdKTtcclxuICB9XHJcbn07XHJcblxyXG5cclxuIl19
|