@thecla/auth0-angular 3.0.0 → 5.0.1

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 (41) hide show
  1. package/esm2020/lib/actions/auth.actions.mjs +8 -0
  2. package/{esm2015/lib/auth-config.js → esm2020/lib/auth-config.mjs} +0 -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/{esm2015/lib/state/auth.state.js → esm2020/lib/state/auth.state.mjs} +1 -1
  10. package/esm2020/lib/store/index.mjs +8 -0
  11. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  12. package/esm2020/thecla-auth0-angular.mjs +5 -0
  13. package/fesm2015/{thecla-auth0-angular.js → thecla-auth0-angular.mjs} +58 -63
  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.guard.d.ts +4 -1
  19. package/lib/auth.module.d.ts +6 -0
  20. package/lib/auth.service.d.ts +3 -0
  21. package/lib/effects/auth.effects.d.ts +13 -6
  22. package/lib/jwt.interceptor.d.ts +3 -0
  23. package/lib/reducers/auth.reducer.d.ts +1 -5
  24. package/lib/state/auth.state.d.ts +1 -1
  25. package/package.json +25 -14
  26. package/thecla-auth0-angular.d.ts +1 -7
  27. package/bundles/thecla-auth0-angular.umd.js +0 -567
  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.guard.js +0 -30
  33. package/esm2015/lib/auth.module.js +0 -35
  34. package/esm2015/lib/auth.service.js +0 -58
  35. package/esm2015/lib/effects/auth.effects.js +0 -52
  36. package/esm2015/lib/jwt.interceptor.js +0 -31
  37. package/esm2015/lib/reducers/auth.reducer.js +0 -21
  38. package/esm2015/lib/store/index.js +0 -11
  39. package/esm2015/thecla-auth0-angular.js +0 -12
  40. package/fesm2015/thecla-auth0-angular.js.map +0 -1
  41. package/thecla-auth0-angular.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"thecla-auth0-angular.umd.js","sources":["../../../projects/auth0-angular/src/lib/auth-config.ts","../../../projects/auth0-angular/src/lib/actions/auth.actions.ts","../../../node_modules/tslib/tslib.es6.js","../../../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 public abstract sessionCheckExpiryDays?: number;\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","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { Auth0Client, User } from '@auth0/auth0-spa-js';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { filter, 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,\n sessionCheckExpiryDays: config.sessionCheckExpiryDays,\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()).pipe(filter((u): u is User => u !== undefined));\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":["createAction","props","Auth0Client","from","switchMap","EMPTY","map","filter","Injectable","createEffect","ofType","catchError","of","tap","asyncScheduler","observeOn","Actions","Router","mergeMap","createReducer","on","createFeatureSelector","pipe","select","HTTP_INTERCEPTORS","NgModule","StoreModule","EffectsModule","first","Store"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common/http"),require("@angular/core"),require("@ngrx/effects"),require("@ngrx/store"),require("@angular/router"),require("rxjs"),require("rxjs/operators"),require("@auth0/auth0-spa-js")):"function"==typeof define&&define.amd?define("@thecla/auth0-angular",["exports","@angular/common/http","@angular/core","@ngrx/effects","@ngrx/store","@angular/router","rxjs","rxjs/operators","@auth0/auth0-spa-js"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).thecla=t.thecla||{},t.thecla["auth0-angular"]={}),t.ng.common.http,t.ng.core,t.ngrx.effects,t.ngrx.store,t.ng.router,t.rxjs,t.rxjs.operators,t.createAuth0Client)}(this,(function(t,e,r,n,o,i,u,a,c){"use strict";var s=function(){},p=o.createAction("@thecla/auth0-angular/sign-in",o.props()),f=o.createAction("@thecla/auth0-angular/sign-in-completed",o.props()),h=o.createAction("@thecla/auth0-angular/signed-in",o.props()),l=o.createAction("@thecla/auth0-angular/sign-in-failed",o.props()),d=o.createAction("@thecla/auth0-angular/sign-out"),g=o.createAction("@thecla/auth0-angular/signed-out");function y(t,e,r,n){return new(r||(r=Promise))((function(o,i){function u(t){try{c(n.next(t))}catch(t){i(t)}}function a(t){try{c(n.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(u,a)}c((n=n.apply(t,e||[])).next())}))}function v(t,e){var r,n,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;u;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return u.label++,{value:i[1],done:!1};case 5:u.label++,n=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(6===i[0]&&u.label<o[1]){u.label=o[1],o=i;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(i);break}o[2]&&u.ops.pop(),u.trys.pop();continue}i=e.call(t,u)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}Object.create;Object.create;var m=function(){function t(t){var e;this.config=t,this.auth0=new c.Auth0Client({audience:t.audience,client_id:t.clientId,domain:t.domain,redirect_uri:null!==(e=t.redirectUri)&&void 0!==e?e:location.origin,scope:t.scope,useRefreshTokens:t.useRefreshTokens,sessionCheckExpiryDays:t.sessionCheckExpiryDays})}return t.prototype.isAuthenticated=function(){return u.from(this.checkSession())},t.prototype.loginWithRedirect=function(t){return u.from(this.auth0.loginWithRedirect({appState:t})).pipe(a.switchMap((function(){return u.EMPTY})))},t.prototype.handleRedirectCallback=function(){return u.from(this.auth0.handleRedirectCallback()).pipe(a.map((function(t){return t.appState})))},t.prototype.getUser=function(){return u.from(this.auth0.getUser()).pipe(a.filter((function(t){return void 0!==t})))},t.prototype.getAccessToken=function(){return u.from(this.auth0.getTokenSilently())},t.prototype.logout=function(){var t;this.auth0.logout({returnTo:null!==(t=this.config.logoutUri)&&void 0!==t?t:location.origin})},t.prototype.checkSession=function(){return y(this,void 0,void 0,(function(){return v(this,(function(t){switch(t.label){case 0:return[4,this.auth0.checkSession()];case 1:return t.sent(),[4,this.auth0.isAuthenticated()];case 2:return[2,t.sent()]}}))}))},t}();m.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new m(r.ɵɵinject(s))},token:m,providedIn:"root"}),m.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],m.ctorParameters=function(){return[{type:s}]};var b=function(){function t(t,e,r){var o=this;this.actions$=t,this.auth=e,this.router=r,this.signIn$=n.createEffect((function(){return o.actions$.pipe(n.ofType(p),a.switchMap((function(t){return o.auth.loginWithRedirect({target:t.returnUrl})})))}),{dispatch:!1}),this.signInCompleted$=n.createEffect((function(){return o.actions$.pipe(n.ofType(f),a.switchMap((function(){return o.auth.getUser().pipe(a.map((function(t){return h(t)})),a.catchError((function(t){return u.of(l({error:t}))})))})))})),this.redirect$=n.createEffect((function(){return o.actions$.pipe(n.ofType(f),a.switchMap((function(t){return o.router.navigateByUrl(t.state.target,{replaceUrl:!0})})))}),{dispatch:!1}),this.signOut$=n.createEffect((function(){return o.actions$.pipe(n.ofType(d),a.tap((function(){try{o.auth.logout()}catch(t){}})),a.map((function(){return g()})))})),this.init$=n.createEffect((function(){return function(t){var e=(void 0===t?{}:t).scheduler,r=void 0===e?u.asyncScheduler:e,n=window.location.search;return n.includes("code=")&&n.includes("state=")?o.completeSignIn(r):o.auth.isAuthenticated().pipe(a.switchMap((function(t){return o.getAuthResult(t)})),a.catchError((function(t){return u.of(l({error:t}))})),a.observeOn(r))}}))}return t.prototype.getAuthResult=function(t){return t?this.auth.getUser().pipe(a.map((function(t){return h(t)}))):u.of(g())},t.prototype.completeSignIn=function(t){return this.auth.handleRedirectCallback().pipe(a.map((function(t){return f({state:t})})),a.catchError((function(t){return u.of(l({error:t}))})),a.observeOn(t))},t}();b.decorators=[{type:r.Injectable}],b.ctorParameters=function(){return[{type:n.Actions},{type:m},{type:i.Router}]};var j=function(){function t(t){this.auth=t}return t.prototype.intercept=function(t,e){return this.isSameDomain(t)?this.authorize(t).pipe(a.mergeMap((function(t){return e.handle(t)}))):e.handle(t)},t.prototype.isSameDomain=function(t){return!/^https?:\/\//i.test(t.url)},t.prototype.authorize=function(t){return this.auth.getAccessToken().pipe(a.map((function(e){return t.clone({setHeaders:{Authorization:"Bearer "+e}})})))},t}();j.decorators=[{type:r.Injectable}],j.ctorParameters=function(){return[{type:m}]};var x={authenticating:!1,authenticated:!1},w={authenticating:!0,authenticated:!1},A=o.createReducer(w,o.on(h,(function(t,e){e.type;var r=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(r[n[o]]=t[n[o]])}return r}(e,["type"]);return Object.assign(Object.assign({},t),{authenticating:!1,authenticated:!0,user:r})})),o.on(g,(function(){return x})),o.on(l,(function(){return x})));function O(t,e){return A(t,e)}var S="auth",k=o.createFeatureSelector(S),I=u.pipe(o.select(k),a.filter((function(t){return!t.authenticating})),a.map((function(t){return t.authenticated}))),T=u.pipe(o.select(k),a.filter((function(t){return!t.authenticating})),a.map((function(t){return t.user}))),E=function(){function t(){}return t.forRoot=function(r){return{ngModule:t,providers:[{provide:s,useValue:r},{provide:e.HTTP_INTERCEPTORS,useClass:j,multi:!0}]}},t}();E.decorators=[{type:r.NgModule,args:[{declarations:[],imports:[o.StoreModule.forFeature(S,O),n.EffectsModule.forFeature([b])],exports:[]}]}];var R=function(){function t(t){this.store=t,this.authenticated$=this.store.pipe(I)}return t.prototype.canActivate=function(t,e){var r=this;return this.authenticated$.pipe(a.tap((function(t){t||r.store.dispatch(p({returnUrl:e.url}))})),a.first())},t}();R.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new R(r.ɵɵinject(o.Store))},token:R,providedIn:"root"}),R.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],R.ctorParameters=function(){return[{type:o.Store}]},t.AuthGuard=R,t.AuthModule=E,t.getUser=T,t.isAuthenticated=I,t.signIn=p,t.signOut=d,t.signedIn=h,t.signedOut=g,t.ɵa=l,t.ɵb=S,t.ɵc=k,t.ɵd=w,t.ɵe=O,t.ɵf=b,t.ɵg=m,t.ɵh=s,t.ɵi=j,Object.defineProperty(t,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=thecla-auth0-angular.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../projects/auth0-angular/src/lib/auth-config.ts","../../../projects/auth0-angular/src/lib/actions/auth.actions.ts","../../../node_modules/tslib/tslib.es6.js","../../../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"],"names":["signIn","createAction","props","signInCompleted","signedIn","signInFailed","signOut","signedOut","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","Object","create","AuthService","config","auth0","Auth0Client","audience","client_id","clientId","domain","redirect_uri","_a","redirectUri","location","origin","scope","useRefreshTokens","sessionCheckExpiryDays","prototype","isAuthenticated","from","checkSession","loginWithRedirect","appState","pipe","switchMap","EMPTY","handleRedirectCallback","map","getUser","filter","u","undefined","getAccessToken","getTokenSilently","logout","returnTo","logoutUri","_b","Injectable","args","providedIn","AuthConfig","AuthEffects","actions$","auth","router","_this","signIn$","createEffect","ofType","action","target","returnUrl","dispatch","signInCompleted$","user","catchError","error","of","redirect$","navigateByUrl","state","replaceUrl","signOut$","tap","init$","_d","scheduler","asyncScheduler","params","window","search","includes","completeSignIn","getAuthResult","observeOn","Actions","Router","JwtInterceptor","intercept","request","isSameDomain","authorize","mergeMap","authorizedRequest","handle","test","url","token","clone","setHeaders","Authorization","noAuthentication","authenticating","authenticated","startAuthentication","authReducer","createReducer","on","type","payload","s","p","hasOwnProperty","indexOf","getOwnPropertySymbols","i","propertyIsEnumerable","__rest","assign","reducer","featureKey","selectState","createFeatureSelector","select","AuthModule","forRoot","ngModule","providers","provide","useValue","HTTP_INTERCEPTORS","useClass","multi","NgModule","declarations","imports","StoreModule","forFeature","EffectsModule","exports","AuthGuard","store","authenticated$","canActivate","first","Store"],"mappings":"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","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 public abstract sessionCheckExpiryDays?: number;\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","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { Auth0Client, User } from '@auth0/auth0-spa-js';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { filter, 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,\n sessionCheckExpiryDays: config.sessionCheckExpiryDays,\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()).pipe(filter((u): u is User => u !== undefined));\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"]}
