@meshmakers/shared-auth 2.0.2304-14001 → 2.1.3-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 +24 -28
- package/esm2020/lib/authorize.guard.mjs +46 -46
- package/esm2020/lib/authorize.interceptor.mjs +63 -60
- package/esm2020/lib/authorize.service.mjs +134 -134
- package/esm2020/lib/login-menu/login-menu.component.mjs +35 -35
- package/esm2020/lib/shared-auth.module.mjs +44 -44
- package/esm2020/meshmakers-shared-auth.mjs +4 -4
- package/esm2020/public-api.mjs +9 -9
- package/fesm2015/meshmakers-shared-auth.mjs +297 -292
- package/fesm2015/meshmakers-shared-auth.mjs.map +1 -1
- package/fesm2020/meshmakers-shared-auth.mjs +289 -286
- package/fesm2020/meshmakers-shared-auth.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/authorize.guard.d.ts +16 -16
- package/lib/authorize.interceptor.d.ts +15 -15
- package/lib/authorize.service.d.ts +46 -46
- package/lib/login-menu/login-menu.component.d.ts +17 -17
- package/lib/shared-auth.module.d.ts +13 -13
- package/package.json +9 -4
- package/public-api.d.ts +5 -5
package/README.md
CHANGED
|
@@ -1,28 +1,24 @@
|
|
|
1
|
-
# SharedAuth
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project shared-auth` to generate a new component. You can also
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
## Further help
|
|
26
|
-
|
|
27
|
-
To get more help on the Angular CLI use `ng help` or go check out
|
|
28
|
-
the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
|
|
1
|
+
# SharedAuth
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project shared-auth` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project shared-auth`.
|
|
8
|
+
> Note: Don't forget to add `--project shared-auth` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build shared-auth` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build shared-auth`, go to the dist folder `cd dist/shared-auth` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test shared-auth` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -1,46 +1,46 @@
|
|
|
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
|
-
constructor(authorizeService, router) {
|
|
8
|
-
this.authorizeService = authorizeService;
|
|
9
|
-
this.router = router;
|
|
10
|
-
}
|
|
11
|
-
canActivate(next, state) {
|
|
12
|
-
let url = state.url;
|
|
13
|
-
return this.handleAuthorization(next, url);
|
|
14
|
-
}
|
|
15
|
-
canActivateChild(next, state) {
|
|
16
|
-
return this.canActivate(next, state);
|
|
17
|
-
}
|
|
18
|
-
canDeactivate(component, currentRoute, currentState, nextState) {
|
|
19
|
-
return true;
|
|
20
|
-
}
|
|
21
|
-
canLoad(route, segments) {
|
|
22
|
-
return true;
|
|
23
|
-
}
|
|
24
|
-
async handleAuthorization(route, url) {
|
|
25
|
-
await this.authorizeService.initialize();
|
|
26
|
-
const isAuthenticated = await firstValueFrom(this.authorizeService.getIsAuthenticated());
|
|
27
|
-
if (isAuthenticated) {
|
|
28
|
-
const userRoles = await firstValueFrom(this.authorizeService.getRoles());
|
|
29
|
-
if (route.data
|
|
30
|
-
this.router.navigate(['']);
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
this.authorizeService.login();
|
|
37
|
-
}
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
AuthorizeGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
42
|
-
AuthorizeGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
44
|
-
type: Injectable
|
|
45
|
-
}], ctorParameters: function () { return [{ type: i1.AuthorizeService }, { type: i2.Router }]; } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
|
+
constructor(authorizeService, router) {
|
|
8
|
+
this.authorizeService = authorizeService;
|
|
9
|
+
this.router = router;
|
|
10
|
+
}
|
|
11
|
+
canActivate(next, state) {
|
|
12
|
+
let url = state.url;
|
|
13
|
+
return this.handleAuthorization(next, url);
|
|
14
|
+
}
|
|
15
|
+
canActivateChild(next, state) {
|
|
16
|
+
return this.canActivate(next, state);
|
|
17
|
+
}
|
|
18
|
+
canDeactivate(component, currentRoute, currentState, nextState) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
canLoad(route, segments) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
async handleAuthorization(route, url) {
|
|
25
|
+
await this.authorizeService.initialize();
|
|
26
|
+
const isAuthenticated = await firstValueFrom(this.authorizeService.getIsAuthenticated());
|
|
27
|
+
if (isAuthenticated) {
|
|
28
|
+
const userRoles = await firstValueFrom(this.authorizeService.getRoles());
|
|
29
|
+
if (route.data['roles'] && !route.data['roles'].filter((value) => userRoles.includes(value))) {
|
|
30
|
+
this.router.navigate(['']);
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.authorizeService.login();
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
AuthorizeGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AuthorizeGuard, deps: [{ token: i1.AuthorizeService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
42
|
+
AuthorizeGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AuthorizeGuard });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AuthorizeGuard, decorators: [{
|
|
44
|
+
type: Injectable
|
|
45
|
+
}], ctorParameters: function () { return [{ type: i1.AuthorizeService }, { type: i2.Router }]; } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtYXV0aC9zcmMvbGliL2F1dGhvcml6ZS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBWXpDLE9BQU8sRUFBQyxjQUFjLEVBQTRCLE1BQU0sTUFBTSxDQUFDOzs7O0FBRy9ELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQW9CLGdCQUFrQyxFQUFVLE1BQWM7UUFBMUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDOUUsQ0FBQztJQUVELFdBQVcsQ0FDVCxJQUE0QixFQUM1QixLQUEwQjtRQUMxQixJQUFJLEdBQUcsR0FBVyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZ0JBQWdCLENBQ2QsSUFBNEIsRUFDNUIsS0FBMEI7UUFDMUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsYUFBYSxDQUNYLFNBQWtCLEVBQ2xCLFlBQW9DLEVBQ3BDLFlBQWlDLEVBQ2pDLFNBQStCO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sQ0FDTCxLQUFZLEVBQ1osUUFBc0I7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sS0FBSyxDQUFDLG1CQUFtQixDQUFDLEtBQTZCLEVBQUUsR0FBUTtRQUV2RSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUV4QyxNQUFNLGVBQWUsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLElBQUksZUFBZSxFQUFFO1lBQ25CLE1BQU0sU0FBUyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDM0IsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUNELE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTTtZQUNMLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMvQjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7MkdBaERVLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIENhbkFjdGl2YXRlLFxuICBDYW5BY3RpdmF0ZUNoaWxkLFxuICBDYW5EZWFjdGl2YXRlLFxuICBDYW5Mb2FkLCBSb3V0ZSxcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxTZWdtZW50LFxuICBVcmxUcmVlXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0F1dGhvcml6ZVNlcnZpY2V9IGZyb20gJy4vYXV0aG9yaXplLnNlcnZpY2UnO1xuaW1wb3J0IHtmaXJzdFZhbHVlRnJvbSwgbGFzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGhvcml6ZUd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUsIENhbkFjdGl2YXRlQ2hpbGQsIENhbkRlYWN0aXZhdGU8dW5rbm93bj4sIENhbkxvYWQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhvcml6ZVNlcnZpY2U6IEF1dGhvcml6ZVNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgfVxuXG4gIGNhbkFjdGl2YXRlKFxuICAgIG5leHQ6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUge1xuICAgIGxldCB1cmw6IHN0cmluZyA9IHN0YXRlLnVybDtcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVBdXRob3JpemF0aW9uKG5leHQsIHVybCk7XG4gIH1cblxuICBjYW5BY3RpdmF0ZUNoaWxkKFxuICAgIG5leHQ6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUge1xuICAgIHJldHVybiB0aGlzLmNhbkFjdGl2YXRlKG5leHQsIHN0YXRlKTtcbiAgfVxuXG4gIGNhbkRlYWN0aXZhdGUoXG4gICAgY29tcG9uZW50OiB1bmtub3duLFxuICAgIGN1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICBjdXJyZW50U3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsXG4gICAgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBjYW5Mb2FkKFxuICAgIHJvdXRlOiBSb3V0ZSxcbiAgICBzZWdtZW50czogVXJsU2VnbWVudFtdKTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlQXV0aG9yaXphdGlvbihyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgdXJsOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcblxuICAgIGF3YWl0IHRoaXMuYXV0aG9yaXplU2VydmljZS5pbml0aWFsaXplKClcblxuICAgIGNvbnN0IGlzQXV0aGVudGljYXRlZCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuYXV0aG9yaXplU2VydmljZS5nZXRJc0F1dGhlbnRpY2F0ZWQoKSk7XG4gICAgaWYgKGlzQXV0aGVudGljYXRlZCkge1xuICAgICAgY29uc3QgdXNlclJvbGVzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5hdXRob3JpemVTZXJ2aWNlLmdldFJvbGVzKCkpO1xuICAgICAgaWYgKHJvdXRlLmRhdGFbJ3JvbGVzJ10gJiYgIXJvdXRlLmRhdGFbJ3JvbGVzJ10uZmlsdGVyKCh2YWx1ZTogc3RyaW5nKSA9PiB1c2VyUm9sZXMuaW5jbHVkZXModmFsdWUpKSkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJyddKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0aG9yaXplU2VydmljZS5sb2dpbigpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -1,60 +1,63 @@
|
|
|
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
|
-
constructor(authorize) {
|
|
6
|
-
this.authorize = authorize;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
//
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
+
constructor(authorize) {
|
|
6
|
+
this.authorize = authorize;
|
|
7
|
+
this.accessToken = null;
|
|
8
|
+
authorize.getAccessToken().subscribe(value => this.accessToken = value);
|
|
9
|
+
}
|
|
10
|
+
static isSameOriginUrl(req) {
|
|
11
|
+
// It's an absolute url with the same origin.
|
|
12
|
+
if (req.url.startsWith(`${window.location.origin}/`)) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
// It's a protocol relative url with the same origin.
|
|
16
|
+
// For example: //www.example.com/api/Products
|
|
17
|
+
if (req.url.startsWith(`//${window.location.host}/`)) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
// It's a relative url like /api/Products
|
|
21
|
+
if (/^\/[^\/].*/.test(req.url)) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
// It's an absolute or protocol relative url that
|
|
25
|
+
// doesn't have the same origin.
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
// Checks if there is an access_token available in the authorize service
|
|
29
|
+
// and adds it to the request in case it's targeted at the same origin as the
|
|
30
|
+
intercept(req, next) {
|
|
31
|
+
return this.processRequestWithToken(this.accessToken, req, next);
|
|
32
|
+
}
|
|
33
|
+
// single page application.
|
|
34
|
+
processRequestWithToken(token, req, next) {
|
|
35
|
+
if (!!token && (AuthorizeInterceptor.isSameOriginUrl(req) || this.isKnownServiceUri(req))) {
|
|
36
|
+
req = req.clone({
|
|
37
|
+
setHeaders: {
|
|
38
|
+
Authorization: `Bearer ${token}`
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return next.handle(req);
|
|
43
|
+
}
|
|
44
|
+
isKnownServiceUri(req) {
|
|
45
|
+
const serviceUris = this.authorize.getServiceUris();
|
|
46
|
+
if (serviceUris) {
|
|
47
|
+
for (let i = 0; i < serviceUris.length; i++) {
|
|
48
|
+
if (req.url.startsWith(`${serviceUris[i]}`)) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// It's an absolute or protocol relative url that
|
|
54
|
+
// doesn't have the same origin.
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
AuthorizeInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AuthorizeInterceptor, deps: [{ token: i1.AuthorizeService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
59
|
+
AuthorizeInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AuthorizeInterceptor });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AuthorizeInterceptor, decorators: [{
|
|
61
|
+
type: Injectable
|
|
62
|
+
}], ctorParameters: function () { return [{ type: i1.AuthorizeService }]; } });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtYXV0aC9zcmMvbGliL2F1dGhvcml6ZS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFNekMsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUU3QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixTQUFTLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUUxRSxDQUFDO0lBRU8sTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFRO1FBQ3JDLDZDQUE2QztRQUM3QyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3BELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxxREFBcUQ7UUFDckQsOENBQThDO1FBQzlDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDcEQsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELHlDQUF5QztRQUN6QyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxpREFBaUQ7UUFDakQsZ0NBQWdDO1FBQ2hDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELHdFQUF3RTtJQUN4RSw2RUFBNkU7SUFFN0UsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELDJCQUEyQjtJQUNuQix1QkFBdUIsQ0FBQyxLQUFvQixFQUFFLEdBQXFCLEVBQUUsSUFBaUI7UUFDNUYsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ3pGLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUNkLFVBQVUsRUFBRTtvQkFDVixhQUFhLEVBQUUsVUFBVSxLQUFLLEVBQUU7aUJBQ2pDO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEdBQVE7UUFFaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUVwRCxJQUFJLFdBQVcsRUFBRTtZQUNmLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMzQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtvQkFDM0MsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtTQUNGO1FBRUQsaURBQWlEO1FBQ2pELGdDQUFnQztRQUNoQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2lIQXBFVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7QXV0aG9yaXplU2VydmljZX0gZnJvbSAnLi9hdXRob3JpemUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRob3JpemVJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgYWNjZXNzVG9rZW46IHN0cmluZyB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRob3JpemU6IEF1dGhvcml6ZVNlcnZpY2UpIHtcblxuICAgIHRoaXMuYWNjZXNzVG9rZW4gPSBudWxsO1xuICAgIGF1dGhvcml6ZS5nZXRBY2Nlc3NUb2tlbigpLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLmFjY2Vzc1Rva2VuID0gdmFsdWUpO1xuXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBpc1NhbWVPcmlnaW5VcmwocmVxOiBhbnkpIHtcbiAgICAvLyBJdCdzIGFuIGFic29sdXRlIHVybCB3aXRoIHRoZSBzYW1lIG9yaWdpbi5cbiAgICBpZiAocmVxLnVybC5zdGFydHNXaXRoKGAke3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59L2ApKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBJdCdzIGEgcHJvdG9jb2wgcmVsYXRpdmUgdXJsIHdpdGggdGhlIHNhbWUgb3JpZ2luLlxuICAgIC8vIEZvciBleGFtcGxlOiAvL3d3dy5leGFtcGxlLmNvbS9hcGkvUHJvZHVjdHNcbiAgICBpZiAocmVxLnVybC5zdGFydHNXaXRoKGAvLyR7d2luZG93LmxvY2F0aW9uLmhvc3R9L2ApKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBJdCdzIGEgcmVsYXRpdmUgdXJsIGxpa2UgL2FwaS9Qcm9kdWN0c1xuICAgIGlmICgvXlxcL1teXFwvXS4qLy50ZXN0KHJlcS51cmwpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBJdCdzIGFuIGFic29sdXRlIG9yIHByb3RvY29sIHJlbGF0aXZlIHVybCB0aGF0XG4gICAgLy8gZG9lc24ndCBoYXZlIHRoZSBzYW1lIG9yaWdpbi5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBDaGVja3MgaWYgdGhlcmUgaXMgYW4gYWNjZXNzX3Rva2VuIGF2YWlsYWJsZSBpbiB0aGUgYXV0aG9yaXplIHNlcnZpY2VcbiAgLy8gYW5kIGFkZHMgaXQgdG8gdGhlIHJlcXVlc3QgaW4gY2FzZSBpdCdzIHRhcmdldGVkIGF0IHRoZSBzYW1lIG9yaWdpbiBhcyB0aGVcblxuICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9jZXNzUmVxdWVzdFdpdGhUb2tlbih0aGlzLmFjY2Vzc1Rva2VuLCByZXEsIG5leHQpO1xuICB9XG5cbiAgLy8gc2luZ2xlIHBhZ2UgYXBwbGljYXRpb24uXG4gIHByaXZhdGUgcHJvY2Vzc1JlcXVlc3RXaXRoVG9rZW4odG9rZW46IHN0cmluZyB8IG51bGwsIHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcbiAgICBpZiAoISF0b2tlbiAmJiAoQXV0aG9yaXplSW50ZXJjZXB0b3IuaXNTYW1lT3JpZ2luVXJsKHJlcSkgfHwgdGhpcy5pc0tub3duU2VydmljZVVyaShyZXEpKSkge1xuICAgICAgcmVxID0gcmVxLmNsb25lKHtcbiAgICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0tub3duU2VydmljZVVyaShyZXE6IGFueSkge1xuXG4gICAgY29uc3Qgc2VydmljZVVyaXMgPSB0aGlzLmF1dGhvcml6ZS5nZXRTZXJ2aWNlVXJpcygpO1xuXG4gICAgaWYgKHNlcnZpY2VVcmlzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlcnZpY2VVcmlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChyZXEudXJsLnN0YXJ0c1dpdGgoYCR7c2VydmljZVVyaXNbaV19YCkpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEl0J3MgYW4gYWJzb2x1dGUgb3IgcHJvdG9jb2wgcmVsYXRpdmUgdXJsIHRoYXRcbiAgICAvLyBkb2Vzbid0IGhhdmUgdGhlIHNhbWUgb3JpZ2luLlxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|