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
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface IOidcUser {
|
|
2
|
+
id_token: string;
|
|
3
|
+
session_state?: any;
|
|
4
|
+
access_token: string;
|
|
5
|
+
refresh_token?: string;
|
|
6
|
+
token_type: string;
|
|
7
|
+
scope: string;
|
|
8
|
+
profile: any;
|
|
9
|
+
expires_at: number;
|
|
10
|
+
state?: string;
|
|
11
|
+
toStorageString?: () => string;
|
|
12
|
+
readonly expires_in?: number;
|
|
13
|
+
readonly expired?: boolean;
|
|
14
|
+
readonly scopes?: string[];
|
|
15
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { OidcFacade } from '../+state/oidc.facade';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class AuthGuard implements CanActivate, CanActivateChild {
|
|
6
|
+
private readonly document;
|
|
7
|
+
private readonly oidcFacade;
|
|
8
|
+
constructor(document: any, oidcFacade: OidcFacade);
|
|
9
|
+
readonly isLoggedInPipe$: Observable<boolean>;
|
|
10
|
+
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>;
|
|
11
|
+
canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthGuard, never>;
|
|
13
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AuthGuard>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { OidcClient, SigninRequest, SignoutRequest, UserManager } from 'oidc-client';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { OidcEvent } from '../models/constants';
|
|
4
|
+
import { IOidcUser } from '../models/oidc-user';
|
|
5
|
+
import { HttpClient } from '@angular/common/http';
|
|
6
|
+
import { OidcLibraryConfig } from '../models/oidc-library-config';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class OidcService {
|
|
9
|
+
private readonly oidcLibraryConfig;
|
|
10
|
+
private readonly platformId;
|
|
11
|
+
private readonly httpClient;
|
|
12
|
+
readonly OidcUserManager: UserManager;
|
|
13
|
+
private readonly _oidcClient;
|
|
14
|
+
private readonly _userManagerSettings;
|
|
15
|
+
constructor(oidcLibraryConfig: OidcLibraryConfig, platformId: Object, httpClient: HttpClient);
|
|
16
|
+
getUserMetadata(): Observable<unknown>;
|
|
17
|
+
getUserManager(): UserManager;
|
|
18
|
+
getOidcClient(): OidcClient;
|
|
19
|
+
getOidcUser(): Observable<IOidcUser | null>;
|
|
20
|
+
removeOidcUser(): Observable<void>;
|
|
21
|
+
registerOidcEvent(event: OidcEvent, callback: (...ev: unknown[]) => void): void;
|
|
22
|
+
removeOidcEvent(event: OidcEvent, callback: (...ev: unknown[]) => void): void;
|
|
23
|
+
signInPopup(args?: any): Observable<IOidcUser>;
|
|
24
|
+
signInRedirect(args?: any): Observable<void>;
|
|
25
|
+
signOutPopup(args?: any): Observable<any>;
|
|
26
|
+
signOutRedirect(args?: any): Observable<any>;
|
|
27
|
+
signInSilent(args?: any): Observable<IOidcUser>;
|
|
28
|
+
signinPopupCallback(): Observable<any>;
|
|
29
|
+
signinRedirectCallback(): Observable<IOidcUser>;
|
|
30
|
+
signoutPopupCallback(): Observable<void>;
|
|
31
|
+
signoutRedirectCallback(): Observable<any>;
|
|
32
|
+
getSigninUrl(args?: any): Observable<SigninRequest>;
|
|
33
|
+
getSignoutUrl(args?: any): Observable<SignoutRequest>;
|
|
34
|
+
private setCallbackInformation;
|
|
35
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OidcService, never>;
|
|
36
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<OidcService>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { OidcFacade } from '../+state/oidc.facade';
|
|
4
|
+
import { OidcUserFacade } from '../+state/oidc-user.facade';
|
|
5
|
+
export declare abstract class PermissionsGuard implements CanActivate {
|
|
6
|
+
private readonly oidcFacade;
|
|
7
|
+
private readonly oidcUserFacade;
|
|
8
|
+
private readonly router;
|
|
9
|
+
constructor(oidcFacade: OidcFacade, oidcUserFacade: OidcUserFacade, router: Router);
|
|
10
|
+
protected abstract permissions: string[];
|
|
11
|
+
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | boolean;
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
|
|
3
|
+
import { Store } from '@ngrx/store';
|
|
4
|
+
import { OidcState } from '../+state/oidc.reducer';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class TokenInterceptorService implements HttpInterceptor {
|
|
7
|
+
private readonly store;
|
|
8
|
+
constructor(store: Store<OidcState>);
|
|
9
|
+
intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TokenInterceptorService, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TokenInterceptorService>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { OidcFacade } from '../+state/oidc.facade';
|
|
2
|
+
import { OidcUserFacade } from '../+state/oidc-user.facade';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class SupportComponent {
|
|
6
|
+
readonly facade: OidcFacade;
|
|
7
|
+
readonly oidcUserFacade: OidcUserFacade;
|
|
8
|
+
profileValue$: Observable<{
|
|
9
|
+
key: string;
|
|
10
|
+
value: string;
|
|
11
|
+
}[]>;
|
|
12
|
+
constructor(facade: OidcFacade, oidcUserFacade: OidcUserFacade);
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SupportComponent, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SupportComponent, "imng-support", never, {}, {}, never, never>;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function jwtDecoder<TYPE>(rawToken: string): TYPE | null;
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "imng-oidc-client",
|
|
3
|
+
"version": "4.102.10",
|
|
4
|
+
"description": "Small library to facilitate the integration of the ng-oidc-client library with the Auth0 identity provider.",
|
|
5
|
+
"peerDependencies": {
|
|
6
|
+
"@angular/common": "^13.2.0",
|
|
7
|
+
"@angular/core": "^13.2.0",
|
|
8
|
+
"@ngrx/store": "^13.1.0",
|
|
9
|
+
"rxjs": "~7.4.0",
|
|
10
|
+
"imng-ngrx-utils": "4.102.10",
|
|
11
|
+
"@ngrx/effects": "^13.1.0",
|
|
12
|
+
"@angular/router": "13.3.2",
|
|
13
|
+
"oidc-client": "^1.11.5"
|
|
14
|
+
},
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"tslib": "^2.3.0"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"Angular",
|
|
20
|
+
"oidc-client",
|
|
21
|
+
"ngrx"
|
|
22
|
+
],
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "https://github.com/ikemtz/AngularMonoRepo.git"
|
|
27
|
+
},
|
|
28
|
+
"icon": "https://avatars.githubusercontent.com/u/6444182?v=4",
|
|
29
|
+
"private": false,
|
|
30
|
+
"author": {
|
|
31
|
+
"name": "Isaac Martinez <@ikemtz>",
|
|
32
|
+
"url": "https://github.com/ikemtz"
|
|
33
|
+
},
|
|
34
|
+
"module": "fesm2015/imng-oidc-client.mjs",
|
|
35
|
+
"es2020": "fesm2020/imng-oidc-client.mjs",
|
|
36
|
+
"esm2020": "esm2020/imng-oidc-client.mjs",
|
|
37
|
+
"fesm2020": "fesm2020/imng-oidc-client.mjs",
|
|
38
|
+
"fesm2015": "fesm2015/imng-oidc-client.mjs",
|
|
39
|
+
"typings": "imng-oidc-client.d.ts",
|
|
40
|
+
"exports": {
|
|
41
|
+
"./package.json": {
|
|
42
|
+
"default": "./package.json"
|
|
43
|
+
},
|
|
44
|
+
".": {
|
|
45
|
+
"types": "./imng-oidc-client.d.ts",
|
|
46
|
+
"esm2020": "./esm2020/imng-oidc-client.mjs",
|
|
47
|
+
"es2020": "./fesm2020/imng-oidc-client.mjs",
|
|
48
|
+
"es2015": "./fesm2015/imng-oidc-client.mjs",
|
|
49
|
+
"node": "./fesm2015/imng-oidc-client.mjs",
|
|
50
|
+
"default": "./fesm2020/imng-oidc-client.mjs"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"sideEffects": false
|
|
54
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>Callback</title>
|
|
6
|
+
<link rel="icon" type="image/x-icon" href="favicon.png" />
|
|
7
|
+
<script
|
|
8
|
+
src="oidc-client.rsa256.slim.min.js"
|
|
9
|
+
type="application/javascript"
|
|
10
|
+
></script>
|
|
11
|
+
<script>
|
|
12
|
+
const hasError = 0 < window.location.href.toLowerCase().indexOf('error');
|
|
13
|
+
if (hasError) {
|
|
14
|
+
const x = (
|
|
15
|
+
0 < window.location.href.indexOf('#')
|
|
16
|
+
? window.location.href.split('#')
|
|
17
|
+
: window.location.href.split('?')
|
|
18
|
+
)[1];
|
|
19
|
+
for (var queryString in x.split('&')) {
|
|
20
|
+
queryString = decodeURI(queryString);
|
|
21
|
+
document.writeln('<h6>' + queryString + '</h6>');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
</script>
|
|
25
|
+
</head>
|
|
26
|
+
|
|
27
|
+
<body>
|
|
28
|
+
<script>
|
|
29
|
+
var Oidc = window.Oidc;
|
|
30
|
+
var settings = JSON.parse(window.localStorage.getItem('ngoidc:settings'));
|
|
31
|
+
var isPopupCallback = JSON.parse(
|
|
32
|
+
window.localStorage.getItem('ngoidc:isPopupCallback')
|
|
33
|
+
);
|
|
34
|
+
if (isPopupCallback) {
|
|
35
|
+
new Oidc.UserManager(settings).signinPopupCallback();
|
|
36
|
+
} else {
|
|
37
|
+
var promise = new Oidc.UserManager(settings).signinRedirectCallback();
|
|
38
|
+
promise.then(function (t) {
|
|
39
|
+
window.location.href = (t.state || {}).redirect_url || '/';
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
</script>
|
|
43
|
+
</body>
|
|
44
|
+
</html>
|