@@ -1,8 +0,0 @@
1
- import { createAction, props } from '@ngrx/store';
2
- export const signIn = createAction('@thecla/auth0-angular/sign-in', props());
3
- export const signInCompleted = createAction('@thecla/auth0-angular/sign-in-completed', props());
4
- export const signedIn = createAction('@thecla/auth0-angular/signed-in', props());
5
- export const signInFailed = createAction('@thecla/auth0-angular/sign-in-failed', props());
6
- export const signOut = createAction('@thecla/auth0-angular/sign-out');
7
- export const signedOut = createAction('@thecla/auth0-angular/signed-out');
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvbGliL2FjdGlvbnMvYXV0aC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsK0JBQStCLEVBQUUsS0FBSyxFQUF5QixDQUFDLENBQUM7QUFFcEcsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FDekMseUNBQXlDLEVBQ3pDLEtBQUssRUFBaUMsQ0FDdkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxFQUFXLENBQUMsQ0FBQztBQUUxRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLHNDQUFzQyxFQUFFLEtBQUssRUFBb0IsQ0FBQyxDQUFDO0FBRTVHLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLGtDQUFrQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUHJvZmlsZSB9IGZyb20gJy4uL3N0YXRlL2F1dGguc3RhdGUnO1xuXG5leHBvcnQgY29uc3Qgc2lnbkluID0gY3JlYXRlQWN0aW9uKCdAdGhlY2xhL2F1dGgwLWFuZ3VsYXIvc2lnbi1pbicsIHByb3BzPHsgcmV0dXJuVXJsOiBzdHJpbmcgfT4oKSk7XG5cbmV4cG9ydCBjb25zdCBzaWduSW5Db21wbGV0ZWQgPSBjcmVhdGVBY3Rpb24oXG4gICdAdGhlY2xhL2F1dGgwLWFuZ3VsYXIvc2lnbi1pbi1jb21wbGV0ZWQnLFxuICBwcm9wczx7IHN0YXRlOiB7IHRhcmdldDogc3RyaW5nIH0gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IHNpZ25lZEluID0gY3JlYXRlQWN0aW9uKCdAdGhlY2xhL2F1dGgwLWFuZ3VsYXIvc2lnbmVkLWluJywgcHJvcHM8UHJvZmlsZT4oKSk7XG5cbmV4cG9ydCBjb25zdCBzaWduSW5GYWlsZWQgPSBjcmVhdGVBY3Rpb24oJ0B0aGVjbGEvYXV0aDAtYW5ndWxhci9zaWduLWluLWZhaWxlZCcsIHByb3BzPHsgZXJyb3I6IEVycm9yIH0+KCkpO1xuXG5leHBvcnQgY29uc3Qgc2lnbk91dCA9IGNyZWF0ZUFjdGlvbignQHRoZWNsYS9hdXRoMC1hbmd1bGFyL3NpZ24tb3V0Jyk7XG5cbmV4cG9ydCBjb25zdCBzaWduZWRPdXQgPSBjcmVhdGVBY3Rpb24oJ0B0aGVjbGEvYXV0aDAtYW5ndWxhci9zaWduZWQtb3V0Jyk7XG4iXX0=
@@ -1,30 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Store } from '@ngrx/store';
3
- import { first, tap } from 'rxjs/operators';
4
- import { signIn } from './actions/auth.actions';
5
- import { isAuthenticated } from './store';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@ngrx/store";
8
- export class AuthGuard {
9
- constructor(store) {
10
- this.store = store;
11
- this.authenticated$ = this.store.pipe(isAuthenticated);
12
- }
13
- canActivate(next, state) {
14
- return this.authenticated$.pipe(tap(auth => {
15
- if (!auth) {
16
- this.store.dispatch(signIn({ returnUrl: state.url }));
17
- }
18
- }), first());
19
- }
20
- }
21
- AuthGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(i0.ɵɵinject(i1.Store)); }, token: AuthGuard, providedIn: "root" });
22
- AuthGuard.decorators = [
23
- { type: Injectable, args: [{
24
- providedIn: 'root',
25
- },] }
26
- ];
27
- AuthGuard.ctorParameters = () => [
28
- { type: Store }
29
- ];
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2F1dGgwLWFuZ3VsYXIvc3JjL2xpYi9hdXRoLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFLMUMsTUFBTSxPQUFPLFNBQVM7SUFHcEIsWUFBNkIsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUY3QixtQkFBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWxCLENBQUM7SUFFM0MsV0FBVyxDQUFDLElBQTRCLEVBQUUsS0FBMEI7UUFDekUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDN0IsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1QsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN2RDtRQUNILENBQUMsQ0FBQyxFQUNGLEtBQUssRUFBRSxDQUNSLENBQUM7SUFDSixDQUFDOzs7O1lBakJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBUFEsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgZmlyc3QsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHNpZ25JbiB9IGZyb20gJy4vYWN0aW9ucy9hdXRoLmFjdGlvbnMnO1xuaW1wb3J0IHsgaXNBdXRoZW50aWNhdGVkIH0gZnJvbSAnLi9zdG9yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXV0aGVudGljYXRlZCQgPSB0aGlzLnN0b3JlLnBpcGUoaXNBdXRoZW50aWNhdGVkKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBTdG9yZTxhbnk+KSB7fVxuXG4gIHB1YmxpYyBjYW5BY3RpdmF0ZShuZXh0OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xuICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0ZWQkLnBpcGUoXG4gICAgICB0YXAoYXV0aCA9PiB7XG4gICAgICAgIGlmICghYXV0aCkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2lnbkluKHsgcmV0dXJuVXJsOiBzdGF0ZS51cmwgfSkpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGZpcnN0KClcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,35 +0,0 @@
1
- import { HTTP_INTERCEPTORS } from '@angular/common/http';
2
- import { NgModule } from '@angular/core';
3
- import { EffectsModule } from '@ngrx/effects';
4
- import { StoreModule } from '@ngrx/store';
5
- import { AuthConfig } from './auth-config';
6
- import { AuthEffects } from './effects/auth.effects';
7
- import { JwtInterceptor } from './jwt.interceptor';
8
- import { reducer } from './reducers/auth.reducer';
9
- import { featureKey } from './store';
10
- export class AuthModule {
11
- static forRoot(config) {
12
- return {
13
- ngModule: AuthModule,
14
- providers: [
15
- {
16
- provide: AuthConfig,
17
- useValue: config,
18
- },
19
- {
20
- provide: HTTP_INTERCEPTORS,
21
- useClass: JwtInterceptor,
22
- multi: true,
23
- },
24
- ],
25
- };
26
- }
27
- }
28
- AuthModule.decorators = [
29
- { type: NgModule, args: [{
30
- declarations: [],
31
- imports: [StoreModule.forFeature(featureKey, reducer), EffectsModule.forFeature([AuthEffects])],
32
- exports: [],
33
- },] }
34
- ];
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hdXRoMC1hbmd1bGFyL3NyYy9saWIvYXV0aC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU9yQyxNQUFNLE9BQU8sVUFBVTtJQUNkLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBa0I7UUFDdEMsT0FBTztZQUNMLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsVUFBVTtvQkFDbkIsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFFBQVEsRUFBRSxjQUFjO29CQUN4QixLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQXJCRixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUMvRixPQUFPLEVBQUUsRUFBRTthQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBdXRoQ29uZmlnIH0gZnJvbSAnLi9hdXRoLWNvbmZpZyc7XG5pbXBvcnQgeyBBdXRoRWZmZWN0cyB9IGZyb20gJy4vZWZmZWN0cy9hdXRoLmVmZmVjdHMnO1xuaW1wb3J0IHsgSnd0SW50ZXJjZXB0b3IgfSBmcm9tICcuL2p3dC5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyByZWR1Y2VyIH0gZnJvbSAnLi9yZWR1Y2Vycy9hdXRoLnJlZHVjZXInO1xuaW1wb3J0IHsgZmVhdHVyZUtleSB9IGZyb20gJy4vc3RvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShmZWF0dXJlS2V5LCByZWR1Y2VyKSwgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKFtBdXRoRWZmZWN0c10pXSxcbiAgZXhwb3J0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlnOiBBdXRoQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBdXRoTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBdXRoTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBdXRoQ29uZmlnLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgICAgICB1c2VDbGFzczogSnd0SW50ZXJjZXB0b3IsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,58 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { Auth0Client } from '@auth0/auth0-spa-js';
4
- import { EMPTY, from } from 'rxjs';
5
- import { filter, map, switchMap } from 'rxjs/operators';
6
- import { AuthConfig } from './auth-config';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./auth-config";
9
- export class AuthService {
10
- constructor(config) {
11
- var _a;
12
- this.config = config;
13
- this.auth0 = new Auth0Client({
14
- audience: config.audience,
15
- client_id: config.clientId,
16
- domain: config.domain,
17
- redirect_uri: (_a = config.redirectUri) !== null && _a !== void 0 ? _a : location.origin,
18
- scope: config.scope,
19
- useRefreshTokens: config.useRefreshTokens,
20
- sessionCheckExpiryDays: config.sessionCheckExpiryDays,
21
- });
22
- }
23
- isAuthenticated() {
24
- return from(this.checkSession());
25
- }
26
- loginWithRedirect(appState) {
27
- return from(this.auth0.loginWithRedirect({ appState })).pipe(switchMap(() => EMPTY));
28
- }
29
- handleRedirectCallback() {
30
- return from(this.auth0.handleRedirectCallback()).pipe(map(result => result.appState));
31
- }
32
- getUser() {
33
- return from(this.auth0.getUser()).pipe(filter((u) => u !== undefined));
34
- }
35
- getAccessToken() {
36
- return from(this.auth0.getTokenSilently());
37
- }
38
- logout() {
39
- var _a;
40
- this.auth0.logout({ returnTo: (_a = this.config.logoutUri) !== null && _a !== void 0 ? _a : location.origin });
41
- }
42
- checkSession() {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- yield this.auth0.checkSession();
45
- return yield this.auth0.isAuthenticated();
46
- });
47
- }
48
- }
49
- AuthService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthService_Factory() { return new AuthService(i0.ɵɵinject(i1.AuthConfig)); }, token: AuthService, providedIn: "root" });
50
- AuthService.decorators = [
51
- { type: Injectable, args: [{
52
- providedIn: 'root',
53
- },] }
54
- ];
55
- AuthService.ctorParameters = () => [
56
- { type: AuthConfig }
57
- ];
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvbGliL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyxXQUFXO0lBR3RCLFlBQTZCLE1BQWtCOztRQUFsQixXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQzdDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDM0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDckIsWUFBWSxRQUFFLE1BQU0sQ0FBQyxXQUFXLG1DQUFJLFFBQVEsQ0FBQyxNQUFNO1lBQ25ELEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixnQkFBZ0IsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO1lBQ3pDLHNCQUFzQixFQUFFLE1BQU0sQ0FBQyxzQkFBc0I7U0FDdEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFFBQTRCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUE4QixDQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFhLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sTUFBTTs7UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsUUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsbUNBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVhLFlBQVk7O1lBQ3hCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUVoQyxPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM1QyxDQUFDO0tBQUE7Ozs7WUE5Q0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFKUSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aDBDbGllbnQsIFVzZXIgfSBmcm9tICdAYXV0aDAvYXV0aDAtc3BhLWpzJztcbmltcG9ydCB7IEVNUFRZLCBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXV0aENvbmZpZyB9IGZyb20gJy4vYXV0aC1jb25maWcnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGgwOiBBdXRoMENsaWVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogQXV0aENvbmZpZykge1xuICAgIHRoaXMuYXV0aDAgPSBuZXcgQXV0aDBDbGllbnQoe1xuICAgICAgYXVkaWVuY2U6IGNvbmZpZy5hdWRpZW5jZSxcbiAgICAgIGNsaWVudF9pZDogY29uZmlnLmNsaWVudElkLFxuICAgICAgZG9tYWluOiBjb25maWcuZG9tYWluLFxuICAgICAgcmVkaXJlY3RfdXJpOiBjb25maWcucmVkaXJlY3RVcmkgPz8gbG9jYXRpb24ub3JpZ2luLFxuICAgICAgc2NvcGU6IGNvbmZpZy5zY29wZSxcbiAgICAgIHVzZVJlZnJlc2hUb2tlbnM6IGNvbmZpZy51c2VSZWZyZXNoVG9rZW5zLFxuICAgICAgc2Vzc2lvbkNoZWNrRXhwaXJ5RGF5czogY29uZmlnLnNlc3Npb25DaGVja0V4cGlyeURheXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaXNBdXRoZW50aWNhdGVkKCkge1xuICAgIHJldHVybiBmcm9tKHRoaXMuY2hlY2tTZXNzaW9uKCkpO1xuICB9XG5cbiAgcHVibGljIGxvZ2luV2l0aFJlZGlyZWN0KGFwcFN0YXRlOiB7IHRhcmdldDogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmF1dGgwLmxvZ2luV2l0aFJlZGlyZWN0KHsgYXBwU3RhdGUgfSkpLnBpcGUoc3dpdGNoTWFwKCgpID0+IEVNUFRZKSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlUmVkaXJlY3RDYWxsYmFjaygpIHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmF1dGgwLmhhbmRsZVJlZGlyZWN0Q2FsbGJhY2soKSkucGlwZShtYXAocmVzdWx0ID0+IHJlc3VsdC5hcHBTdGF0ZSBhcyB7IHRhcmdldDogc3RyaW5nIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVc2VyKCkge1xuICAgIHJldHVybiBmcm9tKHRoaXMuYXV0aDAuZ2V0VXNlcigpKS5waXBlKGZpbHRlcigodSk6IHUgaXMgVXNlciA9PiB1ICE9PSB1bmRlZmluZWQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBY2Nlc3NUb2tlbigpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmF1dGgwLmdldFRva2VuU2lsZW50bHkoKSk7XG4gIH1cblxuICBwdWJsaWMgbG9nb3V0KCkge1xuICAgIHRoaXMuYXV0aDAubG9nb3V0KHsgcmV0dXJuVG86IHRoaXMuY29uZmlnLmxvZ291dFVyaSA/PyBsb2NhdGlvbi5vcmlnaW4gfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNoZWNrU2Vzc2lvbigpIHtcbiAgICBhd2FpdCB0aGlzLmF1dGgwLmNoZWNrU2Vzc2lvbigpO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYXV0aDAuaXNBdXRoZW50aWNhdGVkKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,52 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- import { Actions, createEffect, ofType } from '@ngrx/effects';
4
- import { asyncScheduler, of } from 'rxjs';
5
- import { catchError, map, observeOn, switchMap, tap } from 'rxjs/operators';
6
- import { signedIn, signedOut, signIn, signInCompleted, signInFailed, signOut } from '../actions/auth.actions';
7
- import { AuthService } from '../auth.service';
8
- export class AuthEffects {
9
- constructor(actions$, auth, router) {
10
- this.actions$ = actions$;
11
- this.auth = auth;
12
- this.router = router;
13
- this.signIn$ = createEffect(() => this.actions$.pipe(ofType(signIn), switchMap(action => this.auth.loginWithRedirect({ target: action.returnUrl }))), { dispatch: false });
14
- this.signInCompleted$ = createEffect(() => this.actions$.pipe(ofType(signInCompleted), switchMap(() => this.auth.getUser().pipe(map(user => signedIn(user)), catchError(error => of(signInFailed({ error })))))));
15
- this.redirect$ = createEffect(() => this.actions$.pipe(ofType(signInCompleted), switchMap(action => this.router.navigateByUrl(action.state.target, { replaceUrl: true }))), { dispatch: false });
16
- this.signOut$ = createEffect(() => this.actions$.pipe(ofType(signOut), tap(() => {
17
- try {
18
- this.auth.logout();
19
- }
20
- catch (_a) { }
21
- }), map(() => signedOut())));
22
- this.init$ = createEffect(() => ({ scheduler = asyncScheduler } = {}) => {
23
- const params = window.location.search;
24
- if (params.includes('code=') && params.includes('state=')) {
25
- return this.completeSignIn(scheduler);
26
- }
27
- else {
28
- return this.auth.isAuthenticated().pipe(switchMap(auth => this.getAuthResult(auth)), catchError(error => of(signInFailed({ error }))), observeOn(scheduler));
29
- }
30
- });
31
- }
32
- getAuthResult(auth) {
33
- if (auth) {
34
- return this.auth.getUser().pipe(map(user => signedIn(user)));
35
- }
36
- else {
37
- return of(signedOut());
38
- }
39
- }
40
- completeSignIn(scheduler) {
41
- return this.auth.handleRedirectCallback().pipe(map(state => signInCompleted({ state })), catchError(error => of(signInFailed({ error }))), observeOn(scheduler));
42
- }
43
- }
44
- AuthEffects.decorators = [
45
- { type: Injectable }
46
- ];
47
- AuthEffects.ctorParameters = () => [
48
- { type: Actions },
49
- { type: AuthService },
50
- { type: Router }
51
- ];
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvbGliL2VmZmVjdHMvYXV0aC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBaUIsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHOUMsTUFBTSxPQUFPLFdBQVc7SUF5RHRCLFlBQ21CLFFBQWlCLEVBQ2pCLElBQWlCLEVBQ2pCLE1BQWM7UUFGZCxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTNEakIsWUFBTyxHQUFHLFlBQVksQ0FDcEMsR0FBRyxFQUFFLENBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFDZCxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FB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SUFBSSxDQUM1QyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQ3hDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDaEQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUNyQixDQUFDO0lBQ0osQ0FBQzs7O1lBOUVGLFVBQVU7OztZQU5GLE9BQU87WUFJUCxXQUFXO1lBTFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIsIG9mLCBTY2hlZHVsZXJMaWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIG9ic2VydmVPbiwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBzaWduZWRJbiwgc2lnbmVkT3V0LCBzaWduSW4sIHNpZ25JbkNvbXBsZXRlZCwgc2lnbkluRmFpbGVkLCBzaWduT3V0IH0gZnJvbSAnLi4vYWN0aW9ucy9hdXRoLmFjdGlvbnMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aEVmZmVjdHMge1xuICBwdWJsaWMgcmVhZG9ubHkgc2lnbkluJCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoc2lnbkluKSxcbiAgICAgICAgc3dpdGNoTWFwKGFjdGlvbiA9PiB0aGlzLmF1dGgubG9naW5XaXRoUmVkaXJlY3QoeyB0YXJnZXQ6IGFjdGlvbi5yZXR1cm5VcmwgfSkpXG4gICAgICApLFxuICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2lnbkluQ29tcGxldGVkJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShzaWduSW5Db21wbGV0ZWQpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgIHRoaXMuYXV0aC5nZXRVc2VyKCkucGlwZShcbiAgICAgICAgICBtYXAodXNlciA9PiBzaWduZWRJbih1c2VyKSksXG4gICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZihzaWduSW5GYWlsZWQoeyBlcnJvciB9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHJlZGlyZWN0JCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoc2lnbkluQ29tcGxldGVkKSxcbiAgICAgICAgc3dpdGNoTWFwKGFjdGlvbiA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGFjdGlvbi5zdGF0ZS50YXJnZXQsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBzaWduT3V0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShzaWduT3V0KSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdGhpcy5hdXRoLmxvZ291dCgpO1xuICAgICAgICB9IGNhdGNoIHt9XG4gICAgICB9KSxcbiAgICAgIG1hcCgoKSA9PiBzaWduZWRPdXQoKSlcbiAgICApXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGluaXQkID0gY3JlYXRlRWZmZWN0KCgpID0+ICh7IHNjaGVkdWxlciA9IGFzeW5jU2NoZWR1bGVyIH0gPSB7fSkgPT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2g7XG5cbiAgICBpZiAocGFyYW1zLmluY2x1ZGVzKCdjb2RlPScpICYmIHBhcmFtcy5pbmNsdWRlcygnc3RhdGU9JykpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBsZXRlU2lnbkluKHNjaGVkdWxlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKCkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKGF1dGggPT4gdGhpcy5nZXRBdXRoUmVzdWx0KGF1dGgpKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZihzaWduSW5GYWlsZWQoeyBlcnJvciB9KSkpLFxuICAgICAgICBvYnNlcnZlT24oc2NoZWR1bGVyKVxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoOiBBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICkge31cblxuICBwcml2YXRlIGdldEF1dGhSZXN1bHQoYXV0aDogYm9vbGVhbikge1xuICAgIGlmIChhdXRoKSB7XG4gICAgICByZXR1cm4gdGhpcy5hdXRoLmdldFVzZXIoKS5waXBlKG1hcCh1c2VyID0+IHNpZ25lZEluKHVzZXIpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvZihzaWduZWRPdXQoKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb21wbGV0ZVNpZ25JbihzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoLmhhbmRsZVJlZGlyZWN0Q2FsbGJhY2soKS5waXBlKFxuICAgICAgbWFwKHN0YXRlID0+IHNpZ25JbkNvbXBsZXRlZCh7IHN0YXRlIH0pKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4gb2Yoc2lnbkluRmFpbGVkKHsgZXJyb3IgfSkpKSxcbiAgICAgIG9ic2VydmVPbihzY2hlZHVsZXIpXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,31 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map, mergeMap } from 'rxjs/operators';
3
- import { AuthService } from './auth.service';
4
- export class JwtInterceptor {
5
- constructor(auth) {
6
- this.auth = auth;
7
- }
8
- intercept(request, next) {
9
- if (this.isSameDomain(request)) {
10
- return this.authorize(request).pipe(mergeMap(authorizedRequest => next.handle(authorizedRequest)));
11
- }
12
- else {
13
- return next.handle(request);
14
- }
15
- }
16
- isSameDomain(request) {
17
- const isAbsolute = /^https?:\/\//i.test(request.url);
18
- return !isAbsolute;
19
- }
20
- authorize(request) {
21
- const token$ = this.auth.getAccessToken();
22
- return token$.pipe(map(token => request.clone({ setHeaders: { Authorization: `Bearer ${token}` } })));
23
- }
24
- }
25
- JwtInterceptor.decorators = [
26
- { type: Injectable }
27
- ];
28
- JwtInterceptor.ctorParameters = () => [
29
- { type: AuthService }
30
- ];
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvbGliL2p3dC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQTZCLElBQWlCO1FBQWpCLFNBQUksR0FBSixJQUFJLENBQWE7SUFBRyxDQUFDO0lBRTNDLFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQzNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwRzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUF5QjtRQUM1QyxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVyRCxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxTQUFTLENBQUMsT0FBeUI7UUFDekMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUUxQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDOzs7WUF0QkYsVUFBVTs7O1lBRkYsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSnd0SW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF1dGg6IEF1dGhTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcbiAgICBpZiAodGhpcy5pc1NhbWVEb21haW4ocmVxdWVzdCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmF1dGhvcml6ZShyZXF1ZXN0KS5waXBlKG1lcmdlTWFwKGF1dGhvcml6ZWRSZXF1ZXN0ID0+IG5leHQuaGFuZGxlKGF1dGhvcml6ZWRSZXF1ZXN0KSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1NhbWVEb21haW4ocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pikge1xuICAgIGNvbnN0IGlzQWJzb2x1dGUgPSAvXmh0dHBzPzpcXC9cXC8vaS50ZXN0KHJlcXVlc3QudXJsKTtcblxuICAgIHJldHVybiAhaXNBYnNvbHV0ZTtcbiAgfVxuXG4gIHByaXZhdGUgYXV0aG9yaXplKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pIHtcbiAgICBjb25zdCB0b2tlbiQgPSB0aGlzLmF1dGguZ2V0QWNjZXNzVG9rZW4oKTtcblxuICAgIHJldHVybiB0b2tlbiQucGlwZShtYXAodG9rZW4gPT4gcmVxdWVzdC5jbG9uZSh7IHNldEhlYWRlcnM6IHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgfSB9KSkpO1xuICB9XG59XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { __rest } from "tslib";
2
- import { createReducer, on } from '@ngrx/store';
3
- import { signedIn, signedOut, signInFailed } from '../actions/auth.actions';
4
- export const noAuthentication = {
5
- authenticating: false,
6
- authenticated: false,
7
- };
8
- export const startAuthentication = {
9
- authenticating: true,
10
- authenticated: false,
11
- };
12
- const ɵ0 = (state, _a) => {
13
- var { type } = _a, payload = __rest(_a, ["type"]);
14
- return Object.assign(Object.assign({}, state), { authenticating: false, authenticated: true, user: payload });
15
- }, ɵ1 = () => noAuthentication, ɵ2 = () => noAuthentication;
16
- const authReducer = createReducer(startAuthentication, on(signedIn, ɵ0), on(signedOut, ɵ1), on(signInFailed, ɵ2));
17
- export function reducer(state, action) {
18
- return authReducer(state, action);
19
- }
20
- export { ɵ0, ɵ1, ɵ2 };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvbGliL3JlZHVjZXJzL2F1dGgucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHNUUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQVU7SUFDckMsY0FBYyxFQUFFLEtBQUs7SUFDckIsYUFBYSxFQUFFLEtBQUs7Q0FDckIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFVO0lBQ3hDLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGFBQWEsRUFBRSxLQUFLO0NBQ3JCLENBQUM7V0FJYSxDQUFDLEtBQUssRUFBRSxFQUFvQixFQUFFLEVBQUU7UUFBeEIsRUFBRSxJQUFJLE9BQWMsRUFBVCxPQUFPLGNBQWxCLFFBQW9CLENBQUY7SUFDckMsdUNBQVksS0FBSyxLQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxJQUFHO0FBQ2pGLENBQUMsT0FDYSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsT0FDbkIsR0FBRyxFQUFFLENBQUMsZ0JBQWdCO0FBTnpDLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FDL0IsbUJBQW1CLEVBQ25CLEVBQUUsQ0FBQyxRQUFRLEtBRVQsRUFDRixFQUFFLENBQUMsU0FBUyxLQUF5QixFQUNyQyxFQUFFLENBQUMsWUFBWSxLQUF5QixDQUN6QyxDQUFDO0FBRUYsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUF3QixFQUFFLE1BQWM7SUFDOUQsT0FBTyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIGNyZWF0ZVJlZHVjZXIsIG9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgc2lnbmVkSW4sIHNpZ25lZE91dCwgc2lnbkluRmFpbGVkIH0gZnJvbSAnLi4vYWN0aW9ucy9hdXRoLmFjdGlvbnMnO1xuaW1wb3J0IHsgU3RhdGUgfSBmcm9tICcuLi9zdGF0ZS9hdXRoLnN0YXRlJztcblxuZXhwb3J0IGNvbnN0IG5vQXV0aGVudGljYXRpb246IFN0YXRlID0ge1xuICBhdXRoZW50aWNhdGluZzogZmFsc2UsXG4gIGF1dGhlbnRpY2F0ZWQ6IGZhbHNlLFxufTtcblxuZXhwb3J0IGNvbnN0IHN0YXJ0QXV0aGVudGljYXRpb246IFN0YXRlID0ge1xuICBhdXRoZW50aWNhdGluZzogdHJ1ZSxcbiAgYXV0aGVudGljYXRlZDogZmFsc2UsXG59O1xuXG5jb25zdCBhdXRoUmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIHN0YXJ0QXV0aGVudGljYXRpb24sXG4gIG9uKHNpZ25lZEluLCAoc3RhdGUsIHsgdHlwZSwgLi4ucGF5bG9hZCB9KSA9PiB7XG4gICAgcmV0dXJuIHsgLi4uc3RhdGUsIGF1dGhlbnRpY2F0aW5nOiBmYWxzZSwgYXV0aGVudGljYXRlZDogdHJ1ZSwgdXNlcjogcGF5bG9hZCB9O1xuICB9KSxcbiAgb24oc2lnbmVkT3V0LCAoKSA9PiBub0F1dGhlbnRpY2F0aW9uKSxcbiAgb24oc2lnbkluRmFpbGVkLCAoKSA9PiBub0F1dGhlbnRpY2F0aW9uKVxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZHVjZXIoc3RhdGU6IFN0YXRlIHwgdW5kZWZpbmVkLCBhY3Rpb246IEFjdGlvbikge1xuICByZXR1cm4gYXV0aFJlZHVjZXIoc3RhdGUsIGFjdGlvbik7XG59XG4iXX0=
@@ -1,11 +0,0 @@
1
- import { createFeatureSelector, select } from '@ngrx/store';
2
- import { pipe } from 'rxjs';
3
- import { filter, map } from 'rxjs/operators';
4
- export const featureKey = 'auth';
5
- export const selectState = createFeatureSelector(featureKey);
6
- const ɵ0 = state => !state.authenticating, ɵ1 = state => state.authenticated;
7
- export const isAuthenticated = pipe(select(selectState), filter(ɵ0), map(ɵ1));
8
- const ɵ2 = state => !state.authenticating, ɵ3 = state => state.user;
9
- export const getUser = pipe(select(selectState), filter(ɵ2), map(ɵ3));
10
- export { ɵ0, ɵ1, ɵ2, ɵ3 };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdXRoMC1hbmd1bGFyL3NyYy9saWIvc3RvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztBQUVqQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcscUJBQXFCLENBQVEsVUFBVSxDQUFDLENBQUM7V0FJM0QsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLE9BQ2pDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGFBQWE7QUFIbEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FDakMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUNuQixNQUFNLElBQWdDLEVBQ3RDLEdBQUcsSUFBOEIsQ0FDbEMsQ0FBQztXQUlPLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxPQUNqQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJO0FBSHpCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQ3pCLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFDbkIsTUFBTSxJQUFnQyxFQUN0QyxHQUFHLElBQXFCLENBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIHNlbGVjdCB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IHBpcGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3RhdGUgfSBmcm9tICcuLi9zdGF0ZS9hdXRoLnN0YXRlJztcblxuZXhwb3J0IGNvbnN0IGZlYXR1cmVLZXkgPSAnYXV0aCc7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxTdGF0ZT4oZmVhdHVyZUtleSk7XG5cbmV4cG9ydCBjb25zdCBpc0F1dGhlbnRpY2F0ZWQgPSBwaXBlKFxuICBzZWxlY3Qoc2VsZWN0U3RhdGUpLFxuICBmaWx0ZXIoc3RhdGUgPT4gIXN0YXRlLmF1dGhlbnRpY2F0aW5nKSxcbiAgbWFwKHN0YXRlID0+IHN0YXRlLmF1dGhlbnRpY2F0ZWQpXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0VXNlciA9IHBpcGUoXG4gIHNlbGVjdChzZWxlY3RTdGF0ZSksXG4gIGZpbHRlcihzdGF0ZSA9PiAhc3RhdGUuYXV0aGVudGljYXRpbmcpLFxuICBtYXAoc3RhdGUgPT4gc3RhdGUudXNlcilcbik7XG4iXX0=
@@ -1,12 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- export { signInFailed as ɵa } from './lib/actions/auth.actions';
6
- export { AuthConfig as ɵh } from './lib/auth-config';
7
- export { AuthService as ɵg } from './lib/auth.service';
8
- export { AuthEffects as ɵf } from './lib/effects/auth.effects';
9
- export { JwtInterceptor as ɵi } from './lib/jwt.interceptor';
10
- export { reducer as ɵe, startAuthentication as ɵd } from './lib/reducers/auth.reducer';
11
- export { featureKey as ɵb, selectState as ɵc } from './lib/store';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlY2xhLWF1dGgwLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hdXRoMC1hbmd1bGFyL3NyYy90aGVjbGEtYXV0aDAtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsT0FBTyxJQUFJLEVBQUUsRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRixPQUFPLEVBQUMsVUFBVSxJQUFJLEVBQUUsRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge3NpZ25JbkZhaWxlZCBhcyDJtWF9IGZyb20gJy4vbGliL2FjdGlvbnMvYXV0aC5hY3Rpb25zJztcbmV4cG9ydCB7QXV0aENvbmZpZyBhcyDJtWh9IGZyb20gJy4vbGliL2F1dGgtY29uZmlnJztcbmV4cG9ydCB7QXV0aFNlcnZpY2UgYXMgybVnfSBmcm9tICcuL2xpYi9hdXRoLnNlcnZpY2UnO1xuZXhwb3J0IHtBdXRoRWZmZWN0cyBhcyDJtWZ9IGZyb20gJy4vbGliL2VmZmVjdHMvYXV0aC5lZmZlY3RzJztcbmV4cG9ydCB7Snd0SW50ZXJjZXB0b3IgYXMgybVpfSBmcm9tICcuL2xpYi9qd3QuaW50ZXJjZXB0b3InO1xuZXhwb3J0IHtyZWR1Y2VyIGFzIMm1ZSxzdGFydEF1dGhlbnRpY2F0aW9uIGFzIMm1ZH0gZnJvbSAnLi9saWIvcmVkdWNlcnMvYXV0aC5yZWR1Y2VyJztcbmV4cG9ydCB7ZmVhdHVyZUtleSBhcyDJtWIsc2VsZWN0U3RhdGUgYXMgybVjfSBmcm9tICcuL2xpYi9zdG9yZSc7Il19
@@ -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 public abstract sessionCheckExpiryDays?: number;\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, User } from '@auth0/auth0-spa-js';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { filter, 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,\n sessionCheckExpiryDays: config.sessionCheckExpiryDays,\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()).pipe(filter((u): u is User => u !== undefined));\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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"}