@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.
Files changed (45) hide show
  1. package/esm2020/lib/actions/auth.actions.mjs +8 -0
  2. package/esm2020/lib/auth-config.mjs +3 -0
  3. package/esm2020/lib/auth.guard.mjs +29 -0
  4. package/esm2020/lib/auth.module.mjs +42 -0
  5. package/esm2020/lib/auth.service.mjs +52 -0
  6. package/esm2020/lib/effects/auth.effects.mjs +53 -0
  7. package/esm2020/lib/jwt.interceptor.mjs +32 -0
  8. package/esm2020/lib/reducers/auth.reducer.mjs +20 -0
  9. package/esm2020/lib/state/auth.state.mjs +2 -0
  10. package/esm2020/lib/store/index.mjs +8 -0
  11. package/esm2020/public-api.mjs +5 -0
  12. package/esm2020/thecla-auth0-angular.mjs +5 -0
  13. package/fesm2015/thecla-auth0-angular.mjs +217 -0
  14. package/fesm2015/thecla-auth0-angular.mjs.map +1 -0
  15. package/fesm2020/thecla-auth0-angular.mjs +217 -0
  16. package/fesm2020/thecla-auth0-angular.mjs.map +1 -0
  17. package/lib/actions/auth.actions.d.ts +13 -9
  18. package/lib/auth-config.d.ts +1 -0
  19. package/lib/auth.guard.d.ts +4 -1
  20. package/lib/auth.module.d.ts +6 -0
  21. package/lib/auth.service.d.ts +5 -1
  22. package/lib/effects/auth.effects.d.ts +13 -6
  23. package/lib/jwt.interceptor.d.ts +3 -0
  24. package/lib/state/auth.state.d.ts +2 -2
  25. package/package.json +26 -14
  26. package/thecla-auth0-angular.d.ts +1 -7
  27. package/bundles/thecla-auth0-angular.umd.js +0 -558
  28. package/bundles/thecla-auth0-angular.umd.js.map +0 -1
  29. package/bundles/thecla-auth0-angular.umd.min.js +0 -2
  30. package/bundles/thecla-auth0-angular.umd.min.js.map +0 -1
  31. package/esm2015/lib/actions/auth.actions.js +0 -8
  32. package/esm2015/lib/auth-config.js +0 -3
  33. package/esm2015/lib/auth.guard.js +0 -30
  34. package/esm2015/lib/auth.module.js +0 -35
  35. package/esm2015/lib/auth.service.js +0 -57
  36. package/esm2015/lib/effects/auth.effects.js +0 -52
  37. package/esm2015/lib/jwt.interceptor.js +0 -31
  38. package/esm2015/lib/reducers/auth.reducer.js +0 -21
  39. package/esm2015/lib/state/auth.state.js +0 -1
  40. package/esm2015/lib/store/index.js +0 -11
  41. package/esm2015/public-api.js +0 -5
  42. package/esm2015/thecla-auth0-angular.js +0 -12
  43. package/fesm2015/thecla-auth0-angular.js +0 -221
  44. package/fesm2015/thecla-auth0-angular.js.map +0 -1
  45. 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"}