@meshmakers/shared-auth 2.1.16-0 → 3.1.25-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/esm2022/lib/authorize.guard.mjs +48 -0
- package/esm2022/lib/authorize.interceptor.mjs +65 -0
- package/esm2022/lib/authorize.service.mjs +141 -0
- package/esm2022/lib/login-menu/login-menu.component.mjs +38 -0
- package/esm2022/lib/shared-auth.module.mjs +37 -0
- package/{esm2020 → esm2022}/public-api.mjs +1 -1
- package/{fesm2020 → fesm2022}/meshmakers-shared-auth.mjs +77 -70
- package/fesm2022/meshmakers-shared-auth.mjs.map +1 -0
- package/lib/authorize.guard.d.ts +5 -5
- package/lib/authorize.interceptor.d.ts +1 -1
- package/lib/authorize.service.d.ts +14 -14
- package/lib/login-menu/login-menu.component.d.ts +1 -1
- package/lib/shared-auth.module.d.ts +1 -1
- package/package.json +6 -12
- package/esm2020/lib/authorize.guard.mjs +0 -46
- package/esm2020/lib/authorize.interceptor.mjs +0 -63
- package/esm2020/lib/authorize.service.mjs +0 -134
- package/esm2020/lib/login-menu/login-menu.component.mjs +0 -35
- package/esm2020/lib/shared-auth.module.mjs +0 -44
- package/fesm2015/meshmakers-shared-auth.mjs +0 -325
- package/fesm2015/meshmakers-shared-auth.mjs.map +0 -1
- package/fesm2020/meshmakers-shared-auth.mjs.map +0 -1
- /package/{esm2020 → esm2022}/meshmakers-shared-auth.mjs +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { firstValueFrom } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./authorize.service";
|
|
5
|
+
import * as i2 from "@angular/router";
|
|
6
|
+
export class AuthorizeGuard {
|
|
7
|
+
authorizeService;
|
|
8
|
+
router;
|
|
9
|
+
constructor(authorizeService, router) {
|
|
10
|
+
this.authorizeService = authorizeService;
|
|
11
|
+
this.router = router;
|
|
12
|
+
}
|
|
13
|
+
canActivate(next, state) {
|
|
14
|
+
const url = state.url;
|
|
15
|
+
return this.handleAuthorization(next, url);
|
|
16
|
+
}
|
|
17
|
+
canActivateChild(next, state) {
|
|
18
|
+
return this.canActivate(next, state);
|
|
19
|
+
}
|
|
20
|
+
canDeactivate(component, currentRoute, currentState, nextState) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
canLoad(route, segments) {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
async handleAuthorization(route, url) {
|
|
27
|
+
await this.authorizeService.initialize();
|
|
28
|
+
const isAuthenticated = await firstValueFrom(this.authorizeService.getIsAuthenticated());
|
|
29
|
+
if (isAuthenticated) {
|
|
30
|
+
const userRoles = await firstValueFrom(this.authorizeService.getRoles());
|
|
31
|
+
if (route.data['roles'] && !route.data['roles'].filter((value) => userRoles.includes(value))) {
|
|
32
|
+
await this.router.navigate(['']);
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
this.authorizeService.login();
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: AuthorizeGuard, deps: [{ token: i1.AuthorizeService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: AuthorizeGuard });
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: AuthorizeGuard, decorators: [{
|
|
46
|
+
type: Injectable
|
|
47
|
+
}], ctorParameters: () => [{ type: i1.AuthorizeService }, { type: i2.Router }] });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtYXV0aC9zcmMvbGliL2F1dGhvcml6ZS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxjQUFjLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7QUFHbEQsTUFBTSxPQUFPLGNBQWM7SUFFTjtJQUNBO0lBRm5CLFlBQ21CLGdCQUFrQyxFQUNsQyxNQUFjO1FBRGQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQzlCLENBQUM7SUFFSixXQUFXLENBQ1QsSUFBNEIsRUFDNUIsS0FBMEI7UUFFMUIsTUFBTSxHQUFHLEdBQVcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGdCQUFnQixDQUNkLElBQTRCLEVBQzVCLEtBQTBCO1FBRTFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGFBQWEsQ0FDWCxTQUFrQixFQUNsQixZQUFvQyxFQUNwQyxZQUFpQyxFQUNqQyxTQUErQjtRQUUvQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWSxFQUFFLFFBQXNCO1FBQzFDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxLQUE2QixFQUFFLEdBQVE7UUFDdkUsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFekMsTUFBTSxlQUFlLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUN6RixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sU0FBUyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDckcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt1R0FsRFUsY0FBYzsyR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGUsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCwgVXJsU2VnbWVudCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBdXRob3JpemVTZXJ2aWNlIH0gZnJvbSAnLi9hdXRob3JpemUuc2VydmljZSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aG9yaXplR3VhcmQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhvcml6ZVNlcnZpY2U6IEF1dGhvcml6ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgY2FuQWN0aXZhdGUoXG4gICAgbmV4dDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdFxuICApOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUge1xuICAgIGNvbnN0IHVybDogc3RyaW5nID0gc3RhdGUudXJsO1xuICAgIHJldHVybiB0aGlzLmhhbmRsZUF1dGhvcml6YXRpb24obmV4dCwgdXJsKTtcbiAgfVxuXG4gIGNhbkFjdGl2YXRlQ2hpbGQoXG4gICAgbmV4dDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdFxuICApOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUge1xuICAgIHJldHVybiB0aGlzLmNhbkFjdGl2YXRlKG5leHQsIHN0YXRlKTtcbiAgfVxuXG4gIGNhbkRlYWN0aXZhdGUoXG4gICAgY29tcG9uZW50OiB1bmtub3duLFxuICAgIGN1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICBjdXJyZW50U3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsXG4gICAgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdFxuICApOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY2FuTG9hZChyb3V0ZTogUm91dGUsIHNlZ21lbnRzOiBVcmxTZWdtZW50W10pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVBdXRob3JpemF0aW9uKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCB1cmw6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGF3YWl0IHRoaXMuYXV0aG9yaXplU2VydmljZS5pbml0aWFsaXplKCk7XG5cbiAgICBjb25zdCBpc0F1dGhlbnRpY2F0ZWQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmF1dGhvcml6ZVNlcnZpY2UuZ2V0SXNBdXRoZW50aWNhdGVkKCkpO1xuICAgIGlmIChpc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgIGNvbnN0IHVzZXJSb2xlcyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuYXV0aG9yaXplU2VydmljZS5nZXRSb2xlcygpKTtcbiAgICAgIGlmIChyb3V0ZS5kYXRhWydyb2xlcyddICYmICFyb3V0ZS5kYXRhWydyb2xlcyddLmZpbHRlcigodmFsdWU6IHN0cmluZykgPT4gdXNlclJvbGVzLmluY2x1ZGVzKHZhbHVlKSkpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycnXSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF1dGhvcml6ZVNlcnZpY2UubG9naW4oKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./authorize.service";
|
|
4
|
+
export class AuthorizeInterceptor {
|
|
5
|
+
authorize;
|
|
6
|
+
accessToken;
|
|
7
|
+
constructor(authorize) {
|
|
8
|
+
this.authorize = authorize;
|
|
9
|
+
this.accessToken = null;
|
|
10
|
+
authorize.getAccessToken().subscribe((value) => (this.accessToken = value));
|
|
11
|
+
}
|
|
12
|
+
static isSameOriginUrl(req) {
|
|
13
|
+
// It's an absolute url with the same origin.
|
|
14
|
+
if (req.url.startsWith(`${window.location.origin}/`)) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
// It's a protocol relative url with the same origin.
|
|
18
|
+
// For example: //www.example.com/api/Products
|
|
19
|
+
if (req.url.startsWith(`//${window.location.host}/`)) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
// It's a relative url like /api/Products
|
|
23
|
+
if (/^\/[^/].*/.test(req.url)) {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
// It's an absolute or protocol relative url that
|
|
27
|
+
// doesn't have the same origin.
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
// Checks if there is an access_token available in the authorize service
|
|
31
|
+
// and adds it to the request in case it's targeted at the same origin as the
|
|
32
|
+
intercept(req, next) {
|
|
33
|
+
return this.processRequestWithToken(this.accessToken, req, next);
|
|
34
|
+
}
|
|
35
|
+
// single page application.
|
|
36
|
+
processRequestWithToken(token, req, next) {
|
|
37
|
+
if (!!token && (AuthorizeInterceptor.isSameOriginUrl(req) || this.isKnownServiceUri(req))) {
|
|
38
|
+
req = req.clone({
|
|
39
|
+
setHeaders: {
|
|
40
|
+
Authorization: `Bearer ${token}`
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return next.handle(req);
|
|
45
|
+
}
|
|
46
|
+
isKnownServiceUri(req) {
|
|
47
|
+
const serviceUris = this.authorize.getServiceUris();
|
|
48
|
+
if (serviceUris != null) {
|
|
49
|
+
for (let i = 0; i < serviceUris.length; i++) {
|
|
50
|
+
if (req.url.startsWith(`${serviceUris[i]}`)) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// It's an absolute or protocol relative url that
|
|
56
|
+
// doesn't have the same origin.
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: AuthorizeInterceptor, deps: [{ token: i1.AuthorizeService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: AuthorizeInterceptor });
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: AuthorizeInterceptor, decorators: [{
|
|
63
|
+
type: Injectable
|
|
64
|
+
}], ctorParameters: () => [{ type: i1.AuthorizeService }] });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtYXV0aC9zcmMvbGliL2F1dGhvcml6ZS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUdGO0lBRjdCLFdBQVcsQ0FBZ0I7SUFFM0IsWUFBNkIsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDdEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVPLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBcUI7UUFDbEQsNkNBQTZDO1FBQzdDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxxREFBcUQ7UUFDckQsOENBQThDO1FBQzlDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCx5Q0FBeUM7UUFDekMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELGlEQUFpRDtRQUNqRCxnQ0FBZ0M7UUFDaEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsd0VBQXdFO0lBQ3hFLDZFQUE2RTtJQUU3RSxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUNoRCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsMkJBQTJCO0lBQ25CLHVCQUF1QixDQUFDLEtBQW9CLEVBQUUsR0FBcUIsRUFBRSxJQUFpQjtRQUM1RixJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxRixHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDZCxVQUFVLEVBQUU7b0JBQ1YsYUFBYSxFQUFFLFVBQVUsS0FBSyxFQUFFO2lCQUNqQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEdBQVE7UUFDaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUVwRCxJQUFJLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUM1QyxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxpREFBaUQ7UUFDakQsZ0NBQWdDO1FBQ2hDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt1R0FoRVUsb0JBQW9COzJHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aG9yaXplU2VydmljZSB9IGZyb20gJy4vYXV0aG9yaXplLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aG9yaXplSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nIHwgbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF1dGhvcml6ZTogQXV0aG9yaXplU2VydmljZSkge1xuICAgIHRoaXMuYWNjZXNzVG9rZW4gPSBudWxsO1xuICAgIGF1dGhvcml6ZS5nZXRBY2Nlc3NUb2tlbigpLnN1YnNjcmliZSgodmFsdWUpID0+ICh0aGlzLmFjY2Vzc1Rva2VuID0gdmFsdWUpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzU2FtZU9yaWdpblVybChyZXE6IEh0dHBSZXF1ZXN0PGFueT4pOiBib29sZWFuIHtcbiAgICAvLyBJdCdzIGFuIGFic29sdXRlIHVybCB3aXRoIHRoZSBzYW1lIG9yaWdpbi5cbiAgICBpZiAocmVxLnVybC5zdGFydHNXaXRoKGAke3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59L2ApKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBJdCdzIGEgcHJvdG9jb2wgcmVsYXRpdmUgdXJsIHdpdGggdGhlIHNhbWUgb3JpZ2luLlxuICAgIC8vIEZvciBleGFtcGxlOiAvL3d3dy5leGFtcGxlLmNvbS9hcGkvUHJvZHVjdHNcbiAgICBpZiAocmVxLnVybC5zdGFydHNXaXRoKGAvLyR7d2luZG93LmxvY2F0aW9uLmhvc3R9L2ApKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBJdCdzIGEgcmVsYXRpdmUgdXJsIGxpa2UgL2FwaS9Qcm9kdWN0c1xuICAgIGlmICgvXlxcL1teL10uKi8udGVzdChyZXEudXJsKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gSXQncyBhbiBhYnNvbHV0ZSBvciBwcm90b2NvbCByZWxhdGl2ZSB1cmwgdGhhdFxuICAgIC8vIGRvZXNuJ3QgaGF2ZSB0aGUgc2FtZSBvcmlnaW4uXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQ2hlY2tzIGlmIHRoZXJlIGlzIGFuIGFjY2Vzc190b2tlbiBhdmFpbGFibGUgaW4gdGhlIGF1dGhvcml6ZSBzZXJ2aWNlXG4gIC8vIGFuZCBhZGRzIGl0IHRvIHRoZSByZXF1ZXN0IGluIGNhc2UgaXQncyB0YXJnZXRlZCBhdCB0aGUgc2FtZSBvcmlnaW4gYXMgdGhlXG5cbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMucHJvY2Vzc1JlcXVlc3RXaXRoVG9rZW4odGhpcy5hY2Nlc3NUb2tlbiwgcmVxLCBuZXh0KTtcbiAgfVxuXG4gIC8vIHNpbmdsZSBwYWdlIGFwcGxpY2F0aW9uLlxuICBwcml2YXRlIHByb2Nlc3NSZXF1ZXN0V2l0aFRva2VuKHRva2VuOiBzdHJpbmcgfCBudWxsLCByZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIGlmICghIXRva2VuICYmIChBdXRob3JpemVJbnRlcmNlcHRvci5pc1NhbWVPcmlnaW5VcmwocmVxKSB8fCB0aGlzLmlzS25vd25TZXJ2aWNlVXJpKHJlcSkpKSB7XG4gICAgICByZXEgPSByZXEuY2xvbmUoe1xuICAgICAgICBzZXRIZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWBcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gIH1cblxuICBwcml2YXRlIGlzS25vd25TZXJ2aWNlVXJpKHJlcTogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2VydmljZVVyaXMgPSB0aGlzLmF1dGhvcml6ZS5nZXRTZXJ2aWNlVXJpcygpO1xuXG4gICAgaWYgKHNlcnZpY2VVcmlzICE9IG51bGwpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VydmljZVVyaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHJlcS51cmwuc3RhcnRzV2l0aChgJHtzZXJ2aWNlVXJpc1tpXX1gKSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSXQncyBhbiBhYnNvbHV0ZSBvciBwcm90b2NvbCByZWxhdGl2ZSB1cmwgdGhhdFxuICAgIC8vIGRvZXNuJ3QgaGF2ZSB0aGUgc2FtZSBvcmlnaW4uXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, firstValueFrom } from 'rxjs';
|
|
3
|
+
import { filter, map } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "angular-oauth2-oidc";
|
|
6
|
+
export class AuthorizeOptions {
|
|
7
|
+
wellKnownServiceUris;
|
|
8
|
+
// Url of the Identity Provider
|
|
9
|
+
issuer;
|
|
10
|
+
// URL of the SPA to redirect the user to after login
|
|
11
|
+
redirectUri;
|
|
12
|
+
postLogoutRedirectUri;
|
|
13
|
+
// The SPA's id. The SPA is registered with this id at the auth-server
|
|
14
|
+
clientId;
|
|
15
|
+
// set the scope for the permissions the client should request
|
|
16
|
+
// The first three are defined by OIDC. The 4th is a use case-specific one
|
|
17
|
+
scope;
|
|
18
|
+
showDebugInformation;
|
|
19
|
+
sessionChecksEnabled;
|
|
20
|
+
}
|
|
21
|
+
export class AuthorizeService {
|
|
22
|
+
authorizeOptions;
|
|
23
|
+
oauthService;
|
|
24
|
+
isAuthenticated = new BehaviorSubject(false);
|
|
25
|
+
isAdmin = new BehaviorSubject(false);
|
|
26
|
+
isDeveloper = new BehaviorSubject(false);
|
|
27
|
+
isManager = new BehaviorSubject(false);
|
|
28
|
+
authority = new BehaviorSubject(null);
|
|
29
|
+
accessToken = new BehaviorSubject(null);
|
|
30
|
+
user = new BehaviorSubject(null);
|
|
31
|
+
isInitialized = new BehaviorSubject(false);
|
|
32
|
+
isInitializing = new BehaviorSubject(false);
|
|
33
|
+
constructor(authorizeOptions, oauthService) {
|
|
34
|
+
this.authorizeOptions = authorizeOptions;
|
|
35
|
+
this.oauthService = oauthService;
|
|
36
|
+
console.debug('AuthorizeService::created');
|
|
37
|
+
this.getUser().subscribe((s) => {
|
|
38
|
+
this.isAuthenticated.next(!(s == null));
|
|
39
|
+
this.isAdmin.next(!(s == null) && s.role.includes('Administrators'));
|
|
40
|
+
this.isDeveloper.next(!(s == null) && s.role.includes('Developers'));
|
|
41
|
+
this.isManager.next(!(s == null) && s.role.includes('Managers'));
|
|
42
|
+
});
|
|
43
|
+
this.oauthService.events.subscribe((e) => {
|
|
44
|
+
console.debug('oauth/oidc event', e);
|
|
45
|
+
});
|
|
46
|
+
this.oauthService.events.pipe(filter((e) => e.type === 'session_terminated')).subscribe((_) => {
|
|
47
|
+
console.debug('Your session has been terminated!');
|
|
48
|
+
});
|
|
49
|
+
this.oauthService.events.pipe(filter((e) => e.type === 'token_received')).subscribe((_) => {
|
|
50
|
+
this.loadUser();
|
|
51
|
+
});
|
|
52
|
+
this.oauthService.events.pipe(filter((e) => e.type === 'logout')).subscribe((_) => {
|
|
53
|
+
this.accessToken.next(null);
|
|
54
|
+
this.user.next(null);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
getRoles() {
|
|
58
|
+
return this.getUser().pipe(map((u) => (u != null ? u.role : new Array())));
|
|
59
|
+
}
|
|
60
|
+
getServiceUris() {
|
|
61
|
+
return this.authorizeOptions.wellKnownServiceUris ?? null;
|
|
62
|
+
}
|
|
63
|
+
getAuthority() {
|
|
64
|
+
return this.authority;
|
|
65
|
+
}
|
|
66
|
+
getIsAuthenticated() {
|
|
67
|
+
return this.isAuthenticated;
|
|
68
|
+
}
|
|
69
|
+
getIsAdmin() {
|
|
70
|
+
return this.isAdmin;
|
|
71
|
+
}
|
|
72
|
+
getIsDeveloper() {
|
|
73
|
+
return this.isDeveloper;
|
|
74
|
+
}
|
|
75
|
+
getIsManager() {
|
|
76
|
+
return this.isManager;
|
|
77
|
+
}
|
|
78
|
+
getAccessToken() {
|
|
79
|
+
return this.accessToken;
|
|
80
|
+
}
|
|
81
|
+
getUser() {
|
|
82
|
+
return this.user;
|
|
83
|
+
}
|
|
84
|
+
login() {
|
|
85
|
+
this.oauthService.initImplicitFlow();
|
|
86
|
+
}
|
|
87
|
+
logout() {
|
|
88
|
+
this.oauthService.logOut(false);
|
|
89
|
+
}
|
|
90
|
+
async initialize() {
|
|
91
|
+
console.debug('AuthorizeService::initialize::started');
|
|
92
|
+
if (await firstValueFrom(this.isInitializing)) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (await firstValueFrom(this.isInitialized)) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
this.isInitializing.next(true);
|
|
99
|
+
const config = {
|
|
100
|
+
responseType: 'code',
|
|
101
|
+
issuer: this.authorizeOptions.issuer,
|
|
102
|
+
redirectUri: this.authorizeOptions.redirectUri,
|
|
103
|
+
postLogoutRedirectUri: this.authorizeOptions.postLogoutRedirectUri,
|
|
104
|
+
clientId: this.authorizeOptions.clientId,
|
|
105
|
+
scope: this.authorizeOptions.scope,
|
|
106
|
+
showDebugInformation: this.authorizeOptions.showDebugInformation,
|
|
107
|
+
sessionChecksEnabled: this.authorizeOptions.sessionChecksEnabled
|
|
108
|
+
};
|
|
109
|
+
this.oauthService.configure(config);
|
|
110
|
+
this.oauthService.setStorage(localStorage);
|
|
111
|
+
await this.oauthService.loadDiscoveryDocumentAndTryLogin();
|
|
112
|
+
this.oauthService.setupAutomaticSilentRefresh();
|
|
113
|
+
if (this.oauthService.hasValidAccessToken()) {
|
|
114
|
+
this.loadUser();
|
|
115
|
+
}
|
|
116
|
+
this.authority.next(this.authorizeOptions.issuer ?? null);
|
|
117
|
+
this.isInitializing.next(false);
|
|
118
|
+
this.isInitialized.next(true);
|
|
119
|
+
console.debug('AuthorizeService::initialize::done');
|
|
120
|
+
}
|
|
121
|
+
loadUser() {
|
|
122
|
+
const claims = this.oauthService.getIdentityClaims();
|
|
123
|
+
if (!claims) {
|
|
124
|
+
console.error('claims where null when loading identity claims');
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const user = claims;
|
|
128
|
+
const accessToken = this.oauthService.getAccessToken();
|
|
129
|
+
this.user.next(user);
|
|
130
|
+
this.accessToken.next(accessToken);
|
|
131
|
+
}
|
|
132
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: AuthorizeService, deps: [{ token: AuthorizeOptions }, { token: i1.OAuthService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
133
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: AuthorizeService });
|
|
134
|
+
}
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: AuthorizeService, decorators: [{
|
|
136
|
+
type: Injectable
|
|
137
|
+
}], ctorParameters: () => [{ type: AuthorizeOptions, decorators: [{
|
|
138
|
+
type: Inject,
|
|
139
|
+
args: [AuthorizeOptions]
|
|
140
|
+
}] }, { type: i1.OAuthService }] });
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1hdXRoL3NyYy9saWIvYXV0aG9yaXplLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBUTdDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0Isb0JBQW9CLENBQVk7SUFDaEMsK0JBQStCO0lBQy9CLE1BQU0sQ0FBVTtJQUNoQixxREFBcUQ7SUFDckQsV0FBVyxDQUFVO0lBQ3JCLHFCQUFxQixDQUFVO0lBQy9CLHNFQUFzRTtJQUN0RSxRQUFRLENBQVU7SUFDbEIsOERBQThEO0lBQzlELDBFQUEwRTtJQUMxRSxLQUFLLENBQVU7SUFDZixvQkFBb0IsQ0FBVztJQUMvQixvQkFBb0IsQ0FBVztDQUNoQztBQUdELE1BQU0sT0FBTyxnQkFBZ0I7SUFnQlI7SUFDQTtJQWhCRixlQUFlLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDdEQsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzlDLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUNsRCxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEQsU0FBUyxHQUFtQyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7SUFFckYsV0FBVyxHQUFtQyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7SUFFdkYsSUFBSSxHQUFrQyxJQUFJLGVBQWUsQ0FB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LENBQUM7UUFDckQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1lBQ2hFLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQVUsTUFBTSxDQUFDO1FBQzNCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckMsQ0FBQzt1R0E1SVUsZ0JBQWdCLGtCQWVqQixnQkFBZ0I7MkdBZmYsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVOzswQkFnQk4sTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXV0aENvbmZpZywgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVzZXIge1xuICBuYW1lOiBzdHJpbmc7XG4gIHJvbGU6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgQXV0aG9yaXplT3B0aW9ucyB7XG4gIHdlbGxLbm93blNlcnZpY2VVcmlzPzogc3RyaW5nW107XG4gIC8vIFVybCBvZiB0aGUgSWRlbnRpdHkgUHJvdmlkZXJcbiAgaXNzdWVyPzogc3RyaW5nO1xuICAvLyBVUkwgb2YgdGhlIFNQQSB0byByZWRpcmVjdCB0aGUgdXNlciB0byBhZnRlciBsb2dpblxuICByZWRpcmVjdFVyaT86IHN0cmluZztcbiAgcG9zdExvZ291dFJlZGlyZWN0VXJpPzogc3RyaW5nO1xuICAvLyBUaGUgU1BBJ3MgaWQuIFRoZSBTUEEgaXMgcmVnaXN0ZXJlZCB3aXRoIHRoaXMgaWQgYXQgdGhlIGF1dGgtc2VydmVyXG4gIGNsaWVudElkPzogc3RyaW5nO1xuICAvLyBzZXQgdGhlIHNjb3BlIGZvciB0aGUgcGVybWlzc2lvbnMgdGhlIGNsaWVudCBzaG91bGQgcmVxdWVzdFxuICAvLyBUaGUgZmlyc3QgdGhyZWUgYXJlIGRlZmluZWQgYnkgT0lEQy4gVGhlIDR0aCBpcyBhIHVzZSBjYXNlLXNwZWNpZmljIG9uZVxuICBzY29wZT86IHN0cmluZztcbiAgc2hvd0RlYnVnSW5mb3JtYXRpb24/OiBib29sZWFuO1xuICBzZXNzaW9uQ2hlY2tzRW5hYmxlZD86IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRob3JpemVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBpc0F1dGhlbnRpY2F0ZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpc0FkbWluID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaXNEZXZlbG9wZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpc01hbmFnZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhdXRob3JpdHk6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhY2Nlc3NUb2tlbjogQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHVzZXI6IEJlaGF2aW9yU3ViamVjdDxJVXNlciB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJVXNlciB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNJbml0aWFsaXplZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGlzSW5pdGlhbGl6aW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChBdXRob3JpemVPcHRpb25zKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aG9yaXplT3B0aW9uczogQXV0aG9yaXplT3B0aW9ucyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlXG4gICkge1xuICAgIGNvbnNvbGUuZGVidWcoJ0F1dGhvcml6ZVNlcnZpY2U6OmNyZWF0ZWQnKTtcblxuICAgIHRoaXMuZ2V0VXNlcigpLnN1YnNjcmliZSgocykgPT4ge1xuICAgICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWQubmV4dCghKHMgPT0gbnVsbCkpO1xuICAgICAgdGhpcy5pc0FkbWluLm5leHQoIShzID09IG51bGwpICYmIHMucm9sZS5pbmNsdWRlcygnQWRtaW5pc3RyYXRvcnMnKSk7XG4gICAgICB0aGlzLmlzRGV2ZWxvcGVyLm5leHQoIShzID09IG51bGwpICYmIHMucm9sZS5pbmNsdWRlcygnRGV2ZWxvcGVycycpKTtcbiAgICAgIHRoaXMuaXNNYW5hZ2VyLm5leHQoIShzID09IG51bGwpICYmIHMucm9sZS5pbmNsdWRlcygnTWFuYWdlcnMnKSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICBjb25zb2xlLmRlYnVnKCdvYXV0aC9vaWRjIGV2ZW50JywgZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShmaWx0ZXIoKGUpID0+IGUudHlwZSA9PT0gJ3Nlc3Npb25fdGVybWluYXRlZCcpKS5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgIGNvbnNvbGUuZGVidWcoJ1lvdXIgc2Vzc2lvbiBoYXMgYmVlbiB0ZXJtaW5hdGVkIScpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUoZmlsdGVyKChlKSA9PiBlLnR5cGUgPT09ICd0b2tlbl9yZWNlaXZlZCcpKS5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgIHRoaXMubG9hZFVzZXIoKTtcbiAgICB9KTtcblxuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmV2ZW50cy5waXBlKGZpbHRlcigoZSkgPT4gZS50eXBlID09PSAnbG9nb3V0JykpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgdGhpcy5hY2Nlc3NUb2tlbi5uZXh0KG51bGwpO1xuICAgICAgdGhpcy51c2VyLm5leHQobnVsbCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Um9sZXMoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKS5waXBlKG1hcCgodSkgPT4gKHUgIT0gbnVsbCA/IHUucm9sZSA6IG5ldyBBcnJheTxzdHJpbmc+KCkpKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VydmljZVVyaXMoKTogc3RyaW5nW10gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5hdXRob3JpemVPcHRpb25zLndlbGxLbm93blNlcnZpY2VVcmlzID8/IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0QXV0aG9yaXR5KCk6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aG9yaXR5O1xuICB9XG5cbiAgcHVibGljIGdldElzQXV0aGVudGljYXRlZCgpOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmlzQXV0aGVudGljYXRlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJc0FkbWluKCk6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBZG1pbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJc0RldmVsb3BlcigpOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmlzRGV2ZWxvcGVyO1xuICB9XG5cbiAgcHVibGljIGdldElzTWFuYWdlcigpOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmlzTWFuYWdlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBY2Nlc3NUb2tlbigpOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmFjY2Vzc1Rva2VuO1xuICB9XG5cbiAgcHVibGljIGdldFVzZXIoKTogQmVoYXZpb3JTdWJqZWN0PElVc2VyIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnVzZXI7XG4gIH1cblxuICBwdWJsaWMgbG9naW4oKTogdm9pZCB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuaW5pdEltcGxpY2l0RmxvdygpO1xuICB9XG5cbiAgcHVibGljIGxvZ291dCgpOiB2b2lkIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5sb2dPdXQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc29sZS5kZWJ1ZygnQXV0aG9yaXplU2VydmljZTo6aW5pdGlhbGl6ZTo6c3RhcnRlZCcpO1xuXG4gICAgaWYgKGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaXNJbml0aWFsaXppbmcpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmlzSW5pdGlhbGl6ZWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNJbml0aWFsaXppbmcubmV4dCh0cnVlKTtcblxuICAgIGNvbnN0IGNvbmZpZzogQXV0aENvbmZpZyA9IHtcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2NvZGUnLFxuICAgICAgaXNzdWVyOiB0aGlzLmF1dGhvcml6ZU9wdGlvbnMuaXNzdWVyLFxuICAgICAgcmVkaXJlY3RVcmk6IHRoaXMuYXV0aG9yaXplT3B0aW9ucy5yZWRpcmVjdFVyaSxcbiAgICAgIHBvc3RMb2dvdXRSZWRpcmVjdFVyaTogdGhpcy5hdXRob3JpemVPcHRpb25zLnBvc3RMb2dvdXRSZWRpcmVjdFVyaSxcbiAgICAgIGNsaWVudElkOiB0aGlzLmF1dGhvcml6ZU9wdGlvbnMuY2xpZW50SWQsXG4gICAgICBzY29wZTogdGhpcy5hdXRob3JpemVPcHRpb25zLnNjb3BlLFxuICAgICAgc2hvd0RlYnVnSW5mb3JtYXRpb246IHRoaXMuYXV0aG9yaXplT3B0aW9ucy5zaG93RGVidWdJbmZvcm1hdGlvbixcbiAgICAgIHNlc3Npb25DaGVja3NFbmFibGVkOiB0aGlzLmF1dGhvcml6ZU9wdGlvbnMuc2Vzc2lvbkNoZWNrc0VuYWJsZWRcbiAgICB9O1xuXG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuY29uZmlndXJlKGNvbmZpZyk7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2Uuc2V0U3RvcmFnZShsb2NhbFN0b3JhZ2UpO1xuICAgIGF3YWl0IHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudEFuZFRyeUxvZ2luKCk7XG5cbiAgICB0aGlzLm9hdXRoU2VydmljZS5zZXR1cEF1dG9tYXRpY1NpbGVudFJlZnJlc2goKTtcblxuICAgIGlmICh0aGlzLm9hdXRoU2VydmljZS5oYXNWYWxpZEFjY2Vzc1Rva2VuKCkpIHtcbiAgICAgIHRoaXMubG9hZFVzZXIoKTtcbiAgICB9XG5cbiAgICB0aGlzLmF1dGhvcml0eS5uZXh0KHRoaXMuYXV0aG9yaXplT3B0aW9ucy5pc3N1ZXIgPz8gbnVsbCk7XG4gICAgdGhpcy5pc0luaXRpYWxpemluZy5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWQubmV4dCh0cnVlKTtcblxuICAgIGNvbnNvbGUuZGVidWcoJ0F1dGhvcml6ZVNlcnZpY2U6OmluaXRpYWxpemU6OmRvbmUnKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZFVzZXIoKTogdm9pZCB7XG4gICAgY29uc3QgY2xhaW1zID0gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0SWRlbnRpdHlDbGFpbXMoKTtcbiAgICBpZiAoIWNsYWltcykge1xuICAgICAgY29uc29sZS5lcnJvcignY2xhaW1zIHdoZXJlIG51bGwgd2hlbiBsb2FkaW5nIGlkZW50aXR5IGNsYWltcycpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHVzZXIgPSA8SVVzZXI+Y2xhaW1zO1xuICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKTtcbiAgICB0aGlzLnVzZXIubmV4dCh1c2VyKTtcbiAgICB0aGlzLmFjY2Vzc1Rva2VuLm5leHQoYWNjZXNzVG9rZW4pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../authorize.service";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
export class LoginMenuComponent {
|
|
7
|
+
authorizeService;
|
|
8
|
+
isAuthenticated;
|
|
9
|
+
userName;
|
|
10
|
+
isAdmin;
|
|
11
|
+
constructor(authorizeService) {
|
|
12
|
+
this.authorizeService = authorizeService;
|
|
13
|
+
this.isAuthenticated = this.authorizeService.getIsAuthenticated();
|
|
14
|
+
this.userName = this.authorizeService.getUser().pipe(map((u) => u?.name ?? null));
|
|
15
|
+
this.isAdmin = this.authorizeService.getIsAdmin();
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
const isIFrame = window.self !== window.top;
|
|
19
|
+
console.log('app-login-menu::created');
|
|
20
|
+
this.isAuthenticated.subscribe((x) => {
|
|
21
|
+
console.log(`isAuthenticated changed to ${x} (iframe ${isIFrame})`);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
login() {
|
|
25
|
+
this.authorizeService.login();
|
|
26
|
+
}
|
|
27
|
+
logout() {
|
|
28
|
+
this.authorizeService.logout();
|
|
29
|
+
}
|
|
30
|
+
register() { }
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: LoginMenuComponent, deps: [{ token: i1.AuthorizeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: LoginMenuComponent, selector: "app-login-menu", ngImport: i0, template: "<ul *ngIf=\"isAuthenticated | async\" class=\"navbar-nav\">\n <li class=\"nav-item dropdown\">\n <a aria-expanded=\"false\" aria-haspopup=\"true\" class=\"nav-link dropdown-toggle\" data-toggle=\"dropdown\" href=\"#\"\n id=\"navbarDropdownLogin\" role=\"button\">\n {{ userName | async }} <b class=\"caret\"></b>\n </a>\n <div aria-labelledby=\"navbarDropdown\" class=\"dropdown-menu\">\n <!--<a class=\"dropdown-item\" asp-action=\"Index\" asp-area=\"Authentication\" asp-controller=\"Grants\">Client Application Access</a>-->\n <!--<a class=\"dropdown-item\" [routerLink]='[\"/authentication/profile\"]' title=\"Manage\">Manage</a>-->\n <!--<a class=\"dropdown-item\" asp-action=\"Index\" asp-area=\"Authentication\" asp-controller=\"Diagnostics\">Diagnostics</a>-->\n <div class=\"dropdown-divider\"></div>\n <a (click)='logout()' class=\"dropdown-item\" routerLink=\"\" title=\"Logout\">Logout</a>\n </div>\n </li>\n</ul>\n<ul *ngIf=\"!(isAuthenticated | async)\" class=\"navbar-nav\">\n <li class=\"nav-item\">\n <a (click)='register()' class=\"nav-link\" routerLink=\"\">Register</a>\n </li>\n <li class=\"nav-item\">\n <a (click)='login()' class=\"nav-link\" routerLink=\"\">Login</a>\n </li>\n</ul>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: LoginMenuComponent, decorators: [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{ selector: 'app-login-menu', template: "<ul *ngIf=\"isAuthenticated | async\" class=\"navbar-nav\">\n <li class=\"nav-item dropdown\">\n <a aria-expanded=\"false\" aria-haspopup=\"true\" class=\"nav-link dropdown-toggle\" data-toggle=\"dropdown\" href=\"#\"\n id=\"navbarDropdownLogin\" role=\"button\">\n {{ userName | async }} <b class=\"caret\"></b>\n </a>\n <div aria-labelledby=\"navbarDropdown\" class=\"dropdown-menu\">\n <!--<a class=\"dropdown-item\" asp-action=\"Index\" asp-area=\"Authentication\" asp-controller=\"Grants\">Client Application Access</a>-->\n <!--<a class=\"dropdown-item\" [routerLink]='[\"/authentication/profile\"]' title=\"Manage\">Manage</a>-->\n <!--<a class=\"dropdown-item\" asp-action=\"Index\" asp-area=\"Authentication\" asp-controller=\"Diagnostics\">Diagnostics</a>-->\n <div class=\"dropdown-divider\"></div>\n <a (click)='logout()' class=\"dropdown-item\" routerLink=\"\" title=\"Logout\">Logout</a>\n </div>\n </li>\n</ul>\n<ul *ngIf=\"!(isAuthenticated | async)\" class=\"navbar-nav\">\n <li class=\"nav-item\">\n <a (click)='register()' class=\"nav-link\" routerLink=\"\">Register</a>\n </li>\n <li class=\"nav-item\">\n <a (click)='login()' class=\"nav-link\" routerLink=\"\">Login</a>\n </li>\n</ul>\n" }]
|
|
37
|
+
}], ctorParameters: () => [{ type: i1.AuthorizeService }] });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1hdXRoL3NyYy9saWIvbG9naW4tbWVudS9sb2dpbi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLWF1dGgvc3JjL2xpYi9sb2dpbi1tZW51L2xvZ2luLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUdsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFPckMsTUFBTSxPQUFPLGtCQUFrQjtJQUtBO0lBSnRCLGVBQWUsQ0FBMkI7SUFDMUMsUUFBUSxDQUE0QjtJQUNwQyxPQUFPLENBQXNCO0lBRXBDLFlBQTZCLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQzdELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBRTVDLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsWUFBWSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLFFBQVEsS0FBVSxDQUFDO3VHQTdCZixrQkFBa0I7MkZBQWxCLGtCQUFrQixzRENWL0Isc3ZDQXVCQTs7MkZEYmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRob3JpemVTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aG9yaXplLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1sb2dpbi1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sb2dpbi1tZW51LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbk1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgaXNBdXRoZW50aWNhdGVkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gIHB1YmxpYyB1c2VyTmFtZTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPjtcbiAgcHVibGljIGlzQWRtaW46IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhdXRob3JpemVTZXJ2aWNlOiBBdXRob3JpemVTZXJ2aWNlKSB7XG4gICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWQgPSB0aGlzLmF1dGhvcml6ZVNlcnZpY2UuZ2V0SXNBdXRoZW50aWNhdGVkKCk7XG4gICAgdGhpcy51c2VyTmFtZSA9IHRoaXMuYXV0aG9yaXplU2VydmljZS5nZXRVc2VyKCkucGlwZShtYXAoKHUpID0+IHU/Lm5hbWUgPz8gbnVsbCkpO1xuICAgIHRoaXMuaXNBZG1pbiA9IHRoaXMuYXV0aG9yaXplU2VydmljZS5nZXRJc0FkbWluKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBpc0lGcmFtZSA9IHdpbmRvdy5zZWxmICE9PSB3aW5kb3cudG9wO1xuXG4gICAgY29uc29sZS5sb2coJ2FwcC1sb2dpbi1tZW51OjpjcmVhdGVkJyk7XG5cbiAgICB0aGlzLmlzQXV0aGVudGljYXRlZC5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKGBpc0F1dGhlbnRpY2F0ZWQgY2hhbmdlZCB0byAke3h9IChpZnJhbWUgJHtpc0lGcmFtZX0pYCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbG9naW4oKTogdm9pZCB7XG4gICAgdGhpcy5hdXRob3JpemVTZXJ2aWNlLmxvZ2luKCk7XG4gIH1cblxuICBwdWJsaWMgbG9nb3V0KCk6IHZvaWQge1xuICAgIHRoaXMuYXV0aG9yaXplU2VydmljZS5sb2dvdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3RlcigpOiB2b2lkIHt9XG59XG4iLCI8dWwgKm5nSWY9XCJpc0F1dGhlbnRpY2F0ZWQgfCBhc3luY1wiIGNsYXNzPVwibmF2YmFyLW5hdlwiPlxuICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBkcm9wZG93blwiPlxuICAgIDxhIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgY2xhc3M9XCJuYXYtbGluayBkcm9wZG93bi10b2dnbGVcIiBkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCIgaHJlZj1cIiNcIlxuICAgICAgIGlkPVwibmF2YmFyRHJvcGRvd25Mb2dpblwiIHJvbGU9XCJidXR0b25cIj5cbiAgICAgIHt7IHVzZXJOYW1lIHwgYXN5bmMgfX0gPGIgY2xhc3M9XCJjYXJldFwiPjwvYj5cbiAgICA8L2E+XG4gICAgPGRpdiBhcmlhLWxhYmVsbGVkYnk9XCJuYXZiYXJEcm9wZG93blwiIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxuICAgICAgPCEtLTxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGFzcC1hY3Rpb249XCJJbmRleFwiIGFzcC1hcmVhPVwiQXV0aGVudGljYXRpb25cIiBhc3AtY29udHJvbGxlcj1cIkdyYW50c1wiPkNsaWVudCBBcHBsaWNhdGlvbiBBY2Nlc3M8L2E+LS0+XG4gICAgICA8IS0tPGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgW3JvdXRlckxpbmtdPSdbXCIvYXV0aGVudGljYXRpb24vcHJvZmlsZVwiXScgdGl0bGU9XCJNYW5hZ2VcIj5NYW5hZ2U8L2E+LS0+XG4gICAgICA8IS0tPGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgYXNwLWFjdGlvbj1cIkluZGV4XCIgYXNwLWFyZWE9XCJBdXRoZW50aWNhdGlvblwiIGFzcC1jb250cm9sbGVyPVwiRGlhZ25vc3RpY3NcIj5EaWFnbm9zdGljczwvYT4tLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1kaXZpZGVyXCI+PC9kaXY+XG4gICAgICA8YSAoY2xpY2spPSdsb2dvdXQoKScgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgcm91dGVyTGluaz1cIlwiIHRpdGxlPVwiTG9nb3V0XCI+TG9nb3V0PC9hPlxuICAgIDwvZGl2PlxuICA8L2xpPlxuPC91bD5cbjx1bCAqbmdJZj1cIiEoaXNBdXRoZW50aWNhdGVkIHwgYXN5bmMpXCIgY2xhc3M9XCJuYXZiYXItbmF2XCI+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCI+XG4gICAgPGEgKGNsaWNrKT0ncmVnaXN0ZXIoKScgY2xhc3M9XCJuYXYtbGlua1wiIHJvdXRlckxpbms9XCJcIj5SZWdpc3RlcjwvYT5cbiAgPC9saT5cbiAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj5cbiAgICA8YSAoY2xpY2spPSdsb2dpbigpJyBjbGFzcz1cIm5hdi1saW5rXCIgcm91dGVyTGluaz1cIlwiPkxvZ2luPC9hPlxuICA8L2xpPlxuPC91bD5cbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
4
|
+
import { LoginMenuComponent } from './login-menu/login-menu.component';
|
|
5
|
+
import { AuthorizeOptions, AuthorizeService } from './authorize.service';
|
|
6
|
+
import { OAuthModule } from 'angular-oauth2-oidc';
|
|
7
|
+
import { AuthorizeGuard } from './authorize.guard';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "angular-oauth2-oidc";
|
|
10
|
+
export class SharedAuthModule {
|
|
11
|
+
static forRoot(authorizeOptions) {
|
|
12
|
+
return {
|
|
13
|
+
ngModule: SharedAuthModule,
|
|
14
|
+
providers: [
|
|
15
|
+
{
|
|
16
|
+
provide: AuthorizeOptions,
|
|
17
|
+
useValue: authorizeOptions
|
|
18
|
+
},
|
|
19
|
+
AuthorizeService,
|
|
20
|
+
AuthorizeGuard
|
|
21
|
+
]
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SharedAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
25
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: SharedAuthModule, declarations: [LoginMenuComponent], imports: [CommonModule, HttpClientModule, i1.OAuthModule], exports: [LoginMenuComponent] });
|
|
26
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SharedAuthModule, imports: [CommonModule, HttpClientModule, OAuthModule.forRoot()] });
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SharedAuthModule, decorators: [{
|
|
29
|
+
type: NgModule,
|
|
30
|
+
args: [{
|
|
31
|
+
declarations: [LoginMenuComponent],
|
|
32
|
+
exports: [LoginMenuComponent],
|
|
33
|
+
providers: [],
|
|
34
|
+
imports: [CommonModule, HttpClientModule, OAuthModule.forRoot()]
|
|
35
|
+
}]
|
|
36
|
+
}] });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWF1dGgubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtYXV0aC9zcmMvbGliL3NoYXJlZC1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBUW5ELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBa0M7UUFDL0MsT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxnQkFBZ0I7b0JBQ3pCLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCO2dCQUNELGdCQUFnQjtnQkFDaEIsY0FBYzthQUNmO1NBQ0YsQ0FBQztJQUNKLENBQUM7dUdBYlUsZ0JBQWdCO3dHQUFoQixnQkFBZ0IsaUJBTFosa0JBQWtCLGFBR3ZCLFlBQVksRUFBRSxnQkFBZ0IsNkJBRjlCLGtCQUFrQjt3R0FJakIsZ0JBQWdCLFlBRmpCLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFOzsyRkFFcEQsZ0JBQWdCO2tCQU41QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUNsQyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDN0IsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDakUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBMb2dpbk1lbnVDb21wb25lbnQgfSBmcm9tICcuL2xvZ2luLW1lbnUvbG9naW4tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0aG9yaXplT3B0aW9ucywgQXV0aG9yaXplU2VydmljZSB9IGZyb20gJy4vYXV0aG9yaXplLnNlcnZpY2UnO1xuaW1wb3J0IHsgT0F1dGhNb2R1bGUgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IEF1dGhvcml6ZUd1YXJkIH0gZnJvbSAnLi9hdXRob3JpemUuZ3VhcmQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtMb2dpbk1lbnVDb21wb25lbnRdLFxuICBleHBvcnRzOiBbTG9naW5NZW51Q29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSHR0cENsaWVudE1vZHVsZSwgT0F1dGhNb2R1bGUuZm9yUm9vdCgpXVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRBdXRoTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoYXV0aG9yaXplT3B0aW9uczogQXV0aG9yaXplT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U2hhcmVkQXV0aE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogU2hhcmVkQXV0aE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQXV0aG9yaXplT3B0aW9ucyxcbiAgICAgICAgICB1c2VWYWx1ZTogYXV0aG9yaXplT3B0aW9uc1xuICAgICAgICB9LFxuICAgICAgICBBdXRob3JpemVTZXJ2aWNlLFxuICAgICAgICBBdXRob3JpemVHdWFyZFxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,4 +6,4 @@ export * from './lib/login-menu/login-menu.component';
|
|
|
6
6
|
export * from './lib/shared-auth.module';
|
|
7
7
|
export * from './lib/authorize.interceptor';
|
|
8
8
|
export * from './lib/authorize.guard';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLWF1dGgvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNoYXJlZC1hdXRoXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0aG9yaXplLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9naW4tbWVudS9sb2dpbi1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQtYXV0aC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0aG9yaXplLmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGhvcml6ZS5ndWFyZCc7XG4iXX0=
|