imng-oidc-client 4.102.10
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 +50 -0
- package/esm2020/imng-oidc-client.mjs +5 -0
- package/esm2020/index.mjs +24 -0
- package/esm2020/lib/+state/oidc-user.facade.mjs +28 -0
- package/esm2020/lib/+state/oidc-user.selectors.mjs +13 -0
- package/esm2020/lib/+state/oidc.actions.mjs +37 -0
- package/esm2020/lib/+state/oidc.effects.mjs +66 -0
- package/esm2020/lib/+state/oidc.facade.mjs +136 -0
- package/esm2020/lib/+state/oidc.reducer.mjs +93 -0
- package/esm2020/lib/+state/oidc.selectors.mjs +40 -0
- package/esm2020/lib/components/access-denied.component.mjs +14 -0
- package/esm2020/lib/components/logout-success.component.mjs +18 -0
- package/esm2020/lib/img-oidc-client-routing.module.mjs +44 -0
- package/esm2020/lib/imng-oidc-client.module.mjs +96 -0
- package/esm2020/lib/models/arguments.model.mjs +2 -0
- package/esm2020/lib/models/constants.mjs +17 -0
- package/esm2020/lib/models/oidc-client-config.mjs +3 -0
- package/esm2020/lib/models/oidc-library-config.mjs +3 -0
- package/esm2020/lib/models/oidc-user-profile.mjs +2 -0
- package/esm2020/lib/models/oidc-user.mjs +2 -0
- package/esm2020/lib/services/auth-guard.mjs +40 -0
- package/esm2020/lib/services/oidc.service.mjs +166 -0
- package/esm2020/lib/services/permissions.guard.mjs +22 -0
- package/esm2020/lib/services/token-interceptor.service.mjs +35 -0
- package/esm2020/lib/support/support.component.mjs +85 -0
- package/esm2020/lib/util/jwt-decoder.mjs +11 -0
- package/esm2020/lib/util/oidc-client-configurator.mjs +24 -0
- package/fesm2015/imng-oidc-client.mjs +844 -0
- package/fesm2015/imng-oidc-client.mjs.map +1 -0
- package/fesm2020/imng-oidc-client.mjs +907 -0
- package/fesm2020/imng-oidc-client.mjs.map +1 -0
- package/imng-oidc-client.d.ts +5 -0
- package/index.d.ts +23 -0
- package/lib/+state/oidc-user.facade.d.ts +16 -0
- package/lib/+state/oidc-user.selectors.d.ts +7 -0
- package/lib/+state/oidc.actions.d.ts +72 -0
- package/lib/+state/oidc.effects.d.ts +58 -0
- package/lib/+state/oidc.facade.d.ts +56 -0
- package/lib/+state/oidc.reducer.d.ts +22 -0
- package/lib/+state/oidc.selectors.d.ts +20 -0
- package/lib/components/access-denied.component.d.ts +5 -0
- package/lib/components/logout-success.component.d.ts +5 -0
- package/lib/img-oidc-client-routing.module.d.ts +12 -0
- package/lib/imng-oidc-client.module.d.ts +17 -0
- package/lib/models/arguments.model.d.ts +21 -0
- package/lib/models/constants.d.ts +14 -0
- package/lib/models/oidc-client-config.d.ts +12 -0
- package/lib/models/oidc-library-config.d.ts +12 -0
- package/lib/models/oidc-user-profile.d.ts +4 -0
- package/lib/models/oidc-user.d.ts +15 -0
- package/lib/services/auth-guard.d.ts +14 -0
- package/lib/services/oidc.service.d.ts +37 -0
- package/lib/services/permissions.guard.d.ts +12 -0
- package/lib/services/token-interceptor.service.d.ts +12 -0
- package/lib/support/support.component.d.ts +15 -0
- package/lib/util/jwt-decoder.d.ts +1 -0
- package/lib/util/oidc-client-configurator.d.ts +3 -0
- package/package.json +54 -0
- package/src/assets/callback.html +44 -0
- package/src/assets/oidc-client.rsa256.slim.min.js +3 -0
- package/src/assets/renew-callback.html +18 -0
- package/src/assets/signout-callback.html +29 -0
package/README.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# imng-oidc-client
|
|
2
|
+
|
|
3
|
+
To utilize this library you will need to be in an Angular Application running NGRX.
|
|
4
|
+
|
|
5
|
+
In addition, you'll need to deploy these three files to the root of your site:
|
|
6
|
+
|
|
7
|
+
- callback.html -> [./src/assets/signout-callback.html](./src/assets/signout-callback.html)
|
|
8
|
+
- renew-callback.html -> [./src/assets/signout-callback.html](./src/assets/signout-callback.html)
|
|
9
|
+
- signout-callback.html -> [./src/assets/signout-callback.html](./src/assets/signout-callback.html)
|
|
10
|
+
|
|
11
|
+
To facilitate this last requirement, I recommend you utilize your angular.json and automate this process.
|
|
12
|
+
|
|
13
|
+
Open up your angular.json and navigate to the node for your project. Let's assume your project name is MyAngularProject and the folder name was my-angular-project. Just copy the code higlighted below to 'assets' node as shown below.
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
"MyAngularProject": {
|
|
17
|
+
"projectType": "application",
|
|
18
|
+
"schematics": {
|
|
19
|
+
"@nrwl/angular:component": {
|
|
20
|
+
"style": "scss"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"root": "apps/my-angular-project",
|
|
24
|
+
"sourceRoot": "apps/my-angular-project/src",
|
|
25
|
+
"prefix": "my-prefix",
|
|
26
|
+
"architect": {
|
|
27
|
+
"build": {
|
|
28
|
+
"builder": "@angular-devkit/build-angular:browser",
|
|
29
|
+
"options": {
|
|
30
|
+
"outputPath": "dist/apps/my-angular-project",
|
|
31
|
+
"index": "apps/my-angular-project/src/index.html",
|
|
32
|
+
"main": "apps/my-angular-project/src/main.ts",
|
|
33
|
+
"polyfills": "apps/my-angular-project/src/polyfills.ts",
|
|
34
|
+
"tsConfig": "apps/my-angular-project/tsconfig.app.json",
|
|
35
|
+
"aot": false,
|
|
36
|
+
"assets": [
|
|
37
|
+
"apps/my-angular-project/src/favicon.ico",
|
|
38
|
+
"apps/my-angular-project/src/assets",
|
|
39
|
+
"apps/my-angular-project/src/manifest.webmanifest",
|
|
40
|
+
// THIS IS WHAT YOU'LL NEED TO ADD (START)
|
|
41
|
+
{
|
|
42
|
+
"glob": "*",
|
|
43
|
+
"input": "node_modules/imng-oidc-client/src/assets",
|
|
44
|
+
"output": "/"
|
|
45
|
+
}
|
|
46
|
+
// THIS IS WHAT YOU'LL NEED TO ADD (END)
|
|
47
|
+
],
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
This library was generated with [Nx](https://nx.dev).
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1vaWRjLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvaW1uZy1vaWRjLWNsaWVudC9zcmMvaW1uZy1vaWRjLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export * from './lib/imng-oidc-client.module';
|
|
2
|
+
export * from './lib/+state/oidc-user.facade';
|
|
3
|
+
export { OidcUserSelectors } from './lib/+state/oidc-user.selectors';
|
|
4
|
+
export * from './lib/+state/oidc.actions';
|
|
5
|
+
export * from './lib/+state/oidc.effects';
|
|
6
|
+
export * from './lib/+state/oidc.facade';
|
|
7
|
+
export { oidcReducer } from './lib/+state/oidc.reducer';
|
|
8
|
+
export { oidcQuery } from './lib/+state/oidc.selectors';
|
|
9
|
+
export * from './lib/models/arguments.model';
|
|
10
|
+
export { OIDC_CLIENT_CONFIG, } from './lib/models/oidc-client-config';
|
|
11
|
+
export * from './lib/models/oidc-user-profile';
|
|
12
|
+
export * from './lib/models/constants';
|
|
13
|
+
export * from './lib/util/oidc-client-configurator';
|
|
14
|
+
export * from './lib/services/auth-guard';
|
|
15
|
+
export * from './lib/services/oidc.service';
|
|
16
|
+
export * from './lib/services/token-interceptor.service';
|
|
17
|
+
export * from './lib/util/jwt-decoder';
|
|
18
|
+
export * from './lib/services/permissions.guard';
|
|
19
|
+
export * from './lib/components/access-denied.component';
|
|
20
|
+
export * from './lib/support/support.component';
|
|
21
|
+
export * from './lib/img-oidc-client-routing.module';
|
|
22
|
+
export * from './lib/models/oidc-user';
|
|
23
|
+
export * from './lib/components/logout-success.component';
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2ltbmctb2lkYy1jbGllbnQvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxPQUFPLEVBQXlCLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLE9BQU8sRUFFTCxrQkFBa0IsR0FDbkIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvaW1uZy1vaWRjLWNsaWVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvK3N0YXRlL29pZGMtdXNlci5mYWNhZGUnO1xuZXhwb3J0IHsgT2lkY1VzZXJTZWxlY3RvcnMgfSBmcm9tICcuL2xpYi8rc3RhdGUvb2lkYy11c2VyLnNlbGVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi8rc3RhdGUvb2lkYy5hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliLytzdGF0ZS9vaWRjLmVmZmVjdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvK3N0YXRlL29pZGMuZmFjYWRlJztcbmV4cG9ydCB7IE9pZGNTdGF0ZSwgRXJyb3JTdGF0ZSwgb2lkY1JlZHVjZXIgfSBmcm9tICcuL2xpYi8rc3RhdGUvb2lkYy5yZWR1Y2VyJztcbmV4cG9ydCB7IG9pZGNRdWVyeSB9IGZyb20gJy4vbGliLytzdGF0ZS9vaWRjLnNlbGVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYXJndW1lbnRzLm1vZGVsJztcbmV4cG9ydCB7XG4gIE9pZGNDbGllbnRDb25maWcsXG4gIE9JRENfQ0xJRU5UX0NPTkZJRyxcbn0gZnJvbSAnLi9saWIvbW9kZWxzL29pZGMtY2xpZW50LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvb2lkYy11c2VyLXByb2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL29pZGMtY2xpZW50LWNvbmZpZ3VyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hdXRoLWd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL29pZGMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90b2tlbi1pbnRlcmNlcHRvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWwvand0LWRlY29kZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcGVybWlzc2lvbnMuZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY2Nlc3MtZGVuaWVkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdXBwb3J0L3N1cHBvcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltZy1vaWRjLWNsaWVudC1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvb2lkYy11c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9nb3V0LXN1Y2Nlc3MuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Store } from '@ngrx/store';
|
|
3
|
+
import { OidcUserSelectors } from './oidc-user.selectors';
|
|
4
|
+
import { map } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@ngrx/store";
|
|
7
|
+
export class OidcUserFacade {
|
|
8
|
+
constructor(store) {
|
|
9
|
+
this.store = store;
|
|
10
|
+
this.profile$ = this.store.select(OidcUserSelectors.getProfile);
|
|
11
|
+
this.email$ = this.store.select(OidcUserSelectors.getEmail);
|
|
12
|
+
this.profilePicture$ = this.store.select(OidcUserSelectors.getProfilePicture);
|
|
13
|
+
this.permissions$ = this.store.select(OidcUserSelectors.getPermissions);
|
|
14
|
+
}
|
|
15
|
+
hasPermissions(requiredPermissions) {
|
|
16
|
+
return this.permissions$.pipe(map((t) => -1 <
|
|
17
|
+
requiredPermissions.findIndex((f) => -1 < (t?.findIndex((i) => i === f) || -1))));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
OidcUserFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: OidcUserFacade, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
OidcUserFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: OidcUserFacade, providedIn: 'root' });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: OidcUserFacade, decorators: [{
|
|
23
|
+
type: Injectable,
|
|
24
|
+
args: [{
|
|
25
|
+
providedIn: 'root',
|
|
26
|
+
}]
|
|
27
|
+
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy11c2VyLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1vaWRjLWNsaWVudC9zcmMvbGliLytzdGF0ZS9vaWRjLXVzZXIuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUtyQyxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUE2QixLQUF1QjtRQUF2QixVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQUNwRCxhQUFRLEdBQWdDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUN2RCxpQkFBaUIsQ0FBQyxVQUFVLENBQzdCLENBQUM7UUFDRixXQUFNLEdBQW1DLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUN4RCxpQkFBaUIsQ0FBQyxRQUFRLENBQzNCLENBQUM7UUFDRixvQkFBZSxHQUFtQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDakUsaUJBQWlCLENBQUMsaUJBQWlCLENBQ3BDLENBQUM7UUFDRixpQkFBWSxHQUFxQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDaEUsaUJBQWlCLENBQUMsY0FBYyxDQUNqQyxDQUFDO0lBWnFELENBQUM7SUFjakQsY0FBYyxDQUNuQixtQkFBa0M7UUFFbEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDM0IsR0FBRyxDQUNELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSixDQUFDLENBQUM7WUFDRixtQkFBbUIsQ0FBQyxTQUFTLENBQzNCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNqRCxDQUNKLENBQ0YsQ0FBQztJQUNKLENBQUM7OzJHQTNCVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPaWRjVXNlclNlbGVjdG9ycyB9IGZyb20gJy4vb2lkYy11c2VyLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBPaWRjU3RhdGUgfSBmcm9tICcuL29pZGMucmVkdWNlcic7XG5pbXBvcnQgeyBPaWRjVXNlclByb2ZpbGUgfSBmcm9tICcuLi9tb2RlbHMvb2lkYy11c2VyLXByb2ZpbGUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgT2lkY1VzZXJGYWNhZGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBTdG9yZTxPaWRjU3RhdGU+KSB7fVxuICBwcm9maWxlJDogT2JzZXJ2YWJsZTxPaWRjVXNlclByb2ZpbGU+ID0gdGhpcy5zdG9yZS5zZWxlY3QoXG4gICAgT2lkY1VzZXJTZWxlY3RvcnMuZ2V0UHJvZmlsZVxuICApO1xuICBlbWFpbCQ6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiA9IHRoaXMuc3RvcmUuc2VsZWN0KFxuICAgIE9pZGNVc2VyU2VsZWN0b3JzLmdldEVtYWlsXG4gICk7XG4gIHByb2ZpbGVQaWN0dXJlJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gdGhpcy5zdG9yZS5zZWxlY3QoXG4gICAgT2lkY1VzZXJTZWxlY3RvcnMuZ2V0UHJvZmlsZVBpY3R1cmVcbiAgKTtcbiAgcGVybWlzc2lvbnMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdIHwgdW5kZWZpbmVkPiA9IHRoaXMuc3RvcmUuc2VsZWN0KFxuICAgIE9pZGNVc2VyU2VsZWN0b3JzLmdldFBlcm1pc3Npb25zXG4gICk7XG5cbiAgcHVibGljIGhhc1Blcm1pc3Npb25zKFxuICAgIHJlcXVpcmVkUGVybWlzc2lvbnM6IEFycmF5PHN0cmluZz5cbiAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnMkLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgICh0KSA9PlxuICAgICAgICAgIC0xIDxcbiAgICAgICAgICByZXF1aXJlZFBlcm1pc3Npb25zLmZpbmRJbmRleChcbiAgICAgICAgICAgIChmKSA9PiAtMSA8ICh0Py5maW5kSW5kZXgoKGkpID0+IGkgPT09IGYpIHx8IC0xKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createSelector } from '@ngrx/store';
|
|
2
|
+
import { oidcQuery } from './oidc.selectors';
|
|
3
|
+
const getProfile = createSelector(oidcQuery.getOidcIdentity, (identity) => identity?.profile);
|
|
4
|
+
const getPermissions = createSelector(oidcQuery.selectOidcState, (state) => state?.permissions);
|
|
5
|
+
const getEmail = createSelector(getProfile, (profile) => profile?.email);
|
|
6
|
+
const getProfilePicture = createSelector(getProfile, (profile) => profile?.picture);
|
|
7
|
+
export const OidcUserSelectors = {
|
|
8
|
+
getProfile,
|
|
9
|
+
getEmail,
|
|
10
|
+
getProfilePicture,
|
|
11
|
+
getPermissions,
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy11c2VyLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1vaWRjLWNsaWVudC9zcmMvbGliLytzdGF0ZS9vaWRjLXVzZXIuc2VsZWN0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSTdDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FDL0IsU0FBUyxDQUFDLGVBQWUsRUFDekIsQ0FBQyxRQUFvQixFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBMEIsQ0FDL0QsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FDbkMsU0FBUyxDQUFDLGVBQWUsRUFDekIsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUN6QyxDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRXpFLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUN0QyxVQUFVLEVBQ1YsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQzlCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixVQUFVO0lBQ1YsUUFBUTtJQUNSLGlCQUFpQjtJQUNqQixjQUFjO0NBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgT2lkY1VzZXJQcm9maWxlIH0gZnJvbSAnLi4vbW9kZWxzL29pZGMtdXNlci1wcm9maWxlJztcbmltcG9ydCB7IG9pZGNRdWVyeSB9IGZyb20gJy4vb2lkYy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgT2lkY1N0YXRlIH0gZnJvbSAnLi9vaWRjLnJlZHVjZXInO1xuaW1wb3J0IHsgSU9pZGNVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL29pZGMtdXNlcic7XG5cbmNvbnN0IGdldFByb2ZpbGUgPSBjcmVhdGVTZWxlY3RvcihcbiAgb2lkY1F1ZXJ5LmdldE9pZGNJZGVudGl0eSxcbiAgKGlkZW50aXR5PzogSU9pZGNVc2VyKSA9PiBpZGVudGl0eT8ucHJvZmlsZSBhcyBPaWRjVXNlclByb2ZpbGVcbik7XG5cbmNvbnN0IGdldFBlcm1pc3Npb25zID0gY3JlYXRlU2VsZWN0b3IoXG4gIG9pZGNRdWVyeS5zZWxlY3RPaWRjU3RhdGUsXG4gIChzdGF0ZTogT2lkY1N0YXRlKSA9PiBzdGF0ZT8ucGVybWlzc2lvbnNcbik7XG5cbmNvbnN0IGdldEVtYWlsID0gY3JlYXRlU2VsZWN0b3IoZ2V0UHJvZmlsZSwgKHByb2ZpbGUpID0+IHByb2ZpbGU/LmVtYWlsKTtcblxuY29uc3QgZ2V0UHJvZmlsZVBpY3R1cmUgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0UHJvZmlsZSxcbiAgKHByb2ZpbGUpID0+IHByb2ZpbGU/LnBpY3R1cmVcbik7XG5cbmV4cG9ydCBjb25zdCBPaWRjVXNlclNlbGVjdG9ycyA9IHtcbiAgZ2V0UHJvZmlsZSxcbiAgZ2V0RW1haWwsXG4gIGdldFByb2ZpbGVQaWN0dXJlLFxuICBnZXRQZXJtaXNzaW9ucyxcbn07XG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createAction } from '@ngrx/store';
|
|
2
|
+
import { createPayloadAction } from 'imng-ngrx-utils';
|
|
3
|
+
export const clearCurrentEmployee = createAction('[Employees] Clear Current Employee');
|
|
4
|
+
// OIDC COMMANDS
|
|
5
|
+
export const getOidcUser = createAction('[Oidc] get oidc user');
|
|
6
|
+
export const removeOidcUser = createAction('[Oidc] remove oidc user');
|
|
7
|
+
export const userExpired = createAction('[Oidc] user expired');
|
|
8
|
+
export const userFound = createPayloadAction('[Oidc] user found');
|
|
9
|
+
export const onSessionChanged = createAction('[Oidc] session changed');
|
|
10
|
+
export const onAccessTokenExpired = createAction('[Oidc] on access token expired');
|
|
11
|
+
export const onAccessTokenExpiring = createAction('[Oidc] user expiring');
|
|
12
|
+
export const onUserLoading = createAction('[Oidc] user loading');
|
|
13
|
+
export const userDoneLoading = createAction('[Oidc] user done loading');
|
|
14
|
+
export const userDoneLoadingError = createPayloadAction('[Oidc] user done loading error');
|
|
15
|
+
export const onUserMetadataLoaded = createPayloadAction('[Oidc] on User Metadata Loaded');
|
|
16
|
+
// OIDC EVENTS
|
|
17
|
+
export const onSignInPopup = createPayloadAction('[Oidc] on SignInPopup');
|
|
18
|
+
export const onSignInRedirect = createPayloadAction('[Oidc] on onSignInRedirect');
|
|
19
|
+
export const onSignInSilent = createPayloadAction('[Oidc] on onSignInSilent');
|
|
20
|
+
export const onUserLoaded = createPayloadAction('[Oidc] on user loaded');
|
|
21
|
+
export const onUserloadError = createPayloadAction('[Oidc] user load error');
|
|
22
|
+
export const onUserUnloaded = createAction('[Oidc] on user unloaded');
|
|
23
|
+
export const onUserSignedOut = createAction('[Oidc] on user signed out');
|
|
24
|
+
export const onSilentRenewError = createPayloadAction('[Oidc] on silent renew error');
|
|
25
|
+
export const signInPopup = createPayloadAction('[Oidc] sign in popup');
|
|
26
|
+
export const signInRedirect = createPayloadAction('[Oidc] sign in redirect');
|
|
27
|
+
export const signInError = createPayloadAction('[Oidc] sign in popup error');
|
|
28
|
+
export const signOutPopup = createPayloadAction('[Oidc] sign out popup');
|
|
29
|
+
export const signOutPopupError = createPayloadAction('[Oidc] sign out popup error');
|
|
30
|
+
export const signOutRedirect = createPayloadAction('[Oidc] sign out redirect');
|
|
31
|
+
export const signOutRedirectError = createPayloadAction('[Oidc] sign out redirect error');
|
|
32
|
+
export const signInSilent = createPayloadAction('[Oidc] sign in silent');
|
|
33
|
+
export const oidcError = createPayloadAction('[Oidc] error');
|
|
34
|
+
// HTTP
|
|
35
|
+
export const setHttpError = createPayloadAction('[HTTP] Set Http Error');
|
|
36
|
+
export const clearErrors = createAction('[HTTP] Clear Errors');
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9pZGMtY2xpZW50L3NyYy9saWIvK3N0YXRlL29pZGMuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FDOUMsb0NBQW9DLENBQ3JDLENBQUM7QUFFRixnQkFBZ0I7QUFFaEIsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUN0RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFZLG1CQUFtQixDQUFDLENBQUM7QUFDN0UsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDdkUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUM5QyxnQ0FBZ0MsQ0FDakMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUNqRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDeEUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsbUJBQW1CLENBQ3JELGdDQUFnQyxDQUNqQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsbUJBQW1CLENBQ3JELGdDQUFnQyxDQUNqQyxDQUFDO0FBRUYsY0FBYztBQUNkLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FDOUMsdUJBQXVCLENBQ3hCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FDakQsNEJBQTRCLENBQzdCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQy9DLDBCQUEwQixDQUMzQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUM3Qyx1QkFBdUIsQ0FDeEIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FDaEQsd0JBQXdCLENBQ3pCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDdEUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUNuRCw4QkFBOEIsQ0FDL0IsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FDNUMsc0JBQXNCLENBQ3ZCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQy9DLHlCQUF5QixDQUMxQixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUM1Qyw0QkFBNEIsQ0FDN0IsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxtQkFBbUIsQ0FDN0MsdUJBQXVCLENBQ3hCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FDbEQsNkJBQTZCLENBQzlCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsbUJBQW1CLENBRWhELDBCQUEwQixDQUFDLENBQUM7QUFDOUIsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsbUJBQW1CLENBQ3JELGdDQUFnQyxDQUNqQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUM3Qyx1QkFBdUIsQ0FDeEIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBUSxjQUFjLENBQUMsQ0FBQztBQUVwRSxPQUFPO0FBQ1AsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUM3Qyx1QkFBdUIsQ0FDeEIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFJlcXVlc3RBcnVnbWVudHMgfSBmcm9tICcuLi9tb2RlbHMvYXJndW1lbnRzLm1vZGVsJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSU9pZGNVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL29pZGMtdXNlcic7XG5pbXBvcnQgeyBjcmVhdGVQYXlsb2FkQWN0aW9uIH0gZnJvbSAnaW1uZy1uZ3J4LXV0aWxzJztcblxuZXhwb3J0IGNvbnN0IGNsZWFyQ3VycmVudEVtcGxveWVlID0gY3JlYXRlQWN0aW9uKFxuICAnW0VtcGxveWVlc10gQ2xlYXIgQ3VycmVudCBFbXBsb3llZSdcbik7XG5cbi8vIE9JREMgQ09NTUFORFNcblxuZXhwb3J0IGNvbnN0IGdldE9pZGNVc2VyID0gY3JlYXRlQWN0aW9uKCdbT2lkY10gZ2V0IG9pZGMgdXNlcicpO1xuZXhwb3J0IGNvbnN0IHJlbW92ZU9pZGNVc2VyID0gY3JlYXRlQWN0aW9uKCdbT2lkY10gcmVtb3ZlIG9pZGMgdXNlcicpO1xuZXhwb3J0IGNvbnN0IHVzZXJFeHBpcmVkID0gY3JlYXRlQWN0aW9uKCdbT2lkY10gdXNlciBleHBpcmVkJyk7XG5leHBvcnQgY29uc3QgdXNlckZvdW5kID0gY3JlYXRlUGF5bG9hZEFjdGlvbjxJT2lkY1VzZXI+KCdbT2lkY10gdXNlciBmb3VuZCcpO1xuZXhwb3J0IGNvbnN0IG9uU2Vzc2lvbkNoYW5nZWQgPSBjcmVhdGVBY3Rpb24oJ1tPaWRjXSBzZXNzaW9uIGNoYW5nZWQnKTtcbmV4cG9ydCBjb25zdCBvbkFjY2Vzc1Rva2VuRXhwaXJlZCA9IGNyZWF0ZUFjdGlvbihcbiAgJ1tPaWRjXSBvbiBhY2Nlc3MgdG9rZW4gZXhwaXJlZCdcbik7XG5leHBvcnQgY29uc3Qgb25BY2Nlc3NUb2tlbkV4cGlyaW5nID0gY3JlYXRlQWN0aW9uKCdbT2lkY10gdXNlciBleHBpcmluZycpO1xuZXhwb3J0IGNvbnN0IG9uVXNlckxvYWRpbmcgPSBjcmVhdGVBY3Rpb24oJ1tPaWRjXSB1c2VyIGxvYWRpbmcnKTtcbmV4cG9ydCBjb25zdCB1c2VyRG9uZUxvYWRpbmcgPSBjcmVhdGVBY3Rpb24oJ1tPaWRjXSB1c2VyIGRvbmUgbG9hZGluZycpO1xuZXhwb3J0IGNvbnN0IHVzZXJEb25lTG9hZGluZ0Vycm9yID0gY3JlYXRlUGF5bG9hZEFjdGlvbjxFcnJvcj4oXG4gICdbT2lkY10gdXNlciBkb25lIGxvYWRpbmcgZXJyb3InXG4pO1xuZXhwb3J0IGNvbnN0IG9uVXNlck1ldGFkYXRhTG9hZGVkID0gY3JlYXRlUGF5bG9hZEFjdGlvbjx1bmtub3duPihcbiAgJ1tPaWRjXSBvbiBVc2VyIE1ldGFkYXRhIExvYWRlZCdcbik7XG5cbi8vIE9JREMgRVZFTlRTXG5leHBvcnQgY29uc3Qgb25TaWduSW5Qb3B1cCA9IGNyZWF0ZVBheWxvYWRBY3Rpb248SU9pZGNVc2VyPihcbiAgJ1tPaWRjXSBvbiBTaWduSW5Qb3B1cCdcbik7XG5leHBvcnQgY29uc3Qgb25TaWduSW5SZWRpcmVjdCA9IGNyZWF0ZVBheWxvYWRBY3Rpb248SU9pZGNVc2VyPihcbiAgJ1tPaWRjXSBvbiBvblNpZ25JblJlZGlyZWN0J1xuKTtcbmV4cG9ydCBjb25zdCBvblNpZ25JblNpbGVudCA9IGNyZWF0ZVBheWxvYWRBY3Rpb248SU9pZGNVc2VyPihcbiAgJ1tPaWRjXSBvbiBvblNpZ25JblNpbGVudCdcbik7XG5cbmV4cG9ydCBjb25zdCBvblVzZXJMb2FkZWQgPSBjcmVhdGVQYXlsb2FkQWN0aW9uPElPaWRjVXNlcj4oXG4gICdbT2lkY10gb24gdXNlciBsb2FkZWQnXG4pO1xuZXhwb3J0IGNvbnN0IG9uVXNlcmxvYWRFcnJvciA9IGNyZWF0ZVBheWxvYWRBY3Rpb248RXJyb3I+KFxuICAnW09pZGNdIHVzZXIgbG9hZCBlcnJvcidcbik7XG5leHBvcnQgY29uc3Qgb25Vc2VyVW5sb2FkZWQgPSBjcmVhdGVBY3Rpb24oJ1tPaWRjXSBvbiB1c2VyIHVubG9hZGVkJyk7XG5leHBvcnQgY29uc3Qgb25Vc2VyU2lnbmVkT3V0ID0gY3JlYXRlQWN0aW9uKCdbT2lkY10gb24gdXNlciBzaWduZWQgb3V0Jyk7XG5leHBvcnQgY29uc3Qgb25TaWxlbnRSZW5ld0Vycm9yID0gY3JlYXRlUGF5bG9hZEFjdGlvbjxFcnJvcj4oXG4gICdbT2lkY10gb24gc2lsZW50IHJlbmV3IGVycm9yJ1xuKTtcbmV4cG9ydCBjb25zdCBzaWduSW5Qb3B1cCA9IGNyZWF0ZVBheWxvYWRBY3Rpb248UmVxdWVzdEFydWdtZW50cz4oXG4gICdbT2lkY10gc2lnbiBpbiBwb3B1cCdcbik7XG5leHBvcnQgY29uc3Qgc2lnbkluUmVkaXJlY3QgPSBjcmVhdGVQYXlsb2FkQWN0aW9uPFJlcXVlc3RBcnVnbWVudHMgfCB1bmRlZmluZWQ+KFxuICAnW09pZGNdIHNpZ24gaW4gcmVkaXJlY3QnXG4pO1xuZXhwb3J0IGNvbnN0IHNpZ25JbkVycm9yID0gY3JlYXRlUGF5bG9hZEFjdGlvbjxFcnJvcj4oXG4gICdbT2lkY10gc2lnbiBpbiBwb3B1cCBlcnJvcidcbik7XG5leHBvcnQgY29uc3Qgc2lnbk91dFBvcHVwID0gY3JlYXRlUGF5bG9hZEFjdGlvbjxSZXF1ZXN0QXJ1Z21lbnRzPihcbiAgJ1tPaWRjXSBzaWduIG91dCBwb3B1cCdcbik7XG5leHBvcnQgY29uc3Qgc2lnbk91dFBvcHVwRXJyb3IgPSBjcmVhdGVQYXlsb2FkQWN0aW9uPHN0cmluZz4oXG4gICdbT2lkY10gc2lnbiBvdXQgcG9wdXAgZXJyb3InXG4pO1xuZXhwb3J0IGNvbnN0IHNpZ25PdXRSZWRpcmVjdCA9IGNyZWF0ZVBheWxvYWRBY3Rpb248XG4gIFJlcXVlc3RBcnVnbWVudHMgfCB1bmRlZmluZWRcbj4oJ1tPaWRjXSBzaWduIG91dCByZWRpcmVjdCcpO1xuZXhwb3J0IGNvbnN0IHNpZ25PdXRSZWRpcmVjdEVycm9yID0gY3JlYXRlUGF5bG9hZEFjdGlvbjxzdHJpbmc+KFxuICAnW09pZGNdIHNpZ24gb3V0IHJlZGlyZWN0IGVycm9yJ1xuKTtcbmV4cG9ydCBjb25zdCBzaWduSW5TaWxlbnQgPSBjcmVhdGVQYXlsb2FkQWN0aW9uPFJlcXVlc3RBcnVnbWVudHM+KFxuICAnW09pZGNdIHNpZ24gaW4gc2lsZW50J1xuKTtcbmV4cG9ydCBjb25zdCBvaWRjRXJyb3IgPSBjcmVhdGVQYXlsb2FkQWN0aW9uPEVycm9yPignW09pZGNdIGVycm9yJyk7XG5cbi8vIEhUVFBcbmV4cG9ydCBjb25zdCBzZXRIdHRwRXJyb3IgPSBjcmVhdGVQYXlsb2FkQWN0aW9uPEh0dHBFcnJvclJlc3BvbnNlPihcbiAgJ1tIVFRQXSBTZXQgSHR0cCBFcnJvcidcbik7XG5leHBvcnQgY29uc3QgY2xlYXJFcnJvcnMgPSBjcmVhdGVBY3Rpb24oJ1tIVFRQXSBDbGVhciBFcnJvcnMnKTtcbiJdfQ==
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { Actions, ofType, createEffect } from '@ngrx/effects';
|
|
3
|
+
import { of } from 'rxjs';
|
|
4
|
+
import { catchError, concatMap, map, filter, tap, switchMap, } from 'rxjs/operators';
|
|
5
|
+
import { OidcService } from '../services/oidc.service';
|
|
6
|
+
import * as oidcActions from './oidc.actions';
|
|
7
|
+
import { Router } from '@angular/router';
|
|
8
|
+
import { oidcLogoutRoute } from '../img-oidc-client-routing.module';
|
|
9
|
+
import { OIDC_LIBRARY_CONFIG, } from '../models/oidc-library-config';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@ngrx/effects";
|
|
12
|
+
import * as i2 from "../services/oidc.service";
|
|
13
|
+
import * as i3 from "@angular/router";
|
|
14
|
+
export class OidcEffects {
|
|
15
|
+
constructor(actions$, oidcService, oidcLibraryOptions, router) {
|
|
16
|
+
this.actions$ = actions$;
|
|
17
|
+
this.oidcService = oidcService;
|
|
18
|
+
this.oidcLibraryOptions = oidcLibraryOptions;
|
|
19
|
+
this.router = router;
|
|
20
|
+
this.getOidcUser$ = createEffect(() => this.actions$.pipe(ofType(oidcActions.getOidcUser), switchMap(() => this.oidcService.getOidcUser().pipe(map((userData) => this.makeOidcUserSerializable(userData)), filter((userData) => !!userData), map((userData) => oidcActions.userFound(userData)), catchError((err) => of(oidcActions.userDoneLoadingError(err)))))));
|
|
21
|
+
this.silentRenew$ = createEffect(() => this.actions$.pipe(ofType(oidcActions.userFound), filter((userFound) =>
|
|
22
|
+
// user expired, initiate silent sign-in if configured to automatic
|
|
23
|
+
(userFound.payload != null &&
|
|
24
|
+
userFound.payload.expired &&
|
|
25
|
+
this.oidcLibraryOptions.oidc_config?.automaticSilentRenew) ||
|
|
26
|
+
false), map((userFound) => oidcActions.signInSilent(userFound.payload))));
|
|
27
|
+
this.removeOidcUser$ = createEffect(() => this.actions$.pipe(ofType(oidcActions.removeOidcUser), concatMap(() => this.oidcService.removeOidcUser().pipe(map(() => oidcActions.userDoneLoading()), catchError((err) => of(oidcActions.oidcError(err)))))));
|
|
28
|
+
this.userDoneLoadingNoMetadata$ = createEffect(() => this.actions$.pipe(ofType(oidcActions.userFound), filter(() => !this.oidcLibraryOptions.getUserMetadata), map(() => oidcActions.userDoneLoading())));
|
|
29
|
+
this.userDoneLoadingWithMetadata$ = createEffect(() => this.actions$.pipe(ofType(oidcActions.userFound), filter(() => this.oidcLibraryOptions.getUserMetadata || false), switchMap(() => this.oidcService.getUserMetadata()), map((metadata) => oidcActions.onUserMetadataLoaded(metadata))));
|
|
30
|
+
this.onAccessTokenExpired$ = createEffect(() => this.actions$.pipe(ofType(oidcActions.onAccessTokenExpired), map(() => oidcActions.removeOidcUser())));
|
|
31
|
+
this.signInPopup$ = createEffect(() => this.actions$.pipe(ofType(oidcActions.signInPopup), concatMap((args) => this.oidcService.signInPopup(args.payload).pipe(map((user) => oidcActions.onSignInPopup(this.makeOidcUserSerializable(user))), catchError((err) => of(oidcActions.signInError(err)))))));
|
|
32
|
+
this.signInRedirect$ = createEffect(() => this.actions$.pipe(ofType(oidcActions.signInRedirect), concatMap((args) => this.oidcService.signInRedirect(args.payload).pipe(concatMap(() => this.oidcService.signinRedirectCallback()), map((user) => oidcActions.onSignInRedirect(this.makeOidcUserSerializable(user))), catchError((err) => of(oidcActions.signInError(err)))))));
|
|
33
|
+
this.signInSilent$ = createEffect(() => this.actions$.pipe(ofType(oidcActions.signInSilent), concatMap((args) => this.oidcService.signInSilent(args.payload).pipe(map((user) => oidcActions.onSignInSilent(this.makeOidcUserSerializable(user))), catchError((err) => of(oidcActions.onSilentRenewError(err)))))));
|
|
34
|
+
this.signOutPopup$ = createEffect(() => this.actions$.pipe(ofType(oidcActions.signOutPopup), concatMap((args) => this.oidcService.signOutPopup(args.payload).pipe(map(() => oidcActions.onUserSignedOut()), catchError((err) => of(oidcActions.signOutPopupError(err.message)))))));
|
|
35
|
+
this.signOutRedirect$ = createEffect(() => this.actions$.pipe(ofType(oidcActions.signOutRedirect), concatMap((args) => this.oidcService.signOutRedirect(args.payload).pipe(map(() => oidcActions.onUserSignedOut()), catchError((err) => of(oidcActions.signOutRedirectError(err.message)))))));
|
|
36
|
+
this.onUserSignedOut$ = createEffect(() => this.actions$.pipe(ofType(oidcActions.onUserSignedOut, oidcActions.signOutPopupError, oidcActions.signOutRedirectError), tap(() => {
|
|
37
|
+
localStorage.clear();
|
|
38
|
+
sessionStorage.clear();
|
|
39
|
+
this.router.navigateByUrl(oidcLogoutRoute.path || '');
|
|
40
|
+
})), { dispatch: false });
|
|
41
|
+
}
|
|
42
|
+
ngrxOnInitEffects() {
|
|
43
|
+
return oidcActions.getOidcUser();
|
|
44
|
+
}
|
|
45
|
+
makeOidcUserSerializable(user) {
|
|
46
|
+
if (user?.toStorageString) {
|
|
47
|
+
user = {
|
|
48
|
+
...user,
|
|
49
|
+
toStorageString: undefined,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return user;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
OidcEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: OidcEffects, deps: [{ token: i1.Actions }, { token: i2.OidcService }, { token: OIDC_LIBRARY_CONFIG }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
56
|
+
OidcEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: OidcEffects, providedIn: 'root' });
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: OidcEffects, decorators: [{
|
|
58
|
+
type: Injectable,
|
|
59
|
+
args: [{
|
|
60
|
+
providedIn: 'root',
|
|
61
|
+
}]
|
|
62
|
+
}], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.OidcService }, { type: undefined, decorators: [{
|
|
63
|
+
type: Inject,
|
|
64
|
+
args: [OIDC_LIBRARY_CONFIG]
|
|
65
|
+
}] }, { type: i3.Router }]; } });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9pZGMtY2xpZW50L3NyYy9saWIvK3N0YXRlL29pZGMuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBaUIsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsR0FBRyxFQUNILE1BQU0sRUFDTixHQUFHLEVBQ0gsU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBRUwsbUJBQW1CLEdBQ3BCLE1BQU0sK0JBQStCLENBQUM7Ozs7O0FBS3ZDLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ21CLFFBQWlCLEVBQ2pCLFdBQXdCLEVBRXhCLGtCQUFxQyxFQUNyQyxNQUFjO1FBSmQsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUV4Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFHakMsaUJBQVksR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUMvQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQ2pDLEdBQUcsQ0FBQyxDQUFDLFFBQTBCLEVBQUUsRUFBRSxDQUNqQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLENBQ3hDLEVBQ0QsTUFBTSxDQUFDLENBQUMsUUFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUMzQyxHQUFHLENBQUMsQ0FBQyxRQUFtQixFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQzdELFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQy9ELENBQ0YsQ0FDRixDQUNGLENBQUM7UUFFRixpQkFBWSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQzdCLE1BQU0sQ0FDSixDQUFDLFNBQWlDLEVBQUUsRUFBRTtRQUNwQyxtRUFBbUU7UUFDbkUsQ0FBQyxTQUFTLENBQUMsT0FBTyxJQUFJLElBQUk7WUFDeEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsb0JBQW9CLENBQUM7WUFDNUQsS0FBSyxDQUNSLEVBQ0QsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUNoRSxDQUNGLENBQUM7UUFFRixvQkFBZSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQ2xDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDYixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxFQUN4QyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDcEQsQ0FDRixDQUNGLENBQ0YsQ0FBQztRQUVGLCtCQUEwQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQzdCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsRUFDdEQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUN6QyxDQUNGLENBQUM7UUFFRixpQ0FBNEIsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUM3QixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUMsRUFDOUQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUMsRUFDbkQsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDOUQsQ0FDRixDQUFDO1FBRUYsMEJBQXFCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxFQUN4QyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQ3hDLENBQ0YsQ0FBQztRQUVGLGlCQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFDL0IsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDWCxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMvRCxFQUNELFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUN0RCxDQUNGLENBQ0YsQ0FDRixDQUFDO1FBRUYsb0JBQWUsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUNsQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNoRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLEVBQzFELEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1gsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNsRSxFQUNELFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUN0RCxDQUNGLENBQ0YsQ0FDRixDQUFDO1FBRUYsa0JBQWEsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUNoQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNYLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2hFLEVBQ0QsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDN0QsQ0FDRixDQUNGLENBQ0YsQ0FBQztRQUVGLGtCQUFhLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFDaEMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxFQUN4QyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDcEUsQ0FDRixDQUNGLENBQ0YsQ0FBQztRQUVGLHFCQUFnQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQ25DLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ2pELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUMsRUFDeEMsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQ3ZFLENBQ0YsQ0FDRixDQUNGLENBQUM7UUFFRixxQkFBZ0IsR0FBRyxZQUFZLENBQzdCLEdBQUcsRUFBRSxDQUNILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQ0osV0FBVyxDQUFDLGVBQWUsRUFDM0IsV0FBVyxDQUFDLGlCQUFpQixFQUM3QixXQUFXLENBQUMsb0JBQW9CLENBQ2pDLEVBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQixjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FDSCxFQUNILEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUNwQixDQUFDO0lBdkpDLENBQUM7SUF5SkosaUJBQWlCO1FBQ2YsT0FBTyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELHdCQUF3QixDQUFDLElBQXNCO1FBQzdDLElBQUksSUFBSSxFQUFFLGVBQWUsRUFBRTtZQUN6QixJQUFJLEdBQUc7Z0JBQ0wsR0FBRyxJQUFJO2dCQUNQLGVBQWUsRUFBRSxTQUFTO2FBQzNCLENBQUM7U0FDSDtRQUNELE9BQU8sSUFBaUIsQ0FBQztJQUMzQixDQUFDOzt3R0E1S1UsV0FBVyxvRUFJWixtQkFBbUI7NEdBSmxCLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFLSSxNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZUeXBlLCBPbkluaXRFZmZlY3RzLCBjcmVhdGVFZmZlY3QgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBjb25jYXRNYXAsXG4gIG1hcCxcbiAgZmlsdGVyLFxuICB0YXAsXG4gIHN3aXRjaE1hcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2lkY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vaWRjLnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgb2lkY0FjdGlvbnMgZnJvbSAnLi9vaWRjLmFjdGlvbnMnO1xuaW1wb3J0IHsgSU9pZGNVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL29pZGMtdXNlcic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgb2lkY0xvZ291dFJvdXRlIH0gZnJvbSAnLi4vaW1nLW9pZGMtY2xpZW50LXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7XG4gIE9pZGNMaWJyYXJ5Q29uZmlnLFxuICBPSURDX0xJQlJBUllfQ09ORklHLFxufSBmcm9tICcuLi9tb2RlbHMvb2lkYy1saWJyYXJ5LWNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBPaWRjRWZmZWN0cyBpbXBsZW1lbnRzIE9uSW5pdEVmZmVjdHMge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2lkY1NlcnZpY2U6IE9pZGNTZXJ2aWNlLFxuICAgIEBJbmplY3QoT0lEQ19MSUJSQVJZX0NPTkZJRylcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9pZGNMaWJyYXJ5T3B0aW9uczogT2lkY0xpYnJhcnlDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgZ2V0T2lkY1VzZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKG9pZGNBY3Rpb25zLmdldE9pZGNVc2VyKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICB0aGlzLm9pZGNTZXJ2aWNlLmdldE9pZGNVc2VyKCkucGlwZShcbiAgICAgICAgICBtYXAoKHVzZXJEYXRhOiBJT2lkY1VzZXIgfCBudWxsKSA9PlxuICAgICAgICAgICAgdGhpcy5tYWtlT2lkY1VzZXJTZXJpYWxpemFibGUodXNlckRhdGEpXG4gICAgICAgICAgKSxcbiAgICAgICAgICBmaWx0ZXIoKHVzZXJEYXRhOiBJT2lkY1VzZXIpID0+ICEhdXNlckRhdGEpLFxuICAgICAgICAgIG1hcCgodXNlckRhdGE6IElPaWRjVXNlcikgPT4gb2lkY0FjdGlvbnMudXNlckZvdW5kKHVzZXJEYXRhKSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiBvZihvaWRjQWN0aW9ucy51c2VyRG9uZUxvYWRpbmdFcnJvcihlcnIpKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBzaWxlbnRSZW5ldyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUob2lkY0FjdGlvbnMudXNlckZvdW5kKSxcbiAgICAgIGZpbHRlcihcbiAgICAgICAgKHVzZXJGb3VuZDogeyBwYXlsb2FkOiBJT2lkY1VzZXIgfSkgPT5cbiAgICAgICAgICAvLyB1c2VyIGV4cGlyZWQsIGluaXRpYXRlIHNpbGVudCBzaWduLWluIGlmIGNvbmZpZ3VyZWQgdG8gYXV0b21hdGljXG4gICAgICAgICAgKHVzZXJGb3VuZC5wYXlsb2FkICE9IG51bGwgJiZcbiAgICAgICAgICAgIHVzZXJGb3VuZC5wYXlsb2FkLmV4cGlyZWQgJiZcbiAgICAgICAgICAgIHRoaXMub2lkY0xpYnJhcnlPcHRpb25zLm9pZGNfY29uZmlnPy5hdXRvbWF0aWNTaWxlbnRSZW5ldykgfHxcbiAgICAgICAgICBmYWxzZVxuICAgICAgKSxcbiAgICAgIG1hcCgodXNlckZvdW5kKSA9PiBvaWRjQWN0aW9ucy5zaWduSW5TaWxlbnQodXNlckZvdW5kLnBheWxvYWQpKVxuICAgIClcbiAgKTtcblxuICByZW1vdmVPaWRjVXNlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUob2lkY0FjdGlvbnMucmVtb3ZlT2lkY1VzZXIpLFxuICAgICAgY29uY2F0TWFwKCgpID0+XG4gICAgICAgIHRoaXMub2lkY1NlcnZpY2UucmVtb3ZlT2lkY1VzZXIoKS5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiBvaWRjQWN0aW9ucy51c2VyRG9uZUxvYWRpbmcoKSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiBvZihvaWRjQWN0aW9ucy5vaWRjRXJyb3IoZXJyKSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgdXNlckRvbmVMb2FkaW5nTm9NZXRhZGF0YSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUob2lkY0FjdGlvbnMudXNlckZvdW5kKSxcbiAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5vaWRjTGlicmFyeU9wdGlvbnMuZ2V0VXNlck1ldGFkYXRhKSxcbiAgICAgIG1hcCgoKSA9PiBvaWRjQWN0aW9ucy51c2VyRG9uZUxvYWRpbmcoKSlcbiAgICApXG4gICk7XG5cbiAgdXNlckRvbmVMb2FkaW5nV2l0aE1ldGFkYXRhJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShvaWRjQWN0aW9ucy51c2VyRm91bmQpLFxuICAgICAgZmlsdGVyKCgpID0+IHRoaXMub2lkY0xpYnJhcnlPcHRpb25zLmdldFVzZXJNZXRhZGF0YSB8fCBmYWxzZSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5vaWRjU2VydmljZS5nZXRVc2VyTWV0YWRhdGEoKSksXG4gICAgICBtYXAoKG1ldGFkYXRhKSA9PiBvaWRjQWN0aW9ucy5vblVzZXJNZXRhZGF0YUxvYWRlZChtZXRhZGF0YSkpXG4gICAgKVxuICApO1xuXG4gIG9uQWNjZXNzVG9rZW5FeHBpcmVkJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShvaWRjQWN0aW9ucy5vbkFjY2Vzc1Rva2VuRXhwaXJlZCksXG4gICAgICBtYXAoKCkgPT4gb2lkY0FjdGlvbnMucmVtb3ZlT2lkY1VzZXIoKSlcbiAgICApXG4gICk7XG5cbiAgc2lnbkluUG9wdXAkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKG9pZGNBY3Rpb25zLnNpZ25JblBvcHVwKSxcbiAgICAgIGNvbmNhdE1hcCgoYXJncykgPT5cbiAgICAgICAgdGhpcy5vaWRjU2VydmljZS5zaWduSW5Qb3B1cChhcmdzLnBheWxvYWQpLnBpcGUoXG4gICAgICAgICAgbWFwKCh1c2VyKSA9PlxuICAgICAgICAgICAgb2lkY0FjdGlvbnMub25TaWduSW5Qb3B1cCh0aGlzLm1ha2VPaWRjVXNlclNlcmlhbGl6YWJsZSh1c2VyKSlcbiAgICAgICAgICApLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4gb2Yob2lkY0FjdGlvbnMuc2lnbkluRXJyb3IoZXJyKSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgc2lnbkluUmVkaXJlY3QkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKG9pZGNBY3Rpb25zLnNpZ25JblJlZGlyZWN0KSxcbiAgICAgIGNvbmNhdE1hcCgoYXJncykgPT5cbiAgICAgICAgdGhpcy5vaWRjU2VydmljZS5zaWduSW5SZWRpcmVjdChhcmdzLnBheWxvYWQpLnBpcGUoXG4gICAgICAgICAgY29uY2F0TWFwKCgpID0+IHRoaXMub2lkY1NlcnZpY2Uuc2lnbmluUmVkaXJlY3RDYWxsYmFjaygpKSxcbiAgICAgICAgICBtYXAoKHVzZXIpID0+XG4gICAgICAgICAgICBvaWRjQWN0aW9ucy5vblNpZ25JblJlZGlyZWN0KHRoaXMubWFrZU9pZGNVc2VyU2VyaWFsaXphYmxlKHVzZXIpKVxuICAgICAgICAgICksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiBvZihvaWRjQWN0aW9ucy5zaWduSW5FcnJvcihlcnIpKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBzaWduSW5TaWxlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKG9pZGNBY3Rpb25zLnNpZ25JblNpbGVudCksXG4gICAgICBjb25jYXRNYXAoKGFyZ3MpID0+XG4gICAgICAgIHRoaXMub2lkY1NlcnZpY2Uuc2lnbkluU2lsZW50KGFyZ3MucGF5bG9hZCkucGlwZShcbiAgICAgICAgICBtYXAoKHVzZXIpID0+XG4gICAgICAgICAgICBvaWRjQWN0aW9ucy5vblNpZ25JblNpbGVudCh0aGlzLm1ha2VPaWRjVXNlclNlcmlhbGl6YWJsZSh1c2VyKSlcbiAgICAgICAgICApLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4gb2Yob2lkY0FjdGlvbnMub25TaWxlbnRSZW5ld0Vycm9yKGVycikpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNpZ25PdXRQb3B1cCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUob2lkY0FjdGlvbnMuc2lnbk91dFBvcHVwKSxcbiAgICAgIGNvbmNhdE1hcCgoYXJncykgPT5cbiAgICAgICAgdGhpcy5vaWRjU2VydmljZS5zaWduT3V0UG9wdXAoYXJncy5wYXlsb2FkKS5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiBvaWRjQWN0aW9ucy5vblVzZXJTaWduZWRPdXQoKSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiBvZihvaWRjQWN0aW9ucy5zaWduT3V0UG9wdXBFcnJvcihlcnIubWVzc2FnZSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNpZ25PdXRSZWRpcmVjdCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUob2lkY0FjdGlvbnMuc2lnbk91dFJlZGlyZWN0KSxcbiAgICAgIGNvbmNhdE1hcCgoYXJncykgPT5cbiAgICAgICAgdGhpcy5vaWRjU2VydmljZS5zaWduT3V0UmVkaXJlY3QoYXJncy5wYXlsb2FkKS5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiBvaWRjQWN0aW9ucy5vblVzZXJTaWduZWRPdXQoKSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiBvZihvaWRjQWN0aW9ucy5zaWduT3V0UmVkaXJlY3RFcnJvcihlcnIubWVzc2FnZSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIG9uVXNlclNpZ25lZE91dCQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKFxuICAgICAgICAgIG9pZGNBY3Rpb25zLm9uVXNlclNpZ25lZE91dCxcbiAgICAgICAgICBvaWRjQWN0aW9ucy5zaWduT3V0UG9wdXBFcnJvcixcbiAgICAgICAgICBvaWRjQWN0aW9ucy5zaWduT3V0UmVkaXJlY3RFcnJvclxuICAgICAgICApLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChvaWRjTG9nb3V0Um91dGUucGF0aCB8fCAnJyk7XG4gICAgICAgIH0pXG4gICAgICApLFxuICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAgKTtcblxuICBuZ3J4T25Jbml0RWZmZWN0cygpOiBBY3Rpb24ge1xuICAgIHJldHVybiBvaWRjQWN0aW9ucy5nZXRPaWRjVXNlcigpO1xuICB9XG5cbiAgbWFrZU9pZGNVc2VyU2VyaWFsaXphYmxlKHVzZXI6IElPaWRjVXNlciB8IG51bGwpOiBJT2lkY1VzZXIge1xuICAgIGlmICh1c2VyPy50b1N0b3JhZ2VTdHJpbmcpIHtcbiAgICAgIHVzZXIgPSB7XG4gICAgICAgIC4uLnVzZXIsXG4gICAgICAgIHRvU3RvcmFnZVN0cmluZzogdW5kZWZpbmVkLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHVzZXIgYXMgSU9pZGNVc2VyO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { Store } from '@ngrx/store';
|
|
4
|
+
import { filter, take, map } from 'rxjs/operators';
|
|
5
|
+
import { oidcQuery } from './oidc.selectors';
|
|
6
|
+
import { OidcService } from '../services/oidc.service';
|
|
7
|
+
import { OidcEvent } from '../models/constants';
|
|
8
|
+
import * as oidcActions from './oidc.actions';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@ngrx/store";
|
|
11
|
+
import * as i2 from "../services/oidc.service";
|
|
12
|
+
export class OidcFacade {
|
|
13
|
+
constructor(store, oidcService) {
|
|
14
|
+
this.store = store;
|
|
15
|
+
this.oidcService = oidcService;
|
|
16
|
+
this.loading$ = this.store.select(oidcQuery.getOidcLoading);
|
|
17
|
+
this.expiring$ = this.store.select(oidcQuery.isIdentityExpiring);
|
|
18
|
+
this.expired$ = this.store.select(oidcQuery.isIdentityExpired);
|
|
19
|
+
this.loggedIn$ = this.store.select(oidcQuery.isLoggedIn);
|
|
20
|
+
this.identity$ = this.store.select(oidcQuery.getOidcIdentity);
|
|
21
|
+
this.accessToken$ = this.store.select(oidcQuery.getAccessToken);
|
|
22
|
+
this.httpError$ = this.store.select(oidcQuery.getHttpError);
|
|
23
|
+
this.signInError$ = this.store.select(oidcQuery.getSignInError);
|
|
24
|
+
this.silentRenewError$ = this.store.select(oidcQuery.getSilentRenewError);
|
|
25
|
+
this.hasErrors$ = this.store.select(oidcQuery.hasErrors);
|
|
26
|
+
this.permissions$ = this.store.select(oidcQuery.getPermissions);
|
|
27
|
+
this.audiences$ = this.store.select(oidcQuery.getAudiences);
|
|
28
|
+
this.expiresAt$ = this.store.select(oidcQuery.getExpiresAt);
|
|
29
|
+
this.userMetadata$ = this.store.select(oidcQuery.getUserMetadata);
|
|
30
|
+
this.registerDefaultEvents();
|
|
31
|
+
}
|
|
32
|
+
// default bindings to events
|
|
33
|
+
addUserUnLoaded() {
|
|
34
|
+
if (this.store) {
|
|
35
|
+
this.store.dispatch(oidcActions.onUserUnloaded());
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
accessTokenExpired() {
|
|
39
|
+
if (this.store) {
|
|
40
|
+
this.store.dispatch(oidcActions.onAccessTokenExpired());
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
sessionStorage.clear();
|
|
44
|
+
localStorage.clear();
|
|
45
|
+
window.location.reload();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
accessTokenExpiring() {
|
|
49
|
+
if (this.store) {
|
|
50
|
+
this.store.dispatch(oidcActions.onAccessTokenExpiring());
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this.accessTokenExpired();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
addSilentRenewError(...ev) {
|
|
57
|
+
this.store.dispatch(oidcActions.onSilentRenewError(ev[0]));
|
|
58
|
+
}
|
|
59
|
+
addUserLoaded(...ev) {
|
|
60
|
+
this.store.dispatch(oidcActions.onUserLoaded(ev[0]));
|
|
61
|
+
}
|
|
62
|
+
addUserSignedOut() {
|
|
63
|
+
this.oidcService.removeOidcUser();
|
|
64
|
+
this.store.dispatch(oidcActions.onUserSignedOut());
|
|
65
|
+
}
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
67
|
+
addUserSessionChanged() {
|
|
68
|
+
this.store.dispatch(oidcActions.onSessionChanged());
|
|
69
|
+
}
|
|
70
|
+
clearErrors() {
|
|
71
|
+
this.store.dispatch(oidcActions.clearErrors());
|
|
72
|
+
}
|
|
73
|
+
// OIDC Methods
|
|
74
|
+
getOidcUser() {
|
|
75
|
+
this.store.dispatch(oidcActions.getOidcUser());
|
|
76
|
+
}
|
|
77
|
+
removeOidcUser() {
|
|
78
|
+
this.store.dispatch(oidcActions.removeOidcUser());
|
|
79
|
+
}
|
|
80
|
+
getUserManager() {
|
|
81
|
+
return this.oidcService.getUserManager();
|
|
82
|
+
}
|
|
83
|
+
getOidcClient() {
|
|
84
|
+
return this.oidcService.getOidcClient();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Convenient function to wait for loaded.
|
|
88
|
+
*/
|
|
89
|
+
waitForAuthenticationLoaded() {
|
|
90
|
+
return this.loading$.pipe(filter((loading) => loading === false), take(1), map(() => true));
|
|
91
|
+
}
|
|
92
|
+
signinPopup(args) {
|
|
93
|
+
this.store.dispatch(oidcActions.signInPopup(args));
|
|
94
|
+
}
|
|
95
|
+
signinRedirect(args) {
|
|
96
|
+
this.store.dispatch(oidcActions.signInRedirect(args));
|
|
97
|
+
}
|
|
98
|
+
signinSilent(args) {
|
|
99
|
+
this.store.dispatch(oidcActions.signInSilent(args));
|
|
100
|
+
}
|
|
101
|
+
signoutPopup(args) {
|
|
102
|
+
this.store.dispatch(oidcActions.signOutPopup(args));
|
|
103
|
+
}
|
|
104
|
+
signoutRedirect(args) {
|
|
105
|
+
this.store.dispatch(oidcActions.signOutRedirect(args));
|
|
106
|
+
}
|
|
107
|
+
getSigninUrl(args) {
|
|
108
|
+
return this.oidcService.getSigninUrl(args);
|
|
109
|
+
}
|
|
110
|
+
getSignoutUrl(args) {
|
|
111
|
+
return this.oidcService.getSignoutUrl(args);
|
|
112
|
+
}
|
|
113
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
114
|
+
registerEvent(event, callback) {
|
|
115
|
+
this.oidcService.registerOidcEvent(event, callback);
|
|
116
|
+
}
|
|
117
|
+
registerDefaultEvents() {
|
|
118
|
+
// add simple loggers
|
|
119
|
+
this.registerEvent(OidcEvent.AccessTokenExpired, this.accessTokenExpired);
|
|
120
|
+
this.registerEvent(OidcEvent.AccessTokenExpiring, this.accessTokenExpiring);
|
|
121
|
+
this.registerEvent(OidcEvent.SilentRenewError, this.addSilentRenewError);
|
|
122
|
+
this.registerEvent(OidcEvent.UserLoaded, this.addUserLoaded);
|
|
123
|
+
this.registerEvent(OidcEvent.UserUnloaded, this.addUserUnLoaded);
|
|
124
|
+
this.registerEvent(OidcEvent.UserSignedOut, this.addUserSignedOut);
|
|
125
|
+
this.registerEvent(OidcEvent.UserSessionChanged, this.addUserSessionChanged);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
OidcFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: OidcFacade, deps: [{ token: i1.Store }, { token: i2.OidcService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
129
|
+
OidcFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: OidcFacade, providedIn: 'root' });
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: OidcFacade, decorators: [{
|
|
131
|
+
type: Injectable,
|
|
132
|
+
args: [{
|
|
133
|
+
providedIn: 'root',
|
|
134
|
+
}]
|
|
135
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.OidcService }]; } });
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2lkYy1jbGllbnQvc3JjL2xpYi8rc3RhdGUvb2lkYy5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVFwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssV0FBVyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTzlDLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFlBQ21CLEtBQXVCLEVBQ3ZCLFdBQXdCO1FBRHhCLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSzNDLGFBQVEsR0FBd0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVFLGNBQVMsR0FBd0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2hELFNBQVMsQ0FBQyxrQkFBa0IsQ0FDN0IsQ0FBQztRQUNGLGFBQVEsR0FBd0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQy9DLFNBQVMsQ0FBQyxpQkFBaUIsQ0FDNUIsQ0FBQztRQUNGLGNBQVMsR0FBd0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLGNBQVMsR0FB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QVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsYUFBYSxDQUNoQixTQUFTLENBQUMsa0JBQWtCLEVBQzVCLElBQUksQ0FBQyxxQkFBcUIsQ0FDM0IsQ0FBQztJQUNKLENBQUM7O3VHQXZLVSxVQUFVOzJHQUFWLFVBQVUsY0FGVCxNQUFNOzJGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBPaWRjQ2xpZW50LFxuICBTaWduaW5SZXF1ZXN0LFxuICBTaWdub3V0UmVxdWVzdCxcbiAgVXNlck1hbmFnZXIsXG59IGZyb20gJ29pZGMtY2xpZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2lkY1N0YXRlIH0gZnJvbSAnLi9vaWRjLnJlZHVjZXInO1xuaW1wb3J0IHsgb2lkY1F1ZXJ5IH0gZnJvbSAnLi9vaWRjLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBPaWRjU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29pZGMuc2VydmljZSc7XG5pbXBvcnQgeyBSZXF1ZXN0QXJ1Z21lbnRzIH0gZnJvbSAnLi4vbW9kZWxzL2FyZ3VtZW50cy5tb2RlbCc7XG5pbXBvcnQgeyBPaWRjRXZlbnQgfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcbmltcG9ydCAqIGFzIG9pZGNBY3Rpb25zIGZyb20gJy4vb2lkYy5hY3Rpb25zJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSU9pZGNVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL29pZGMtdXNlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBPaWRjRmFjYWRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8T2lkY1N0YXRlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9pZGNTZXJ2aWNlOiBPaWRjU2VydmljZVxuICApIHtcbiAgICB0aGlzLnJlZ2lzdGVyRGVmYXVsdEV2ZW50cygpO1xuICB9XG5cbiAgbG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnN0b3JlLnNlbGVjdChvaWRjUXVlcnkuZ2V0T2lkY0xvYWRpbmcpO1xuICBleHBpcmluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnN0b3JlLnNlbGVjdChcbiAgICBvaWRjUXVlcnkuaXNJZGVudGl0eUV4cGlyaW5nXG4gICk7XG4gIGV4cGlyZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5zdG9yZS5zZWxlY3QoXG4gICAgb2lkY1F1ZXJ5LmlzSWRlbnRpdHlFeHBpcmVkXG4gICk7XG4gIGxvZ2dlZEluJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuc3RvcmUuc2VsZWN0KG9pZGNRdWVyeS5pc0xvZ2dlZEluKTtcbiAgaWRlbnRpdHkkOiBPYnNlcnZhYmxlPElPaWRjVXNlciB8IHVuZGVmaW5lZD4gPSB0aGlzLnN0b3JlLnNlbGVjdChcbiAgICBvaWRjUXVlcnkuZ2V0T2lkY0lkZW50aXR5XG4gICk7XG4gIGFjY2Vzc1Rva2VuJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gdGhpcy5zdG9yZS5zZWxlY3QoXG4gICAgb2lkY1F1ZXJ5LmdldEFjY2Vzc1Rva2VuXG4gICk7XG4gIGh0dHBFcnJvciQ6IE9ic2VydmFibGU8SHR0cEVycm9yUmVzcG9uc2UgfCB1bmRlZmluZWQ+ID0gdGhpcy5zdG9yZS5zZWxlY3QoXG4gICAgb2lkY1F1ZXJ5LmdldEh0dHBFcnJvclxuICApO1xuICBzaWduSW5FcnJvciQ6IE9ic2VydmFibGU8dW5rbm93bj4gPSB0aGlzLnN0b3JlLnNlbGVjdChcbiAgICBvaWRjUXVlcnkuZ2V0U2lnbkluRXJyb3JcbiAgKTtcbiAgc2lsZW50UmVuZXdFcnJvciQ6IE9ic2VydmFibGU8dW5rbm93bj4gPSB0aGlzLnN0b3JlLnNlbGVjdChcbiAgICBvaWRjUXVlcnkuZ2V0U2lsZW50UmVuZXdFcnJvclxuICApO1xuICBoYXNFcnJvcnMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5zdG9yZS5zZWxlY3Qob2lkY1F1ZXJ5Lmhhc0Vycm9ycyk7XG4gIHBlcm1pc3Npb25zJDogT2JzZXJ2YWJsZTxzdHJpbmdbXSB8IHVuZGVmaW5lZD4gPSB0aGlzLnN0b3JlLnNlbGVjdChcbiAgICBvaWRjUXVlcnkuZ2V0UGVybWlzc2lvbnNcbiAgKTtcbiAgYXVkaWVuY2VzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXSB8IG51bGwgfCB1bmRlZmluZWQ+ID0gdGhpcy5zdG9yZS5zZWxlY3QoXG4gICAgb2lkY1F1ZXJ5LmdldEF1ZGllbmNlc1xuICApO1xuICBleHBpcmVzQXQkOiBPYnNlcnZhYmxlPERhdGUgfCBudWxsPiA9IHRoaXMuc3RvcmUuc2VsZWN0KFxuICAgIG9pZGNRdWVyeS5nZXRFeHBpcmVzQXRcbiAgKTtcbiAgdXNlck1ldGFkYXRhJDogT2JzZXJ2YWJsZTx1bmtub3duPiA9IHRoaXMuc3RvcmUuc2VsZWN0KFxuICAgIG9pZGNRdWVyeS5nZXRVc2VyTWV0YWRhdGFcbiAgKTtcblxuICAvLyBkZWZhdWx0IGJpbmRpbmdzIHRvIGV2ZW50c1xuICBwdWJsaWMgYWRkVXNlclVuTG9hZGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0b3JlKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG9pZGNBY3Rpb25zLm9uVXNlclVubG9hZGVkKCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhY2Nlc3NUb2tlbkV4cGlyZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcmUpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gob2lkY0FjdGlvbnMub25BY2Nlc3NUb2tlbkV4cGlyZWQoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XG4gICAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWNjZXNzVG9rZW5FeHBpcmluZygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9yZSkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChvaWRjQWN0aW9ucy5vbkFjY2Vzc1Rva2VuRXhwaXJpbmcoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWNjZXNzVG9rZW5FeHBpcmVkKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZFNpbGVudFJlbmV3RXJyb3IoLi4uZXY6IHVua25vd25bXSk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gob2lkY0FjdGlvbnMub25TaWxlbnRSZW5ld0Vycm9yKGV2WzBdIGFzIEVycm9yKSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVXNlckxvYWRlZCguLi5ldjogdW5rbm93bltdKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChvaWRjQWN0aW9ucy5vblVzZXJMb2FkZWQoZXZbMF0gYXMgSU9pZGNVc2VyKSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVXNlclNpZ25lZE91dCgpOiB2b2lkIHtcbiAgICB0aGlzLm9pZGNTZXJ2aWNlLnJlbW92ZU9pZGNVc2VyKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChvaWRjQWN0aW9ucy5vblVzZXJTaWduZWRPdXQoKSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyBhZGRVc2VyU2Vzc2lvbkNoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChvaWRjQWN0aW9ucy5vblNlc3Npb25DaGFuZ2VkKCkpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyRXJyb3JzKCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gob2lkY0FjdGlvbnMuY2xlYXJFcnJvcnMoKSk7XG4gIH1cblxuICAvLyBPSURDIE1ldGhvZHNcblxuICBwdWJsaWMgZ2V0T2lkY1VzZXIoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChvaWRjQWN0aW9ucy5nZXRPaWRjVXNlcigpKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVPaWRjVXNlcigpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG9pZGNBY3Rpb25zLnJlbW92ZU9pZGNVc2VyKCkpO1xuICB9XG5cbiAgcHVibGljIGdldFVzZXJNYW5hZ2VyKCk6IFVzZXJNYW5hZ2VyIHtcbiAgICByZXR1cm4gdGhpcy5vaWRjU2VydmljZS5nZXRVc2VyTWFuYWdlcigpO1xuICB9XG5cbiAgcHVibGljIGdldE9pZGNDbGllbnQoKTogT2lkY0NsaWVudCB7XG4gICAgcmV0dXJuIHRoaXMub2lkY1NlcnZpY2UuZ2V0T2lkY0NsaWVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbnQgZnVuY3Rpb24gdG8gd2FpdCBmb3IgbG9hZGVkLlxuICAgKi9cbiAgcHVibGljIHdhaXRGb3JBdXRoZW50aWNhdGlvbkxvYWRlZCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5sb2FkaW5nJC5waXBlKFxuICAgICAgZmlsdGVyKChsb2FkaW5nKSA9PiBsb2FkaW5nID09PSBmYWxzZSksXG4gICAgICB0YWtlKDEpLFxuICAgICAgbWFwKCgpID0+IHRydWUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzaWduaW5Qb3B1cChhcmdzOiBSZXF1ZXN0QXJ1Z21lbnRzKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChvaWRjQWN0aW9ucy5zaWduSW5Qb3B1cChhcmdzKSk7XG4gIH1cblxuICBwdWJsaWMgc2lnbmluUmVkaXJlY3QoYXJncz86IFJlcXVlc3RBcnVnbWVudHMpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG9pZGNBY3Rpb25zLnNpZ25JblJlZGlyZWN0KGFyZ3MpKTtcbiAgfVxuXG4gIHB1YmxpYyBzaWduaW5TaWxlbnQoYXJnczogUmVxdWVzdEFydWdtZW50cyk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gob2lkY0FjdGlvbnMuc2lnbkluU2lsZW50KGFyZ3MpKTtcbiAgfVxuXG4gIHB1YmxpYyBzaWdub3V0UG9wdXAoYXJnczogUmVxdWVzdEFydWdtZW50cyk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gob2lkY0FjdGlvbnMuc2lnbk91dFBvcHVwKGFyZ3MpKTtcbiAgfVxuXG4gIHB1YmxpYyBzaWdub3V0UmVkaXJlY3QoYXJncz86IFJlcXVlc3RBcnVnbWVudHMpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG9pZGNBY3Rpb25zLnNpZ25PdXRSZWRpcmVjdChhcmdzKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2lnbmluVXJsKGFyZ3M/OiBSZXF1ZXN0QXJ1Z21lbnRzKTogT2JzZXJ2YWJsZTxTaWduaW5SZXF1ZXN0PiB7XG4gICAgcmV0dXJuIHRoaXMub2lkY1NlcnZpY2UuZ2V0U2lnbmluVXJsKGFyZ3MpO1xuICB9XG5cbiAgZ2V0U2lnbm91dFVybChhcmdzPzogUmVxdWVzdEFydWdtZW50cyk6IE9ic2VydmFibGU8U2lnbm91dFJlcXVlc3Q+IHtcbiAgICByZXR1cm4gdGhpcy5vaWRjU2VydmljZS5nZXRTaWdub3V0VXJsKGFyZ3MpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcmVnaXN0ZXJFdmVudChldmVudDogT2lkY0V2ZW50LCBjYWxsYmFjazogKC4uLmV2OiB1bmtub3duW10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9pZGNTZXJ2aWNlLnJlZ2lzdGVyT2lkY0V2ZW50KGV2ZW50LCBjYWxsYmFjayk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyRGVmYXVsdEV2ZW50cygpOiB2b2lkIHtcbiAgICAvLyBhZGQgc2ltcGxlIGxvZ2dlcnNcbiAgICB0aGlzLnJlZ2lzdGVyRXZlbnQoT2lkY0V2ZW50LkFjY2Vzc1Rva2VuRXhwaXJlZCwgdGhpcy5hY2Nlc3NUb2tlbkV4cGlyZWQpO1xuICAgIHRoaXMucmVnaXN0ZXJFdmVudChPaWRjRXZlbnQuQWNjZXNzVG9rZW5FeHBpcmluZywgdGhpcy5hY2Nlc3NUb2tlbkV4cGlyaW5nKTtcbiAgICB0aGlzLnJlZ2lzdGVyRXZlbnQoT2lkY0V2ZW50LlNpbGVudFJlbmV3RXJyb3IsIHRoaXMuYWRkU2lsZW50UmVuZXdFcnJvcik7XG5cbiAgICB0aGlzLnJlZ2lzdGVyRXZlbnQoT2lkY0V2ZW50LlVzZXJMb2FkZWQsIHRoaXMuYWRkVXNlckxvYWRlZCk7XG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KE9pZGNFdmVudC5Vc2VyVW5sb2FkZWQsIHRoaXMuYWRkVXNlclVuTG9hZGVkKTtcbiAgICB0aGlzLnJlZ2lzdGVyRXZlbnQoT2lkY0V2ZW50LlVzZXJTaWduZWRPdXQsIHRoaXMuYWRkVXNlclNpZ25lZE91dCk7XG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KFxuICAgICAgT2lkY0V2ZW50LlVzZXJTZXNzaW9uQ2hhbmdlZCxcbiAgICAgIHRoaXMuYWRkVXNlclNlc3Npb25DaGFuZ2VkXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as oidcActions from './oidc.actions';
|
|
2
|
+
import { jwtDecoder } from '../util/jwt-decoder';
|
|
3
|
+
import { on, createReducer } from '@ngrx/store';
|
|
4
|
+
export const OIDC_FEATURE_KEY = 'oidc';
|
|
5
|
+
export const initialState = {
|
|
6
|
+
audiences: [],
|
|
7
|
+
permissions: [],
|
|
8
|
+
loading: true,
|
|
9
|
+
loggedIn: false,
|
|
10
|
+
expiring: false,
|
|
11
|
+
expired: false,
|
|
12
|
+
errors: {
|
|
13
|
+
silentRenewError: undefined,
|
|
14
|
+
signInError: undefined,
|
|
15
|
+
httpError: undefined,
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
const featureReducer = createReducer(initialState, on(oidcActions.getOidcUser, oidcActions.onUserLoading, (state) => ({
|
|
19
|
+
...state,
|
|
20
|
+
loading: true,
|
|
21
|
+
loggedIn: false,
|
|
22
|
+
})), on(oidcActions.removeOidcUser, (state) => ({
|
|
23
|
+
...state,
|
|
24
|
+
loading: true,
|
|
25
|
+
loggedIn: false,
|
|
26
|
+
identity: undefined,
|
|
27
|
+
})), on(oidcActions.setHttpError, (state, err) => ({
|
|
28
|
+
...state,
|
|
29
|
+
loading: false,
|
|
30
|
+
errors: {
|
|
31
|
+
...state.errors,
|
|
32
|
+
httpError: err.payload,
|
|
33
|
+
},
|
|
34
|
+
})), on(oidcActions.onUserMetadataLoaded, (state, userMetadata) => ({
|
|
35
|
+
...state,
|
|
36
|
+
userMetadata: userMetadata.payload,
|
|
37
|
+
loading: false,
|
|
38
|
+
})), on(oidcActions.clearErrors, (state) => ({ ...state, errors: {} })), on(oidcActions.userDoneLoading, (state) => ({ ...state, loading: false })), on(oidcActions.onAccessTokenExpiring, (state) => ({
|
|
39
|
+
...state,
|
|
40
|
+
expiring: true,
|
|
41
|
+
})), on(oidcActions.onAccessTokenExpired, (state) => ({
|
|
42
|
+
...state,
|
|
43
|
+
loggedIn: false,
|
|
44
|
+
expiring: false,
|
|
45
|
+
expired: true,
|
|
46
|
+
})), on(oidcActions.onUserLoaded, (state) => ({
|
|
47
|
+
...state,
|
|
48
|
+
loading: false,
|
|
49
|
+
expiring: false,
|
|
50
|
+
})), on(oidcActions.onUserUnloaded, oidcActions.onUserSignedOut, oidcActions.signOutPopupError, oidcActions.signOutRedirectError, (state) => ({
|
|
51
|
+
...state,
|
|
52
|
+
loggedIn: false,
|
|
53
|
+
identity: undefined,
|
|
54
|
+
expired: true,
|
|
55
|
+
expiring: false,
|
|
56
|
+
userMetadata: undefined,
|
|
57
|
+
})), on(oidcActions.signOutRedirect, oidcActions.signOutPopup, (state) => ({
|
|
58
|
+
...state,
|
|
59
|
+
identity: undefined,
|
|
60
|
+
userMetadata: null,
|
|
61
|
+
loggedIn: false,
|
|
62
|
+
})), on(oidcActions.userFound, oidcActions.onSignInPopup, oidcActions.onSignInRedirect, oidcActions.onSignInSilent, (state, { payload }) => ({
|
|
63
|
+
...state,
|
|
64
|
+
identity: payload,
|
|
65
|
+
loggedIn: true,
|
|
66
|
+
audiences: payload.access_token
|
|
67
|
+
? jwtDecoder(payload.access_token)?.aud
|
|
68
|
+
: undefined,
|
|
69
|
+
permissions: jwtDecoder(payload.access_token)
|
|
70
|
+
?.permissions,
|
|
71
|
+
})), on(oidcActions.userExpired, (state) => ({
|
|
72
|
+
...state,
|
|
73
|
+
loggedIn: false,
|
|
74
|
+
expiring: false,
|
|
75
|
+
})), on(oidcActions.onSilentRenewError, (state, err) => ({
|
|
76
|
+
...state,
|
|
77
|
+
loading: false,
|
|
78
|
+
errors: {
|
|
79
|
+
...state.errors,
|
|
80
|
+
silentRenewError: err.payload,
|
|
81
|
+
},
|
|
82
|
+
})), on(oidcActions.userDoneLoadingError, oidcActions.signInError, (state, err) => ({
|
|
83
|
+
...state,
|
|
84
|
+
loading: false,
|
|
85
|
+
errors: {
|
|
86
|
+
...state.errors,
|
|
87
|
+
signInError: err.payload,
|
|
88
|
+
},
|
|
89
|
+
})));
|
|
90
|
+
export function oidcReducer(state, action) {
|
|
91
|
+
return featureReducer(state, action);
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9pZGMtY2xpZW50L3NyYy9saWIvK3N0YXRlL29pZGMucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssV0FBVyxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBVSxNQUFNLGFBQWEsQ0FBQztBQUl4RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7QUFxQnZDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBYztJQUNyQyxTQUFTLEVBQUUsRUFBRTtJQUNiLFdBQVcsRUFBRSxFQUFFO0lBQ2YsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsS0FBSztJQUNmLFFBQVEsRUFBRSxLQUFLO0lBQ2YsT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUU7UUFDTixnQkFBZ0IsRUFBRSxTQUFTO1FBQzNCLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLFNBQVMsRUFBRSxTQUFTO0tBQ3JCO0NBQ0YsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FDbEMsWUFBWSxFQUNaLEVBQUUsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsR0FBRyxLQUFLO0lBQ1IsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsS0FBSztDQUNoQixDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6QyxHQUFHLEtBQUs7SUFDUixPQUFPLEVBQUUsSUFBSTtJQUNiLFFBQVEsRUFBRSxLQUFLO0lB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QUNiLFdBQVcsRUFBRSxVQUFVLENBQXVCLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDakUsRUFBRSxXQUFXO0NBQ2hCLENBQUMsQ0FDSCxFQUNELEVBQUUsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLEdBQUcsS0FBSztJQUNSLFFBQVEsRUFBRSxLQUFLO0lBQ2YsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEQsR0FBRyxLQUFLO0lBQ1IsT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUU7UUFDTixHQUFHLEtBQUssQ0FBQyxNQUFNO1FBQ2YsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLE9BQU87S0FDOUI7Q0FDRixDQUFDLENBQUMsRUFDSCxFQUFFLENBQ0EsV0FBVyxDQUFDLG9CQUFvQixFQUNoQyxXQUFXLENBQUMsV0FBVyxFQUN2QixDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDZixHQUFHLEtBQUs7SUFDUixPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRTtRQUNOLEdBQUcsS0FBSyxDQUFDLE1BQU07UUFDZixXQUFXLEVBQUUsR0FBRyxDQUFDLE9BQU87S0FDekI7Q0FDRixDQUFDLENBQ0gsQ0FDRixDQUFDO0FBRUYsTUFBTSxVQUFVLFdBQVcsQ0FDekIsS0FBNEIsRUFDNUIsTUFBYztJQUVkLE9BQU8sY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb2lkY0FjdGlvbnMgZnJvbSAnLi9vaWRjLmFjdGlvbnMnO1xuaW1wb3J0IHsgand0RGVjb2RlciB9IGZyb20gJy4uL3V0aWwvand0LWRlY29kZXInO1xuaW1wb3J0IHsgb24sIGNyZWF0ZVJlZHVjZXIsIEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSU9pZGNVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL29pZGMtdXNlcic7XG5cbmV4cG9ydCBjb25zdCBPSURDX0ZFQVRVUkVfS0VZID0gJ29pZGMnO1xuZXhwb3J0IGludGVyZmFjZSBPaWRjU3RhdGUge1xuICBpZGVudGl0eT86IElPaWRjVXNlcjtcbiAgYXVkaWVuY2VzPzogc3RyaW5nW107XG4gIHVzZXJNZXRhZGF0YT86IHVua25vd247XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIGxvZ2dlZEluOiBib29sZWFuO1xuICBleHBpcmluZzogYm9vbGVhbjtcbiAgZXhwaXJlZDogYm9vbGVhbjtcbiAgZXJyb3JzOiBFcnJvclN0YXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yU3RhdGUge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBzaWxlbnRSZW5ld0Vycm9yPzogdW5rbm93bjtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgc2lnbkluRXJyb3I/OiB1bmtub3duO1xuICBodHRwRXJyb3I/OiBIdHRwRXJyb3JSZXNwb25zZTtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxTdGF0ZTogT2lkY1N0YXRlID0ge1xuICBhdWRpZW5jZXM6IFtdLFxuICBwZXJtaXNzaW9uczogW10sXG4gIGxvYWRpbmc6IHRydWUsXG4gIGxvZ2dlZEluOiBmYWxzZSxcbiAgZXhwaXJpbmc6IGZhbHNlLFxuICBleHBpcmVkOiBmYWxzZSxcbiAgZXJyb3JzOiB7XG4gICAgc2lsZW50UmVuZXdFcnJvcjogdW5kZWZpbmVkLFxuICAgIHNpZ25JbkVycm9yOiB1bmRlZmluZWQsXG4gICAgaHR0cEVycm9yOiB1bmRlZmluZWQsXG4gIH0sXG59O1xuXG5jb25zdCBmZWF0dXJlUmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIGluaXRpYWxTdGF0ZSxcbiAgb24ob2lkY0FjdGlvbnMuZ2V0T2lkY1VzZXIsIG9pZGNBY3Rpb25zLm9uVXNlckxvYWRpbmcsIChzdGF0ZSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiB0cnVlLFxuICAgIGxvZ2dlZEluOiBmYWxzZSxcbiAgfSkpLFxuICBvbihvaWRjQWN0aW9ucy5yZW1vdmVPaWRjVXNlciwgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxvYWRpbmc6IHRydWUsXG4gICAgbG9nZ2VkSW46IGZhbHNlLFxuICAgIGlkZW50aXR5OiB1bmRlZmluZWQsXG4gIH0pKSxcbiAgb24ob2lkY0FjdGlvbnMuc2V0SHR0cEVycm9yLCAoc3RhdGUsIGVycikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICBlcnJvcnM6IHtcbiAgICAgIC4uLnN0YXRlLmVycm9ycyxcbiAgICAgIGh0dHBFcnJvcjogZXJyLnBheWxvYWQsXG4gICAgfSxcbiAgfSkpLFxuICBvbihvaWRjQWN0aW9ucy5vblVzZXJNZXRhZGF0YUxvYWRlZCwgKHN0YXRlLCB1c2VyTWV0YWRhdGEpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgdXNlck1ldGFkYXRhOiB1c2VyTWV0YWRhdGEucGF5bG9hZCxcbiAgICBsb2FkaW5nOiBmYWxzZSxcbiAgfSkpLFxuICBvbihvaWRjQWN0aW9ucy5jbGVhckVycm9ycywgKHN0YXRlKSA9PiAoeyAuLi5zdGF0ZSwgZXJyb3JzOiB7fSB9KSksXG4gIG9uKG9pZGNBY3Rpb25zLnVzZXJEb25lTG9hZGluZywgKHN0YXRlKSA9PiAoeyAuLi5zdGF0ZSwgbG9hZGluZzogZmFsc2UgfSkpLFxuICBvbihvaWRjQWN0aW9ucy5vbkFjY2Vzc1Rva2VuRXhwaXJpbmcsIChzdGF0ZSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBleHBpcmluZzogdHJ1ZSxcbiAgfSkpLFxuICBvbihvaWRjQWN0aW9ucy5vbkFjY2Vzc1Rva2VuRXhwaXJlZCwgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxvZ2dlZEluOiBmYWxzZSxcbiAgICBleHBpcmluZzogZmFsc2UsXG4gICAgZXhwaXJlZDogdHJ1ZSxcbiAgfSkpLFxuICBvbihvaWRjQWN0aW9ucy5vblVzZXJMb2FkZWQsIChzdGF0ZSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICBleHBpcmluZzogZmFsc2UsXG4gIH0pKSxcbiAgb24oXG4gICAgb2lkY0FjdGlvbnMub25Vc2VyVW5sb2FkZWQsXG4gICAgb2lkY0FjdGlvbnMub25Vc2VyU2lnbmVkT3V0LFxuICAgIG9pZGNBY3Rpb25zLnNpZ25PdXRQb3B1cEVycm9yLFxuICAgIG9pZGNBY3Rpb25zLnNpZ25PdXRSZWRpcmVjdEVycm9yLFxuICAgIChzdGF0ZSkgPT4gKHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbG9nZ2VkSW46IGZhbHNlLFxuICAgICAgaWRlbnRpdHk6IHVuZGVmaW5lZCxcbiAgICAgIGV4cGlyZWQ6IHRydWUsXG4gICAgICBleHBpcmluZzogZmFsc2UsXG4gICAgICB1c2VyTWV0YWRhdGE6IHVuZGVmaW5lZCxcbiAgICB9KVxuICApLFxuICBvbihvaWRjQWN0aW9ucy5zaWduT3V0UmVkaXJlY3QsIG9pZGNBY3Rpb25zLnNpZ25PdXRQb3B1cCwgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGlkZW50aXR5OiB1bmRlZmluZWQsXG4gICAgdXNlck1ldGFkYXRhOiBudWxsLFxuICAgIGxvZ2dlZEluOiBmYWxzZSxcbiAgfSkpLFxuICBvbihcbiAgICBvaWRjQWN0aW9ucy51c2VyRm91bmQsXG4gICAgb2lkY0FjdGlvbnMub25TaWduSW5Qb3B1cCxcbiAgICBvaWRjQWN0aW9ucy5vblNpZ25JblJlZGlyZWN0LFxuICAgIG9pZGNBY3Rpb25zLm9uU2lnbkluU2lsZW50LFxuICAgIChzdGF0ZSwgeyBwYXlsb2FkIH0pID0+ICh7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGlkZW50aXR5OiBwYXlsb2FkLFxuICAgICAgbG9nZ2VkSW46IHRydWUsXG4gICAgICBhdWRpZW5jZXM6IHBheWxvYWQuYWNjZXNzX3Rva2VuXG4gICAgICAgID8gand0RGVjb2Rlcjx7IGF1ZD86IFtdIH0+KHBheWxvYWQuYWNjZXNzX3Rva2VuKT8uYXVkXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgcGVybWlzc2lvbnM6IGp3dERlY29kZXI8eyBwZXJtaXNzaW9ucz86IFtdIH0+KHBheWxvYWQuYWNjZXNzX3Rva2VuKVxuICAgICAgICA/LnBlcm1pc3Npb25zLFxuICAgIH0pXG4gICksXG4gIG9uKG9pZGNBY3Rpb25zLnVzZXJFeHBpcmVkLCAoc3RhdGUpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbG9nZ2VkSW46IGZhbHNlLFxuICAgIGV4cGlyaW5nOiBmYWxzZSxcbiAgfSkpLFxuICBvbihvaWRjQWN0aW9ucy5vblNpbGVudFJlbmV3RXJyb3IsIChzdGF0ZSwgZXJyKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgIGVycm9yczoge1xuICAgICAgLi4uc3RhdGUuZXJyb3JzLFxuICAgICAgc2lsZW50UmVuZXdFcnJvcjogZXJyLnBheWxvYWQsXG4gICAgfSxcbiAgfSkpLFxuICBvbihcbiAgICBvaWRjQWN0aW9ucy51c2VyRG9uZUxvYWRpbmdFcnJvcixcbiAgICBvaWRjQWN0aW9ucy5zaWduSW5FcnJvcixcbiAgICAoc3RhdGUsIGVycikgPT4gKHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICBlcnJvcnM6IHtcbiAgICAgICAgLi4uc3RhdGUuZXJyb3JzLFxuICAgICAgICBzaWduSW5FcnJvcjogZXJyLnBheWxvYWQsXG4gICAgICB9LFxuICAgIH0pXG4gIClcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBvaWRjUmVkdWNlcihcbiAgc3RhdGU6IE9pZGNTdGF0ZSB8IHVuZGVmaW5lZCxcbiAgYWN0aW9uOiBBY3Rpb25cbik6IE9pZGNTdGF0ZSB7XG4gIHJldHVybiBmZWF0dXJlUmVkdWNlcihzdGF0ZSwgYWN0aW9uKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { createFeatureSelector, createSelector, } from '@ngrx/store';
|
|
2
|
+
// State Selectors
|
|
3
|
+
const selectOidcState = createFeatureSelector('oidc');
|
|
4
|
+
const getOidcLoading = createSelector(selectOidcState, (state) => state.loading);
|
|
5
|
+
const getOidcIdentity = createSelector(selectOidcState, (state) => state.identity);
|
|
6
|
+
const getAccessToken = createSelector(getOidcIdentity, (user) => (user || { access_token: undefined }).access_token);
|
|
7
|
+
const isIdentityExpiring = createSelector(selectOidcState, (state) => state.expiring);
|
|
8
|
+
const isIdentityExpired = createSelector(selectOidcState, (state) => state.expired);
|
|
9
|
+
const isLoggedIn = createSelector(selectOidcState, (state) => state.loggedIn);
|
|
10
|
+
// errors
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
12
|
+
const selectOidcErrorState = createSelector(selectOidcState, (state) => state.errors);
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
14
|
+
const hasErrors = createSelector(selectOidcErrorState, (state) => !!state.httpError || !!state.signInError || !!state.silentRenewError);
|
|
15
|
+
const getSignInError = createSelector(selectOidcErrorState, (errors) => errors.signInError);
|
|
16
|
+
const getSilentRenewError = createSelector(selectOidcErrorState, (errors) => errors.silentRenewError);
|
|
17
|
+
const getHttpError = createSelector(selectOidcErrorState, (errors) => errors.httpError);
|
|
18
|
+
const getPermissions = createSelector(selectOidcState, (state) => state.permissions);
|
|
19
|
+
const getAudiences = createSelector(selectOidcState, (state) => state.audiences);
|
|
20
|
+
const getExpiresAt = createSelector(getOidcIdentity, (state) => state?.expires_at ? new Date(state.expires_at * 1000) : null //NOSONAR
|
|
21
|
+
);
|
|
22
|
+
const getUserMetadata = createSelector(selectOidcState, (state) => state.userMetadata);
|
|
23
|
+
export const oidcQuery = {
|
|
24
|
+
getExpiresAt,
|
|
25
|
+
getPermissions,
|
|
26
|
+
selectOidcState,
|
|
27
|
+
getOidcLoading,
|
|
28
|
+
getOidcIdentity,
|
|
29
|
+
getAccessToken,
|
|
30
|
+
isIdentityExpiring,
|
|
31
|
+
getSilentRenewError,
|
|
32
|
+
isIdentityExpired,
|
|
33
|
+
isLoggedIn,
|
|
34
|
+
getSignInError,
|
|
35
|
+
getHttpError,
|
|
36
|
+
hasErrors,
|
|
37
|
+
getAudiences,
|
|
38
|
+
getUserMetadata,
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2lkYy1jbGllbnQvc3JjL2xpYi8rc3RhdGUvb2lkYy5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixjQUFjLEdBRWYsTUFBTSxhQUFhLENBQUM7QUFHckIsa0JBQWtCO0FBRWxCLE1BQU0sZUFBZSxHQUFHLHFCQUFxQixDQUFZLE1BQU0sQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FDbkMsZUFBZSxFQUNmLENBQUMsS0FBZ0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDcEMsQ0FBQztBQUNGLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FDcEMsZUFBZSxFQUNmLENBQUMsS0FBZ0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDckMsQ0FBQztBQUNGLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FDbkMsZUFBZSxFQUNmLENBQUMsSUFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQ3pFLENBQUM7QUFDRixNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FDdkMsZUFBZSxFQUNmLENBQUMsS0FBZ0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDckMsQ0FBQztBQUVGLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUN0QyxlQUFlLEVBQ2YsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNwQyxDQUFDO0FBQ0YsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUMvQixlQUFlLEVBQ2YsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNyQyxDQUFDO0FBRUYsU0FBUztBQUNULHdEQUF3RDtBQUN4RCxNQUFNLG9CQUFvQixHQUFxQyxjQUFjLENBQzNFLGVBQWUsRUFDZixDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ25DLENBQUM7QUFFRix3REFBd0Q7QUFDeEQsTUFBTSxTQUFTLEdBQWtDLGNBQWMsQ0FDN0Qsb0JBQW9CLEVBQ3BCLENBQUMsS0FBaUIsRUFBRSxFQUFFLENBQ3BCLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQ3ZFLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRyxjQUFjLENBQ25DLG9CQUFvQixFQUNwQixDQUFDLE1BQWtCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQzNDLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHLGNBQWMsQ0FDeEMsb0JBQW9CLEVBQ3BCLENBQUMsTUFBa0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUNoRCxDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUNqQyxvQkFBb0IsRUFDcEIsQ0FBQyxNQUFrQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUN6QyxDQUFDO0FBQ0YsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUNuQyxlQUFlLEVBQ2YsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUN4QyxDQUFDO0FBQ0YsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUNqQyxlQUFlLEVBQ2YsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUN0QyxDQUFDO0FBQ0YsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLGVBQWUsRUFBRSxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUN6RSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUztDQUN2RSxDQUFDO0FBQ0YsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUNwQyxlQUFlLEVBQ2YsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUN6QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3ZCLFlBQVk7SUFDWixjQUFjO0lBQ2QsZUFBZTtJQUNmLGNBQWM7SUFDZCxlQUFlO0lBQ2YsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFNBQVM7SUFDVCxZQUFZO0lBQ1osZUFBZTtDQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLFxuICBjcmVhdGVTZWxlY3RvcixcbiAgTWVtb2l6ZWRTZWxlY3Rvcixcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRXJyb3JTdGF0ZSwgT2lkY1N0YXRlIH0gZnJvbSAnLi9vaWRjLnJlZHVjZXInO1xuaW1wb3J0IHsgSU9pZGNVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL29pZGMtdXNlcic7XG4vLyBTdGF0ZSBTZWxlY3RvcnNcblxuY29uc3Qgc2VsZWN0T2lkY1N0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPE9pZGNTdGF0ZT4oJ29pZGMnKTtcbmNvbnN0IGdldE9pZGNMb2FkaW5nID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdE9pZGNTdGF0ZSxcbiAgKHN0YXRlOiBPaWRjU3RhdGUpID0+IHN0YXRlLmxvYWRpbmdcbik7XG5jb25zdCBnZXRPaWRjSWRlbnRpdHkgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0T2lkY1N0YXRlLFxuICAoc3RhdGU6IE9pZGNTdGF0ZSkgPT4gc3RhdGUuaWRlbnRpdHlcbik7XG5jb25zdCBnZXRBY2Nlc3NUb2tlbiA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRPaWRjSWRlbnRpdHksXG4gICh1c2VyPzogSU9pZGNVc2VyKSA9PiAodXNlciB8fCB7IGFjY2Vzc190b2tlbjogdW5kZWZpbmVkIH0pLmFjY2Vzc190b2tlblxuKTtcbmNvbnN0IGlzSWRlbnRpdHlFeHBpcmluZyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RPaWRjU3RhdGUsXG4gIChzdGF0ZTogT2lkY1N0YXRlKSA9PiBzdGF0ZS5leHBpcmluZ1xuKTtcblxuY29uc3QgaXNJZGVudGl0eUV4cGlyZWQgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0T2lkY1N0YXRlLFxuICAoc3RhdGU6IE9pZGNTdGF0ZSkgPT4gc3RhdGUuZXhwaXJlZFxuKTtcbmNvbnN0IGlzTG9nZ2VkSW4gPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0T2lkY1N0YXRlLFxuICAoc3RhdGU6IE9pZGNTdGF0ZSkgPT4gc3RhdGUubG9nZ2VkSW5cbik7XG5cbi8vIGVycm9yc1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbmNvbnN0IHNlbGVjdE9pZGNFcnJvclN0YXRlOiBNZW1vaXplZFNlbGVjdG9yPHt9LCBFcnJvclN0YXRlPiA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RPaWRjU3RhdGUsXG4gIChzdGF0ZTogT2lkY1N0YXRlKSA9PiBzdGF0ZS5lcnJvcnNcbik7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG5jb25zdCBoYXNFcnJvcnM6IE1lbW9pemVkU2VsZWN0b3I8e30sIGJvb2xlYW4+ID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdE9pZGNFcnJvclN0YXRlLFxuICAoc3RhdGU6IEVycm9yU3RhdGUpID0+XG4gICAgISFzdGF0ZS5odHRwRXJyb3IgfHwgISFzdGF0ZS5zaWduSW5FcnJvciB8fCAhIXN0YXRlLnNpbGVudFJlbmV3RXJyb3Jcbik7XG5cbmNvbnN0IGdldFNpZ25JbkVycm9yID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdE9pZGNFcnJvclN0YXRlLFxuICAoZXJyb3JzOiBFcnJvclN0YXRlKSA9PiBlcnJvcnMuc2lnbkluRXJyb3Jcbik7XG5cbmNvbnN0IGdldFNpbGVudFJlbmV3RXJyb3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0T2lkY0Vycm9yU3RhdGUsXG4gIChlcnJvcnM6IEVycm9yU3RhdGUpID0+IGVycm9ycy5zaWxlbnRSZW5ld0Vycm9yXG4pO1xuXG5jb25zdCBnZXRIdHRwRXJyb3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0T2lkY0Vycm9yU3RhdGUsXG4gIChlcnJvcnM6IEVycm9yU3RhdGUpID0+IGVycm9ycy5odHRwRXJyb3Jcbik7XG5jb25zdCBnZXRQZXJtaXNzaW9ucyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RPaWRjU3RhdGUsXG4gIChzdGF0ZTogT2lkY1N0YXRlKSA9PiBzdGF0ZS5wZXJtaXNzaW9uc1xuKTtcbmNvbnN0IGdldEF1ZGllbmNlcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RPaWRjU3RhdGUsXG4gIChzdGF0ZTogT2lkY1N0YXRlKSA9PiBzdGF0ZS5hdWRpZW5jZXNcbik7XG5jb25zdCBnZXRFeHBpcmVzQXQgPSBjcmVhdGVTZWxlY3RvcihnZXRPaWRjSWRlbnRpdHksIChzdGF0ZT86IElPaWRjVXNlcikgPT5cbiAgc3RhdGU/LmV4cGlyZXNfYXQgPyBuZXcgRGF0ZShzdGF0ZS5leHBpcmVzX2F0ICogMTAwMCkgOiBudWxsIC8vTk9TT05BUlxuKTtcbmNvbnN0IGdldFVzZXJNZXRhZGF0YSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RPaWRjU3RhdGUsXG4gIChzdGF0ZTogT2lkY1N0YXRlKSA9PiBzdGF0ZS51c2VyTWV0YWRhdGFcbik7XG5cbmV4cG9ydCBjb25zdCBvaWRjUXVlcnkgPSB7XG4gIGdldEV4cGlyZXNBdCxcbiAgZ2V0UGVybWlzc2lvbnMsXG4gIHNlbGVjdE9pZGNTdGF0ZSxcbiAgZ2V0T2lkY0xvYWRpbmcsXG4gIGdldE9pZGNJZGVudGl0eSxcbiAgZ2V0QWNjZXNzVG9rZW4sXG4gIGlzSWRlbnRpdHlFeHBpcmluZyxcbiAgZ2V0U2lsZW50UmVuZXdFcnJvcixcbiAgaXNJZGVudGl0eUV4cGlyZWQsXG4gIGlzTG9nZ2VkSW4sXG4gIGdldFNpZ25JbkVycm9yLFxuICBnZXRIdHRwRXJyb3IsXG4gIGhhc0Vycm9ycyxcbiAgZ2V0QXVkaWVuY2VzLFxuICBnZXRVc2VyTWV0YWRhdGEsXG59O1xuIl19
|