@thecla/auth0-angular 2.2.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/actions/auth.actions.mjs +8 -0
- package/esm2020/lib/auth-config.mjs +3 -0
- package/esm2020/lib/auth.guard.mjs +29 -0
- package/esm2020/lib/auth.module.mjs +42 -0
- package/esm2020/lib/auth.service.mjs +52 -0
- package/esm2020/lib/effects/auth.effects.mjs +53 -0
- package/esm2020/lib/jwt.interceptor.mjs +32 -0
- package/esm2020/lib/reducers/auth.reducer.mjs +20 -0
- package/esm2020/lib/state/auth.state.mjs +2 -0
- package/esm2020/lib/store/index.mjs +8 -0
- package/esm2020/public-api.mjs +5 -0
- package/esm2020/thecla-auth0-angular.mjs +5 -0
- package/fesm2015/thecla-auth0-angular.mjs +217 -0
- package/fesm2015/thecla-auth0-angular.mjs.map +1 -0
- package/fesm2020/thecla-auth0-angular.mjs +217 -0
- package/fesm2020/thecla-auth0-angular.mjs.map +1 -0
- package/lib/actions/auth.actions.d.ts +13 -9
- package/lib/auth-config.d.ts +1 -0
- package/lib/auth.guard.d.ts +4 -1
- package/lib/auth.module.d.ts +6 -0
- package/lib/auth.service.d.ts +5 -1
- package/lib/effects/auth.effects.d.ts +13 -6
- package/lib/jwt.interceptor.d.ts +3 -0
- package/lib/state/auth.state.d.ts +2 -2
- package/package.json +26 -14
- package/thecla-auth0-angular.d.ts +1 -7
- package/bundles/thecla-auth0-angular.umd.js +0 -558
- package/bundles/thecla-auth0-angular.umd.js.map +0 -1
- package/bundles/thecla-auth0-angular.umd.min.js +0 -2
- package/bundles/thecla-auth0-angular.umd.min.js.map +0 -1
- package/esm2015/lib/actions/auth.actions.js +0 -8
- package/esm2015/lib/auth-config.js +0 -3
- package/esm2015/lib/auth.guard.js +0 -30
- package/esm2015/lib/auth.module.js +0 -35
- package/esm2015/lib/auth.service.js +0 -57
- package/esm2015/lib/effects/auth.effects.js +0 -52
- package/esm2015/lib/jwt.interceptor.js +0 -31
- package/esm2015/lib/reducers/auth.reducer.js +0 -21
- package/esm2015/lib/state/auth.state.js +0 -1
- package/esm2015/lib/store/index.js +0 -11
- package/esm2015/public-api.js +0 -5
- package/esm2015/thecla-auth0-angular.js +0 -12
- package/fesm2015/thecla-auth0-angular.js +0 -221
- package/fesm2015/thecla-auth0-angular.js.map +0 -1
- package/thecla-auth0-angular.metadata.json +0 -1
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
2
|
-
import { ɵɵdefineInjectable, ɵɵinject, Injectable, NgModule } from '@angular/core';
|
|
3
|
-
import { createEffect, ofType, Actions, EffectsModule } from '@ngrx/effects';
|
|
4
|
-
import { createAction, props, createReducer, on, createFeatureSelector, select, StoreModule, Store } from '@ngrx/store';
|
|
5
|
-
import { Router } from '@angular/router';
|
|
6
|
-
import { from, EMPTY, of, asyncScheduler, pipe } from 'rxjs';
|
|
7
|
-
import { switchMap, map, catchError, tap, observeOn, mergeMap, filter, first } from 'rxjs/operators';
|
|
8
|
-
import { __awaiter, __rest } from 'tslib';
|
|
9
|
-
import { Auth0Client } from '@auth0/auth0-spa-js';
|
|
10
|
-
|
|
11
|
-
class AuthConfig {
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const signIn = createAction('@thecla/auth0-angular/sign-in', props());
|
|
15
|
-
const signInCompleted = createAction('@thecla/auth0-angular/sign-in-completed', props());
|
|
16
|
-
const signedIn = createAction('@thecla/auth0-angular/signed-in', props());
|
|
17
|
-
const signInFailed = createAction('@thecla/auth0-angular/sign-in-failed', props());
|
|
18
|
-
const signOut = createAction('@thecla/auth0-angular/sign-out');
|
|
19
|
-
const signedOut = createAction('@thecla/auth0-angular/signed-out');
|
|
20
|
-
|
|
21
|
-
class AuthService {
|
|
22
|
-
constructor(config) {
|
|
23
|
-
var _a, _b;
|
|
24
|
-
this.config = config;
|
|
25
|
-
this.auth0 = new Auth0Client({
|
|
26
|
-
audience: config.audience,
|
|
27
|
-
client_id: config.clientId,
|
|
28
|
-
domain: config.domain,
|
|
29
|
-
redirect_uri: (_a = config.redirectUri) !== null && _a !== void 0 ? _a : location.origin,
|
|
30
|
-
scope: config.scope,
|
|
31
|
-
useRefreshTokens: (_b = config.useRefreshTokens) !== null && _b !== void 0 ? _b : false,
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
isAuthenticated() {
|
|
35
|
-
return from(this.checkSession());
|
|
36
|
-
}
|
|
37
|
-
loginWithRedirect(appState) {
|
|
38
|
-
return from(this.auth0.loginWithRedirect({ appState })).pipe(switchMap(() => EMPTY));
|
|
39
|
-
}
|
|
40
|
-
handleRedirectCallback() {
|
|
41
|
-
return from(this.auth0.handleRedirectCallback()).pipe(map(result => result.appState));
|
|
42
|
-
}
|
|
43
|
-
getUser() {
|
|
44
|
-
return from(this.auth0.getUser());
|
|
45
|
-
}
|
|
46
|
-
getAccessToken() {
|
|
47
|
-
return from(this.auth0.getTokenSilently());
|
|
48
|
-
}
|
|
49
|
-
logout() {
|
|
50
|
-
var _a;
|
|
51
|
-
this.auth0.logout({ returnTo: (_a = this.config.logoutUri) !== null && _a !== void 0 ? _a : location.origin });
|
|
52
|
-
}
|
|
53
|
-
checkSession() {
|
|
54
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
-
yield this.auth0.checkSession();
|
|
56
|
-
return yield this.auth0.isAuthenticated();
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
AuthService.ɵprov = ɵɵdefineInjectable({ factory: function AuthService_Factory() { return new AuthService(ɵɵinject(AuthConfig)); }, token: AuthService, providedIn: "root" });
|
|
61
|
-
AuthService.decorators = [
|
|
62
|
-
{ type: Injectable, args: [{
|
|
63
|
-
providedIn: 'root',
|
|
64
|
-
},] }
|
|
65
|
-
];
|
|
66
|
-
AuthService.ctorParameters = () => [
|
|
67
|
-
{ type: AuthConfig }
|
|
68
|
-
];
|
|
69
|
-
|
|
70
|
-
class AuthEffects {
|
|
71
|
-
constructor(actions$, auth, router) {
|
|
72
|
-
this.actions$ = actions$;
|
|
73
|
-
this.auth = auth;
|
|
74
|
-
this.router = router;
|
|
75
|
-
this.signIn$ = createEffect(() => this.actions$.pipe(ofType(signIn), switchMap(action => this.auth.loginWithRedirect({ target: action.returnUrl }))), { dispatch: false });
|
|
76
|
-
this.signInCompleted$ = createEffect(() => this.actions$.pipe(ofType(signInCompleted), switchMap(() => this.auth.getUser().pipe(map(user => signedIn(user)), catchError(error => of(signInFailed({ error })))))));
|
|
77
|
-
this.redirect$ = createEffect(() => this.actions$.pipe(ofType(signInCompleted), switchMap(action => this.router.navigateByUrl(action.state.target, { replaceUrl: true }))), { dispatch: false });
|
|
78
|
-
this.signOut$ = createEffect(() => this.actions$.pipe(ofType(signOut), tap(() => {
|
|
79
|
-
try {
|
|
80
|
-
this.auth.logout();
|
|
81
|
-
}
|
|
82
|
-
catch (_a) { }
|
|
83
|
-
}), map(() => signedOut())));
|
|
84
|
-
this.init$ = createEffect(() => ({ scheduler = asyncScheduler } = {}) => {
|
|
85
|
-
const params = window.location.search;
|
|
86
|
-
if (params.includes('code=') && params.includes('state=')) {
|
|
87
|
-
return this.completeSignIn(scheduler);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
return this.auth.isAuthenticated().pipe(switchMap(auth => this.getAuthResult(auth)), catchError(error => of(signInFailed({ error }))), observeOn(scheduler));
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
getAuthResult(auth) {
|
|
95
|
-
if (auth) {
|
|
96
|
-
return this.auth.getUser().pipe(map(user => signedIn(user)));
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
return of(signedOut());
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
completeSignIn(scheduler) {
|
|
103
|
-
return this.auth.handleRedirectCallback().pipe(map(state => signInCompleted({ state })), catchError(error => of(signInFailed({ error }))), observeOn(scheduler));
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
AuthEffects.decorators = [
|
|
107
|
-
{ type: Injectable }
|
|
108
|
-
];
|
|
109
|
-
AuthEffects.ctorParameters = () => [
|
|
110
|
-
{ type: Actions },
|
|
111
|
-
{ type: AuthService },
|
|
112
|
-
{ type: Router }
|
|
113
|
-
];
|
|
114
|
-
|
|
115
|
-
class JwtInterceptor {
|
|
116
|
-
constructor(auth) {
|
|
117
|
-
this.auth = auth;
|
|
118
|
-
}
|
|
119
|
-
intercept(request, next) {
|
|
120
|
-
if (this.isSameDomain(request)) {
|
|
121
|
-
return this.authorize(request).pipe(mergeMap(authorizedRequest => next.handle(authorizedRequest)));
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
return next.handle(request);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
isSameDomain(request) {
|
|
128
|
-
const isAbsolute = /^https?:\/\//i.test(request.url);
|
|
129
|
-
return !isAbsolute;
|
|
130
|
-
}
|
|
131
|
-
authorize(request) {
|
|
132
|
-
const token$ = this.auth.getAccessToken();
|
|
133
|
-
return token$.pipe(map(token => request.clone({ setHeaders: { Authorization: `Bearer ${token}` } })));
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
JwtInterceptor.decorators = [
|
|
137
|
-
{ type: Injectable }
|
|
138
|
-
];
|
|
139
|
-
JwtInterceptor.ctorParameters = () => [
|
|
140
|
-
{ type: AuthService }
|
|
141
|
-
];
|
|
142
|
-
|
|
143
|
-
const noAuthentication = {
|
|
144
|
-
authenticating: false,
|
|
145
|
-
authenticated: false,
|
|
146
|
-
};
|
|
147
|
-
const startAuthentication = {
|
|
148
|
-
authenticating: true,
|
|
149
|
-
authenticated: false,
|
|
150
|
-
};
|
|
151
|
-
const ɵ0 = (state, _a) => {
|
|
152
|
-
var { type } = _a, payload = __rest(_a, ["type"]);
|
|
153
|
-
return Object.assign(Object.assign({}, state), { authenticating: false, authenticated: true, user: payload });
|
|
154
|
-
}, ɵ1 = () => noAuthentication, ɵ2 = () => noAuthentication;
|
|
155
|
-
const authReducer = createReducer(startAuthentication, on(signedIn, ɵ0), on(signedOut, ɵ1), on(signInFailed, ɵ2));
|
|
156
|
-
function reducer(state, action) {
|
|
157
|
-
return authReducer(state, action);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
const featureKey = 'auth';
|
|
161
|
-
const selectState = createFeatureSelector(featureKey);
|
|
162
|
-
const ɵ0$1 = state => !state.authenticating, ɵ1$1 = state => state.authenticated;
|
|
163
|
-
const isAuthenticated = pipe(select(selectState), filter(ɵ0$1), map(ɵ1$1));
|
|
164
|
-
const ɵ2$1 = state => !state.authenticating, ɵ3 = state => state.user;
|
|
165
|
-
const getUser = pipe(select(selectState), filter(ɵ2$1), map(ɵ3));
|
|
166
|
-
|
|
167
|
-
class AuthModule {
|
|
168
|
-
static forRoot(config) {
|
|
169
|
-
return {
|
|
170
|
-
ngModule: AuthModule,
|
|
171
|
-
providers: [
|
|
172
|
-
{
|
|
173
|
-
provide: AuthConfig,
|
|
174
|
-
useValue: config,
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
provide: HTTP_INTERCEPTORS,
|
|
178
|
-
useClass: JwtInterceptor,
|
|
179
|
-
multi: true,
|
|
180
|
-
},
|
|
181
|
-
],
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
AuthModule.decorators = [
|
|
186
|
-
{ type: NgModule, args: [{
|
|
187
|
-
declarations: [],
|
|
188
|
-
imports: [StoreModule.forFeature(featureKey, reducer), EffectsModule.forFeature([AuthEffects])],
|
|
189
|
-
exports: [],
|
|
190
|
-
},] }
|
|
191
|
-
];
|
|
192
|
-
|
|
193
|
-
class AuthGuard {
|
|
194
|
-
constructor(store) {
|
|
195
|
-
this.store = store;
|
|
196
|
-
this.authenticated$ = this.store.pipe(isAuthenticated);
|
|
197
|
-
}
|
|
198
|
-
canActivate(next, state) {
|
|
199
|
-
return this.authenticated$.pipe(tap(auth => {
|
|
200
|
-
if (!auth) {
|
|
201
|
-
this.store.dispatch(signIn({ returnUrl: state.url }));
|
|
202
|
-
}
|
|
203
|
-
}), first());
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
AuthGuard.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(ɵɵinject(Store)); }, token: AuthGuard, providedIn: "root" });
|
|
207
|
-
AuthGuard.decorators = [
|
|
208
|
-
{ type: Injectable, args: [{
|
|
209
|
-
providedIn: 'root',
|
|
210
|
-
},] }
|
|
211
|
-
];
|
|
212
|
-
AuthGuard.ctorParameters = () => [
|
|
213
|
-
{ type: Store }
|
|
214
|
-
];
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* Generated bundle index. Do not edit.
|
|
218
|
-
*/
|
|
219
|
-
|
|
220
|
-
export { AuthGuard, AuthModule, getUser, isAuthenticated, signIn, signOut, signedIn, signedOut, signInFailed as ɵa, featureKey as ɵb, selectState as ɵc, startAuthentication as ɵd, reducer as ɵe, AuthEffects as ɵf, AuthService as ɵg, AuthConfig as ɵh, JwtInterceptor as ɵi };
|
|
221
|
-
//# sourceMappingURL=thecla-auth0-angular.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"thecla-auth0-angular.js","sources":["../../../projects/auth0-angular/src/lib/auth-config.ts","../../../projects/auth0-angular/src/lib/actions/auth.actions.ts","../../../projects/auth0-angular/src/lib/auth.service.ts","../../../projects/auth0-angular/src/lib/effects/auth.effects.ts","../../../projects/auth0-angular/src/lib/jwt.interceptor.ts","../../../projects/auth0-angular/src/lib/reducers/auth.reducer.ts","../../../projects/auth0-angular/src/lib/store/index.ts","../../../projects/auth0-angular/src/lib/auth.module.ts","../../../projects/auth0-angular/src/lib/auth.guard.ts","../../../projects/auth0-angular/src/thecla-auth0-angular.ts"],"sourcesContent":["export abstract class AuthConfig {\n public abstract audience: string;\n public abstract clientId: string;\n public abstract domain: string;\n public abstract scope: string;\n public abstract redirectUri?: string;\n public abstract logoutUri?: string;\n public abstract useRefreshTokens?: boolean;\n}\n","import { createAction, props } from '@ngrx/store';\nimport { Profile } from '../state/auth.state';\n\nexport const signIn = createAction('@thecla/auth0-angular/sign-in', props<{ returnUrl: string }>());\n\nexport const signInCompleted = createAction(\n '@thecla/auth0-angular/sign-in-completed',\n props<{ state: { target: string } }>()\n);\n\nexport const signedIn = createAction('@thecla/auth0-angular/signed-in', props<Profile>());\n\nexport const signInFailed = createAction('@thecla/auth0-angular/sign-in-failed', props<{ error: Error }>());\n\nexport const signOut = createAction('@thecla/auth0-angular/sign-out');\n\nexport const signedOut = createAction('@thecla/auth0-angular/signed-out');\n","import { Injectable } from '@angular/core';\nimport { Auth0Client } from '@auth0/auth0-spa-js';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { AuthConfig } from './auth-config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private readonly auth0: Auth0Client;\n\n constructor(private readonly config: AuthConfig) {\n this.auth0 = new Auth0Client({\n audience: config.audience,\n client_id: config.clientId,\n domain: config.domain,\n redirect_uri: config.redirectUri ?? location.origin,\n scope: config.scope,\n useRefreshTokens: config.useRefreshTokens ?? false,\n });\n }\n\n public isAuthenticated() {\n return from(this.checkSession());\n }\n\n public loginWithRedirect(appState: { target: string }) {\n return from(this.auth0.loginWithRedirect({ appState })).pipe(switchMap(() => EMPTY));\n }\n\n public handleRedirectCallback() {\n return from(this.auth0.handleRedirectCallback()).pipe(map(result => result.appState as { target: string }));\n }\n\n public getUser() {\n return from(this.auth0.getUser());\n }\n\n public getAccessToken(): Observable<unknown> {\n return from(this.auth0.getTokenSilently());\n }\n\n public logout() {\n this.auth0.logout({ returnTo: this.config.logoutUri ?? location.origin });\n }\n\n private async checkSession() {\n await this.auth0.checkSession();\n\n return await this.auth0.isAuthenticated();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { asyncScheduler, of, SchedulerLike } from 'rxjs';\nimport { catchError, map, observeOn, switchMap, tap } from 'rxjs/operators';\nimport { signedIn, signedOut, signIn, signInCompleted, signInFailed, signOut } from '../actions/auth.actions';\nimport { AuthService } from '../auth.service';\n\n@Injectable()\nexport class AuthEffects {\n public readonly signIn$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(signIn),\n switchMap(action => this.auth.loginWithRedirect({ target: action.returnUrl }))\n ),\n { dispatch: false }\n );\n\n public readonly signInCompleted$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInCompleted),\n switchMap(() =>\n this.auth.getUser().pipe(\n map(user => signedIn(user)),\n catchError(error => of(signInFailed({ error })))\n )\n )\n )\n );\n\n public readonly redirect$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(signInCompleted),\n switchMap(action => this.router.navigateByUrl(action.state.target, { replaceUrl: true }))\n ),\n { dispatch: false }\n );\n\n public readonly signOut$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signOut),\n tap(() => {\n try {\n this.auth.logout();\n } catch {}\n }),\n map(() => signedOut())\n )\n );\n\n public readonly init$ = createEffect(() => ({ scheduler = asyncScheduler } = {}) => {\n const params = window.location.search;\n\n if (params.includes('code=') && params.includes('state=')) {\n return this.completeSignIn(scheduler);\n } else {\n return this.auth.isAuthenticated().pipe(\n switchMap(auth => this.getAuthResult(auth)),\n catchError(error => of(signInFailed({ error }))),\n observeOn(scheduler)\n );\n }\n });\n\n constructor(\n private readonly actions$: Actions,\n private readonly auth: AuthService,\n private readonly router: Router\n ) {}\n\n private getAuthResult(auth: boolean) {\n if (auth) {\n return this.auth.getUser().pipe(map(user => signedIn(user)));\n } else {\n return of(signedOut());\n }\n }\n\n private completeSignIn(scheduler: SchedulerLike) {\n return this.auth.handleRedirectCallback().pipe(\n map(state => signInCompleted({ state })),\n catchError(error => of(signInFailed({ error }))),\n observeOn(scheduler)\n );\n }\n}\n","import { HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class JwtInterceptor implements HttpInterceptor {\n constructor(private readonly auth: AuthService) {}\n\n public intercept(request: HttpRequest<any>, next: HttpHandler) {\n if (this.isSameDomain(request)) {\n return this.authorize(request).pipe(mergeMap(authorizedRequest => next.handle(authorizedRequest)));\n } else {\n return next.handle(request);\n }\n }\n\n private isSameDomain(request: HttpRequest<any>) {\n const isAbsolute = /^https?:\\/\\//i.test(request.url);\n\n return !isAbsolute;\n }\n\n private authorize(request: HttpRequest<any>) {\n const token$ = this.auth.getAccessToken();\n\n return token$.pipe(map(token => request.clone({ setHeaders: { Authorization: `Bearer ${token}` } })));\n }\n}\n","import { Action, createReducer, on } from '@ngrx/store';\nimport { signedIn, signedOut, signInFailed } from '../actions/auth.actions';\nimport { State } from '../state/auth.state';\n\nexport const noAuthentication: State = {\n authenticating: false,\n authenticated: false,\n};\n\nexport const startAuthentication: State = {\n authenticating: true,\n authenticated: false,\n};\n\nconst authReducer = createReducer(\n startAuthentication,\n on(signedIn, (state, { type, ...payload }) => {\n return { ...state, authenticating: false, authenticated: true, user: payload };\n }),\n on(signedOut, () => noAuthentication),\n on(signInFailed, () => noAuthentication)\n);\n\nexport function reducer(state: State | undefined, action: Action) {\n return authReducer(state, action);\n}\n","import { createFeatureSelector, select } from '@ngrx/store';\nimport { pipe } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport { State } from '../state/auth.state';\n\nexport const featureKey = 'auth';\n\nexport const selectState = createFeatureSelector<State>(featureKey);\n\nexport const isAuthenticated = pipe(\n select(selectState),\n filter(state => !state.authenticating),\n map(state => state.authenticated)\n);\n\nexport const getUser = pipe(\n select(selectState),\n filter(state => !state.authenticating),\n map(state => state.user)\n);\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { AuthConfig } from './auth-config';\nimport { AuthEffects } from './effects/auth.effects';\nimport { JwtInterceptor } from './jwt.interceptor';\nimport { reducer } from './reducers/auth.reducer';\nimport { featureKey } from './store';\n\n@NgModule({\n declarations: [],\n imports: [StoreModule.forFeature(featureKey, reducer), EffectsModule.forFeature([AuthEffects])],\n exports: [],\n})\nexport class AuthModule {\n public static forRoot(config: AuthConfig): ModuleWithProviders<AuthModule> {\n return {\n ngModule: AuthModule,\n providers: [\n {\n provide: AuthConfig,\n useValue: config,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: JwtInterceptor,\n multi: true,\n },\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { first, tap } from 'rxjs/operators';\nimport { signIn } from './actions/auth.actions';\nimport { isAuthenticated } from './store';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n private readonly authenticated$ = this.store.pipe(isAuthenticated);\n\n constructor(private readonly store: Store<any>) {}\n\n public canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return this.authenticated$.pipe(\n tap(auth => {\n if (!auth) {\n this.store.dispatch(signIn({ returnUrl: state.url }));\n }\n }),\n first()\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {signInFailed as ɵa} from './lib/actions/auth.actions';\nexport {AuthConfig as ɵh} from './lib/auth-config';\nexport {AuthService as ɵg} from './lib/auth.service';\nexport {AuthEffects as ɵf} from './lib/effects/auth.effects';\nexport {JwtInterceptor as ɵi} from './lib/jwt.interceptor';\nexport {reducer as ɵe,startAuthentication as ɵd} from './lib/reducers/auth.reducer';\nexport {featureKey as ɵb,selectState as ɵc} from './lib/store';"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"AuthModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[],"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"StoreModule","line":12,"character":12},"member":"forFeature"},"arguments":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵe"}]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngrx/effects","name":"EffectsModule","line":12,"character":57},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"ɵf"}]]}],"exports":[]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"AuthModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵh"},"useValue":{"__symbolic":"reference","name":"config"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":25,"character":19},"useClass":{"__symbolic":"reference","name":"ɵi"},"multi":true}]}}}},"AuthGuard":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Store","module":"@ngrx/store","arguments":[{"__symbolic":"reference","name":"any"}]}]}],"canActivate":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵa":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"createAction","line":12,"character":28},"arguments":["@thecla/auth0-angular/sign-in-failed",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"props","line":12,"character":81}}]},"signIn":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"createAction","line":3,"character":22},"arguments":["@thecla/auth0-angular/sign-in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"props","line":3,"character":68}}]},"signOut":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"createAction","line":14,"character":23},"arguments":["@thecla/auth0-angular/sign-out"]},"signedIn":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"createAction","line":10,"character":24},"arguments":["@thecla/auth0-angular/signed-in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"props","line":10,"character":72}}]},"signedOut":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"createAction","line":16,"character":25},"arguments":["@thecla/auth0-angular/signed-out"]},"ɵb":"auth","ɵc":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"createFeatureSelector","line":7,"character":27},"arguments":["auth"]},"isAuthenticated":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"pipe","line":9,"character":31},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"select","line":10,"character":2},"arguments":[{"__symbolic":"reference","name":"ɵc"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"filter","line":11,"character":2},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":11,"character":9,"module":"./lib/store"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":12,"character":2},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":12,"character":6,"module":"./lib/store"}]}]},"getUser":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"pipe","line":15,"character":23},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"select","line":16,"character":2},"arguments":[{"__symbolic":"reference","name":"ɵc"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"filter","line":17,"character":2},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":17,"character":9,"module":"./lib/store"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":18,"character":2},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":18,"character":6,"module":"./lib/store"}]}]},"Profile":{"__symbolic":"interface"},"ɵd":{"authenticating":true,"authenticated":false},"ɵe":{"__symbolic":"function","parameters":["state","action"],"value":{"__symbolic":"call","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"createReducer","line":14,"character":20},"arguments":[{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"on","line":16,"character":2},"arguments":[{"__symbolic":"reference","name":"signedIn"},{"__symbolic":"error","message":"Lambda not supported","line":16,"character":15,"module":"./lib/reducers/auth.reducer"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"on","line":19,"character":2},"arguments":[{"__symbolic":"reference","name":"signedOut"},{"__symbolic":"error","message":"Lambda not supported","line":19,"character":16,"module":"./lib/reducers/auth.reducer"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngrx/store","name":"on","line":20,"character":2},"arguments":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"error","message":"Lambda not supported","line":20,"character":19,"module":"./lib/reducers/auth.reducer"}]}]},"arguments":[{"__symbolic":"reference","name":"state"},{"__symbolic":"reference","name":"action"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngrx/effects","name":"Actions","line":67,"character":31},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":69,"character":29}]}],"getAuthResult":[{"__symbolic":"method"}],"completeSignIn":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵh"}]}],"isAuthenticated":[{"__symbolic":"method"}],"loginWithRedirect":[{"__symbolic":"method"}],"handleRedirectCallback":[{"__symbolic":"method"}],"getUser":[{"__symbolic":"method"}],"getAccessToken":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}],"checkSession":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵh":{"__symbolic":"class","members":{}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵg"}]}],"intercept":[{"__symbolic":"method"}],"isSameDomain":[{"__symbolic":"method"}],"authorize":[{"__symbolic":"method"}]}}},"origins":{"AuthModule":"./lib/auth.module","AuthGuard":"./lib/auth.guard","ɵa":"./lib/actions/auth.actions","signIn":"./lib/actions/auth.actions","signOut":"./lib/actions/auth.actions","signedIn":"./lib/actions/auth.actions","signedOut":"./lib/actions/auth.actions","ɵb":"./lib/store","ɵc":"./lib/store","isAuthenticated":"./lib/store","getUser":"./lib/store","Profile":"./lib/state/auth.state","ɵd":"./lib/reducers/auth.reducer","ɵe":"./lib/reducers/auth.reducer","ɵf":"./lib/effects/auth.effects","ɵg":"./lib/auth.service","ɵh":"./lib/auth-config","ɵi":"./lib/jwt.interceptor"},"importAs":"@thecla/auth0-angular"}
|