@thecla/b2c-angular 1.0.1 → 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 (43) hide show
  1. package/esm2020/lib/actions/auth.actions.mjs +10 -0
  2. package/esm2020/lib/auth-config.mjs +3 -0
  3. package/esm2020/lib/auth.guard.mjs +29 -0
  4. package/esm2020/lib/auth.module.mjs +42 -0
  5. package/esm2020/lib/auth.service.mjs +68 -0
  6. package/esm2020/lib/effects/auth.effects.mjs +59 -0
  7. package/esm2020/lib/jwt.interceptor.mjs +32 -0
  8. package/esm2020/lib/reducers/auth.reducer.mjs +20 -0
  9. package/esm2020/lib/state/auth.state.mjs +2 -0
  10. package/esm2020/lib/store/index.mjs +8 -0
  11. package/esm2020/public-api.mjs +5 -0
  12. package/esm2020/thecla-b2c-angular.mjs +5 -0
  13. package/fesm2015/{thecla-b2c-angular.js → thecla-b2c-angular.mjs} +64 -72
  14. package/fesm2015/thecla-b2c-angular.mjs.map +1 -0
  15. package/fesm2020/thecla-b2c-angular.mjs +240 -0
  16. package/fesm2020/thecla-b2c-angular.mjs.map +1 -0
  17. package/lib/actions/auth.actions.d.ts +16 -12
  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 +20 -13
  22. package/lib/jwt.interceptor.d.ts +3 -0
  23. package/lib/state/auth.state.d.ts +1 -1
  24. package/package.json +25 -14
  25. package/thecla-b2c-angular.d.ts +1 -7
  26. package/bundles/thecla-b2c-angular.umd.js +0 -574
  27. package/bundles/thecla-b2c-angular.umd.js.map +0 -1
  28. package/bundles/thecla-b2c-angular.umd.min.js +0 -2
  29. package/bundles/thecla-b2c-angular.umd.min.js.map +0 -1
  30. package/esm2015/lib/actions/auth.actions.js +0 -10
  31. package/esm2015/lib/auth-config.js +0 -3
  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 -72
  35. package/esm2015/lib/effects/auth.effects.js +0 -58
  36. package/esm2015/lib/jwt.interceptor.js +0 -31
  37. package/esm2015/lib/reducers/auth.reducer.js +0 -21
  38. package/esm2015/lib/state/auth.state.js +0 -1
  39. package/esm2015/lib/store/index.js +0 -11
  40. package/esm2015/public-api.js +0 -5
  41. package/esm2015/thecla-b2c-angular.js +0 -12
  42. package/fesm2015/thecla-b2c-angular.js.map +0 -1
  43. package/thecla-b2c-angular.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"thecla-b2c-angular.umd.js","sources":["../../../projects/b2c-angular/src/lib/auth-config.ts","../../../projects/b2c-angular/src/lib/actions/auth.actions.ts","../../../projects/b2c-angular/src/lib/auth.service.ts","../../../projects/b2c-angular/src/lib/effects/auth.effects.ts","../../../projects/b2c-angular/src/lib/jwt.interceptor.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/b2c-angular/src/lib/reducers/auth.reducer.ts","../../../projects/b2c-angular/src/lib/store/index.ts","../../../projects/b2c-angular/src/lib/auth.module.ts","../../../projects/b2c-angular/src/lib/auth.guard.ts","../../../projects/b2c-angular/src/thecla-b2c-angular.ts"],"sourcesContent":["export abstract class AuthConfig {\n public abstract clientId: string;\n public abstract authority: string;\n public abstract signInPolicy: string;\n public abstract resetPasswordPolicy: string;\n public abstract knownAuthorities: string[];\n public abstract scopes: string[];\n public abstract redirectUri?: string;\n}\n","import { createAction, props } from '@ngrx/store';\nimport { Profile } from '../state/auth.state';\n\nexport const signIn = createAction('@thecla/b2c-angular/sign-in', props<{ returnUrl: string }>());\n\nexport const signInRedirected = createAction('@thecla/b2c-angular/sign-in-redirected');\n\nexport const signInCompleted = createAction(\n '@thecla/b2c-angular/sign-in-completed',\n props<{ state: { target: string; passwordReset: boolean }; user: Profile }>()\n);\n\nexport const signedIn = createAction('@thecla/b2c-angular/signed-in', props<Profile>());\n\nexport const signInFailed = createAction('@thecla/b2c-angular/sign-in-failed', props<{ error: Error }>());\n\nexport const signOut = createAction('@thecla/b2c-angular/sign-out');\n\nexport const signedOut = createAction('@thecla/b2c-angular/signed-out');\n\nexport const resetPassword = createAction('@thecla/b2c-angular/reset-password', props<{ returnUrl: string }>());\n","import { Injectable } from '@angular/core';\nimport {\n AuthenticationResult,\n Configuration,\n InteractionRequiredAuthError,\n PublicClientApplication,\n} from '@azure/msal-browser';\nimport { from, of, throwError } from 'rxjs';\nimport { catchError, filter, map } from 'rxjs/operators';\nimport { AuthConfig } from './auth-config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private readonly clientApplication: PublicClientApplication;\n\n constructor(private readonly config: AuthConfig) {\n const msalConfig: Configuration = {\n auth: {\n clientId: config.clientId,\n authority: `${config.authority}/${config.signInPolicy}`,\n knownAuthorities: config.knownAuthorities,\n redirectUri: config.redirectUri ?? location.origin,\n },\n };\n\n this.clientApplication = new PublicClientApplication(msalConfig);\n }\n\n public loginWithRedirect(state: { target: string }) {\n return from(\n this.clientApplication.loginRedirect({\n scopes: this.config.scopes,\n state: JSON.stringify({ ...state, passwordReset: false }),\n })\n );\n }\n\n public resetPasswordWithRedirect(state: { target: string }) {\n return from(\n this.clientApplication.loginRedirect({\n authority: `${this.config.authority}/${this.config.resetPasswordPolicy}`,\n scopes: this.config.scopes,\n state: JSON.stringify({ ...state, passwordReset: true }),\n prompt: 'login',\n })\n );\n }\n\n public handleRedirectCallback() {\n return from(this.clientApplication.handleRedirectPromise()).pipe(\n filter((result): result is AuthenticationResult => result !== null),\n map(result => {\n return {\n state: result.state ? JSON.parse(result.state) : undefined,\n user: { sub: result.uniqueId, ...result.idTokenClaims },\n };\n })\n );\n }\n\n public getAccessToken() {\n const account = this.clientApplication.getAllAccounts()[0];\n const scopes = this.config.scopes;\n\n return from(this.clientApplication.acquireTokenSilent({ account, scopes })).pipe(map(result => result.accessToken));\n }\n\n public logout() {\n return from(this.clientApplication.logout({ postLogoutRedirectUri: location.origin }));\n }\n\n public checkSession() {\n const accounts = this.clientApplication.getAllAccounts();\n const scopes = this.config.scopes;\n\n if (accounts.length === 1) {\n return from(this.clientApplication.acquireTokenSilent({ account: accounts[0], scopes })).pipe(\n map(result => ({ sub: result.uniqueId, ...result.idTokenClaims })),\n catchError(error => (error instanceof InteractionRequiredAuthError ? of(undefined) : throwError(error)))\n );\n } else {\n return of(undefined);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthError, BrowserAuthErrorMessage } from '@azure/msal-browser';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { asyncScheduler, of, SchedulerLike } from 'rxjs';\nimport { catchError, filter, map, observeOn, switchMap, tap } from 'rxjs/operators';\nimport {\n resetPassword,\n signedIn,\n signedOut,\n signIn,\n signInCompleted,\n signInFailed,\n signInRedirected,\n signOut,\n} from '../actions/auth.actions';\nimport { AuthService } from '../auth.service';\n\n@Injectable()\nexport class AuthEffects {\n constructor(\n private readonly actions$: Actions,\n private readonly auth: AuthService,\n private readonly router: Router\n ) {}\n public readonly signIn$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signIn),\n switchMap(action =>\n this.auth.loginWithRedirect({ target: action.returnUrl }).pipe(\n map(() => signInRedirected()),\n catchError(error => of(signInFailed({ error })))\n )\n )\n )\n );\n\n public readonly passwordReset$ = createEffect(() =>\n this.actions$.pipe(\n ofType(resetPassword),\n switchMap(action =>\n this.auth.resetPasswordWithRedirect({ target: action.returnUrl }).pipe(\n map(() => signInRedirected()),\n catchError(error => of(signInFailed({ error })))\n )\n )\n )\n );\n\n public readonly signInCompleted$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInCompleted),\n map(action => (action.state.passwordReset ? signOut() : signedIn(action.user)))\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 switchMap(_ =>\n this.auth.logout().pipe(\n map(() => signedOut()),\n catchError(() => of(signedOut()))\n )\n )\n )\n );\n\n public readonly init$ = createEffect(() => ({ scheduler = asyncScheduler } = {}) => {\n const params = window.location.hash;\n\n if (\n (params.includes('code=') && params.includes('state=')) ||\n (params.includes('error=') && params.includes('error_description='))\n ) {\n return this.completeSignIn(scheduler);\n } else {\n return this.auth.checkSession().pipe(\n map(user => this.getAuthResult(user)),\n catchError(error => of(signInFailed({ error }))),\n observeOn(scheduler)\n );\n }\n });\n\n public readonly resetPassword$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInFailed),\n filter(action => action.error instanceof AuthError),\n map(action => action.error as AuthError),\n filter(AuthEffects.isForgotPasswordError),\n map(() => resetPassword({ returnUrl: '/' }))\n )\n );\n\n public readonly failed$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInFailed),\n filter(action => action.error instanceof AuthError),\n map(action => action.error as AuthError),\n filter(AuthEffects.isInteractionInProgress),\n map(() => signOut())\n )\n );\n\n private static isForgotPasswordError(error: AuthError) {\n return error.errorCode === 'access_denied' && error.errorMessage.indexOf('AADB2C90118') !== -1;\n }\n\n private static isInteractionInProgress(error: AuthError) {\n return error.errorCode === BrowserAuthErrorMessage.interactionInProgress.code;\n }\n\n private getAuthResult(user: { sub: string } | undefined) {\n if (user) {\n return signedIn(user);\n } else {\n return signedOut();\n }\n }\n\n private completeSignIn(scheduler: SchedulerLike) {\n return this.auth.handleRedirectCallback().pipe(\n map(result => signInCompleted({ state: result.state, user: result.user })),\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","/*! *****************************************************************************\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 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\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\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 __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 { 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","PublicClientApplication","from","filter","map","catchError","InteractionRequiredAuthError","of","throwError","Injectable","createEffect","ofType","switchMap","asyncScheduler","observeOn","AuthError","BrowserAuthErrorMessage","Actions","Router","mergeMap","createReducer","on","createFeatureSelector","pipe","select","HTTP_INTERCEPTORS","NgModule","StoreModule","EffectsModule","tap","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("@azure/msal-browser"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@thecla/b2c-angular",["exports","@angular/common/http","@angular/core","@ngrx/effects","@ngrx/store","@angular/router","@azure/msal-browser","rxjs","rxjs/operators"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).thecla=t.thecla||{},t.thecla["b2c-angular"]={}),t.ng.common.http,t.ng.core,t.ngrx.effects,t.ngrx.store,t.ng.router,t.azure["msal-browser"],t.rxjs,t.rxjs.operators)}(this,(function(t,e,r,n,o,i,c,a,u){"use strict";var s=function(){},p=o.createAction("@thecla/b2c-angular/sign-in",o.props()),f=o.createAction("@thecla/b2c-angular/sign-in-redirected"),l=o.createAction("@thecla/b2c-angular/sign-in-completed",o.props()),h=o.createAction("@thecla/b2c-angular/signed-in",o.props()),d=o.createAction("@thecla/b2c-angular/sign-in-failed",o.props()),g=o.createAction("@thecla/b2c-angular/sign-out"),y=o.createAction("@thecla/b2c-angular/signed-out"),m=o.createAction("@thecla/b2c-angular/reset-password",o.props()),b=function(){function t(t){var e;this.config=t;var r={auth:{clientId:t.clientId,authority:t.authority+"/"+t.signInPolicy,knownAuthorities:t.knownAuthorities,redirectUri:null!==(e=t.redirectUri)&&void 0!==e?e:location.origin}};this.clientApplication=new c.PublicClientApplication(r)}return t.prototype.loginWithRedirect=function(t){return a.from(this.clientApplication.loginRedirect({scopes:this.config.scopes,state:JSON.stringify(Object.assign(Object.assign({},t),{passwordReset:!1}))}))},t.prototype.resetPasswordWithRedirect=function(t){return a.from(this.clientApplication.loginRedirect({authority:this.config.authority+"/"+this.config.resetPasswordPolicy,scopes:this.config.scopes,state:JSON.stringify(Object.assign(Object.assign({},t),{passwordReset:!0})),prompt:"login"}))},t.prototype.handleRedirectCallback=function(){return a.from(this.clientApplication.handleRedirectPromise()).pipe(u.filter((function(t){return null!==t})),u.map((function(t){return{state:t.state?JSON.parse(t.state):void 0,user:Object.assign({sub:t.uniqueId},t.idTokenClaims)}})))},t.prototype.getAccessToken=function(){var t=this.clientApplication.getAllAccounts()[0],e=this.config.scopes;return a.from(this.clientApplication.acquireTokenSilent({account:t,scopes:e})).pipe(u.map((function(t){return t.accessToken})))},t.prototype.logout=function(){return a.from(this.clientApplication.logout({postLogoutRedirectUri:location.origin}))},t.prototype.checkSession=function(){var t=this.clientApplication.getAllAccounts(),e=this.config.scopes;return 1===t.length?a.from(this.clientApplication.acquireTokenSilent({account:t[0],scopes:e})).pipe(u.map((function(t){return Object.assign({sub:t.uniqueId},t.idTokenClaims)})),u.catchError((function(t){return t instanceof c.InteractionRequiredAuthError?a.of(void 0):a.throwError(t)}))):a.of(void 0)},t}();b.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new b(r.ɵɵinject(s))},token:b,providedIn:"root"}),b.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],b.ctorParameters=function(){return[{type:s}]};var A=function(){function t(e,r,o){var i=this;this.actions$=e,this.auth=r,this.router=o,this.signIn$=n.createEffect((function(){return i.actions$.pipe(n.ofType(p),u.switchMap((function(t){return i.auth.loginWithRedirect({target:t.returnUrl}).pipe(u.map((function(){return f()})),u.catchError((function(t){return a.of(d({error:t}))})))})))})),this.passwordReset$=n.createEffect((function(){return i.actions$.pipe(n.ofType(m),u.switchMap((function(t){return i.auth.resetPasswordWithRedirect({target:t.returnUrl}).pipe(u.map((function(){return f()})),u.catchError((function(t){return a.of(d({error:t}))})))})))})),this.signInCompleted$=n.createEffect((function(){return i.actions$.pipe(n.ofType(l),u.map((function(t){return t.state.passwordReset?g():h(t.user)})))})),this.redirect$=n.createEffect((function(){return i.actions$.pipe(n.ofType(l),u.switchMap((function(t){return i.router.navigateByUrl(t.state.target,{replaceUrl:!0})})))}),{dispatch:!1}),this.signOut$=n.createEffect((function(){return i.actions$.pipe(n.ofType(g),u.switchMap((function(t){return i.auth.logout().pipe(u.map((function(){return y()})),u.catchError((function(){return a.of(y())})))})))})),this.init$=n.createEffect((function(){return function(t){var e=(void 0===t?{}:t).scheduler,r=void 0===e?a.asyncScheduler:e,n=window.location.hash;return n.includes("code=")&&n.includes("state=")||n.includes("error=")&&n.includes("error_description=")?i.completeSignIn(r):i.auth.checkSession().pipe(u.map((function(t){return i.getAuthResult(t)})),u.catchError((function(t){return a.of(d({error:t}))})),u.observeOn(r))}})),this.resetPassword$=n.createEffect((function(){return i.actions$.pipe(n.ofType(d),u.filter((function(t){return t.error instanceof c.AuthError})),u.map((function(t){return t.error})),u.filter(t.isForgotPasswordError),u.map((function(){return m({returnUrl:"/"})})))})),this.failed$=n.createEffect((function(){return i.actions$.pipe(n.ofType(d),u.filter((function(t){return t.error instanceof c.AuthError})),u.map((function(t){return t.error})),u.filter(t.isInteractionInProgress),u.map((function(){return g()})))}))}return t.isForgotPasswordError=function(t){return"access_denied"===t.errorCode&&-1!==t.errorMessage.indexOf("AADB2C90118")},t.isInteractionInProgress=function(t){return t.errorCode===c.BrowserAuthErrorMessage.interactionInProgress.code},t.prototype.getAuthResult=function(t){return t?h(t):y()},t.prototype.completeSignIn=function(t){return this.auth.handleRedirectCallback().pipe(u.map((function(t){return l({state:t.state,user:t.user})})),u.catchError((function(t){return a.of(d({error:t}))})),u.observeOn(t))},t}();A.decorators=[{type:r.Injectable}],A.ctorParameters=function(){return[{type:n.Actions},{type:b},{type:i.Router}]};var v=function(){function t(t){this.auth=t}return t.prototype.intercept=function(t,e){return this.isSameDomain(t)?this.authorize(t).pipe(u.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(u.map((function(e){return t.clone({setHeaders:{Authorization:"Bearer "+e}})})))},t}();v.decorators=[{type:r.Injectable}],v.ctorParameters=function(){return[{type:b}]};Object.create;Object.create;var j={authenticating:!1,authenticated:!1},w={authenticating:!0,authenticated:!1},O=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(y,(function(){return j})),o.on(d,(function(){return j})));function I(t,e){return O(t,e)}var E="auth",P=o.createFeatureSelector(E),R=a.pipe(o.select(P),u.filter((function(t){return!t.authenticating})),u.map((function(t){return t.authenticated}))),T=a.pipe(o.select(P),u.filter((function(t){return!t.authenticating})),u.map((function(t){return t.user}))),x=function(){function t(){}return t.forRoot=function(r){return{ngModule:t,providers:[{provide:s,useValue:r},{provide:e.HTTP_INTERCEPTORS,useClass:v,multi:!0}]}},t}();x.decorators=[{type:r.NgModule,args:[{declarations:[],imports:[o.StoreModule.forFeature(E,I),n.EffectsModule.forFeature([A])],exports:[]}]}];var S=function(){function t(t){this.store=t,this.authenticated$=this.store.pipe(R)}return t.prototype.canActivate=function(t,e){var r=this;return this.authenticated$.pipe(u.tap((function(t){t||r.store.dispatch(p({returnUrl:e.url}))})),u.first())},t}();S.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new S(r.ɵɵinject(o.Store))},token:S,providedIn:"root"}),S.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],S.ctorParameters=function(){return[{type:o.Store}]},t.AuthGuard=S,t.AuthModule=x,t.getUser=T,t.isAuthenticated=R,t.signIn=p,t.signOut=g,t.signedIn=h,t.signedOut=y,t.ɵa=d,t.ɵb=E,t.ɵc=P,t.ɵd=w,t.ɵe=I,t.ɵf=A,t.ɵg=b,t.ɵh=s,t.ɵi=v,Object.defineProperty(t,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=thecla-b2c-angular.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../projects/b2c-angular/src/lib/auth-config.ts","../../../projects/b2c-angular/src/lib/actions/auth.actions.ts","../../../projects/b2c-angular/src/lib/auth.service.ts","../../../projects/b2c-angular/src/lib/effects/auth.effects.ts","../../../projects/b2c-angular/src/lib/jwt.interceptor.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/b2c-angular/src/lib/reducers/auth.reducer.ts","../../../projects/b2c-angular/src/lib/store/index.ts","../../../projects/b2c-angular/src/lib/auth.module.ts","../../../projects/b2c-angular/src/lib/auth.guard.ts"],"names":["signIn","createAction","props","signInRedirected","signInCompleted","signedIn","signInFailed","signOut","signedOut","resetPassword","AuthService","config","this","msalConfig","auth","clientId","authority","signInPolicy","knownAuthorities","redirectUri","_a","location","origin","clientApplication","PublicClientApplication","prototype","loginWithRedirect","state","from","loginRedirect","scopes","JSON","stringify","Object","assign","passwordReset","resetPasswordWithRedirect","resetPasswordPolicy","prompt","handleRedirectCallback","handleRedirectPromise","pipe","filter","result","map","parse","undefined","user","sub","uniqueId","idTokenClaims","getAccessToken","account","getAllAccounts","acquireTokenSilent","accessToken","logout","postLogoutRedirectUri","checkSession","accounts","length","catchError","error","InteractionRequiredAuthError","of","throwError","Injectable","args","providedIn","AuthConfig","AuthEffects","actions$","router","_this","signIn$","createEffect","ofType","switchMap","action","target","returnUrl","passwordReset$","signInCompleted$","redirect$","navigateByUrl","replaceUrl","dispatch","signOut$","_","init$","_b","scheduler","asyncScheduler","params","window","hash","includes","completeSignIn","getAuthResult","observeOn","resetPassword$","AuthError","isForgotPasswordError","failed$","isInteractionInProgress","errorCode","errorMessage","indexOf","BrowserAuthErrorMessage","interactionInProgress","code","Actions","Router","JwtInterceptor","intercept","request","next","isSameDomain","authorize","mergeMap","authorizedRequest","handle","test","url","token","clone","setHeaders","Authorization","create","noAuthentication","authenticating","authenticated","startAuthentication","authReducer","createReducer","on","type","payload","s","e","t","p","hasOwnProperty","call","getOwnPropertySymbols","i","propertyIsEnumerable","__rest","reducer","featureKey","selectState","createFeatureSelector","isAuthenticated","select","getUser","AuthModule","forRoot","ngModule","providers","provide","useValue","HTTP_INTERCEPTORS","useClass","multi","NgModule","declarations","imports","StoreModule","forFeature","EffectsModule","exports","AuthGuard","store","authenticated$","canActivate","tap","first","Store"],"mappings":"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","sourcesContent":["export abstract class AuthConfig {\n public abstract clientId: string;\n public abstract authority: string;\n public abstract signInPolicy: string;\n public abstract resetPasswordPolicy: string;\n public abstract knownAuthorities: string[];\n public abstract scopes: string[];\n public abstract redirectUri?: string;\n}\n","import { createAction, props } from '@ngrx/store';\nimport { Profile } from '../state/auth.state';\n\nexport const signIn = createAction('@thecla/b2c-angular/sign-in', props<{ returnUrl: string }>());\n\nexport const signInRedirected = createAction('@thecla/b2c-angular/sign-in-redirected');\n\nexport const signInCompleted = createAction(\n '@thecla/b2c-angular/sign-in-completed',\n props<{ state: { target: string; passwordReset: boolean }; user: Profile }>()\n);\n\nexport const signedIn = createAction('@thecla/b2c-angular/signed-in', props<Profile>());\n\nexport const signInFailed = createAction('@thecla/b2c-angular/sign-in-failed', props<{ error: Error }>());\n\nexport const signOut = createAction('@thecla/b2c-angular/sign-out');\n\nexport const signedOut = createAction('@thecla/b2c-angular/signed-out');\n\nexport const resetPassword = createAction('@thecla/b2c-angular/reset-password', props<{ returnUrl: string }>());\n","import { Injectable } from '@angular/core';\nimport {\n AuthenticationResult,\n Configuration,\n InteractionRequiredAuthError,\n PublicClientApplication,\n} from '@azure/msal-browser';\nimport { from, of, throwError } from 'rxjs';\nimport { catchError, filter, map } from 'rxjs/operators';\nimport { AuthConfig } from './auth-config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private readonly clientApplication: PublicClientApplication;\n\n constructor(private readonly config: AuthConfig) {\n const msalConfig: Configuration = {\n auth: {\n clientId: config.clientId,\n authority: `${config.authority}/${config.signInPolicy}`,\n knownAuthorities: config.knownAuthorities,\n redirectUri: config.redirectUri ?? location.origin,\n },\n };\n\n this.clientApplication = new PublicClientApplication(msalConfig);\n }\n\n public loginWithRedirect(state: { target: string }) {\n return from(\n this.clientApplication.loginRedirect({\n scopes: this.config.scopes,\n state: JSON.stringify({ ...state, passwordReset: false }),\n })\n );\n }\n\n public resetPasswordWithRedirect(state: { target: string }) {\n return from(\n this.clientApplication.loginRedirect({\n authority: `${this.config.authority}/${this.config.resetPasswordPolicy}`,\n scopes: this.config.scopes,\n state: JSON.stringify({ ...state, passwordReset: true }),\n prompt: 'login',\n })\n );\n }\n\n public handleRedirectCallback() {\n return from(this.clientApplication.handleRedirectPromise()).pipe(\n filter((result): result is AuthenticationResult => result !== null),\n map(result => {\n return {\n state: result.state ? JSON.parse(result.state) : undefined,\n user: { sub: result.uniqueId, ...result.idTokenClaims },\n };\n })\n );\n }\n\n public getAccessToken() {\n const account = this.clientApplication.getAllAccounts()[0];\n const scopes = this.config.scopes;\n\n return from(this.clientApplication.acquireTokenSilent({ account, scopes })).pipe(map(result => result.accessToken));\n }\n\n public logout() {\n return from(this.clientApplication.logout({ postLogoutRedirectUri: location.origin }));\n }\n\n public checkSession() {\n const accounts = this.clientApplication.getAllAccounts();\n const scopes = this.config.scopes;\n\n if (accounts.length === 1) {\n return from(this.clientApplication.acquireTokenSilent({ account: accounts[0], scopes })).pipe(\n map(result => ({ sub: result.uniqueId, ...result.idTokenClaims })),\n catchError(error => (error instanceof InteractionRequiredAuthError ? of(undefined) : throwError(error)))\n );\n } else {\n return of(undefined);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthError, BrowserAuthErrorMessage } from '@azure/msal-browser';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { asyncScheduler, of, SchedulerLike } from 'rxjs';\nimport { catchError, filter, map, observeOn, switchMap, tap } from 'rxjs/operators';\nimport {\n resetPassword,\n signedIn,\n signedOut,\n signIn,\n signInCompleted,\n signInFailed,\n signInRedirected,\n signOut,\n} from '../actions/auth.actions';\nimport { AuthService } from '../auth.service';\n\n@Injectable()\nexport class AuthEffects {\n constructor(\n private readonly actions$: Actions,\n private readonly auth: AuthService,\n private readonly router: Router\n ) {}\n public readonly signIn$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signIn),\n switchMap(action =>\n this.auth.loginWithRedirect({ target: action.returnUrl }).pipe(\n map(() => signInRedirected()),\n catchError(error => of(signInFailed({ error })))\n )\n )\n )\n );\n\n public readonly passwordReset$ = createEffect(() =>\n this.actions$.pipe(\n ofType(resetPassword),\n switchMap(action =>\n this.auth.resetPasswordWithRedirect({ target: action.returnUrl }).pipe(\n map(() => signInRedirected()),\n catchError(error => of(signInFailed({ error })))\n )\n )\n )\n );\n\n public readonly signInCompleted$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInCompleted),\n map(action => (action.state.passwordReset ? signOut() : signedIn(action.user)))\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 switchMap(_ =>\n this.auth.logout().pipe(\n map(() => signedOut()),\n catchError(() => of(signedOut()))\n )\n )\n )\n );\n\n public readonly init$ = createEffect(() => ({ scheduler = asyncScheduler } = {}) => {\n const params = window.location.hash;\n\n if (\n (params.includes('code=') && params.includes('state=')) ||\n (params.includes('error=') && params.includes('error_description='))\n ) {\n return this.completeSignIn(scheduler);\n } else {\n return this.auth.checkSession().pipe(\n map(user => this.getAuthResult(user)),\n catchError(error => of(signInFailed({ error }))),\n observeOn(scheduler)\n );\n }\n });\n\n public readonly resetPassword$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInFailed),\n filter(action => action.error instanceof AuthError),\n map(action => action.error as AuthError),\n filter(AuthEffects.isForgotPasswordError),\n map(() => resetPassword({ returnUrl: '/' }))\n )\n );\n\n public readonly failed$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInFailed),\n filter(action => action.error instanceof AuthError),\n map(action => action.error as AuthError),\n filter(AuthEffects.isInteractionInProgress),\n map(() => signOut())\n )\n );\n\n private static isForgotPasswordError(error: AuthError) {\n return error.errorCode === 'access_denied' && error.errorMessage.indexOf('AADB2C90118') !== -1;\n }\n\n private static isInteractionInProgress(error: AuthError) {\n return error.errorCode === BrowserAuthErrorMessage.interactionInProgress.code;\n }\n\n private getAuthResult(user: { sub: string } | undefined) {\n if (user) {\n return signedIn(user);\n } else {\n return signedOut();\n }\n }\n\n private completeSignIn(scheduler: SchedulerLike) {\n return this.auth.handleRedirectCallback().pipe(\n map(result => signInCompleted({ state: result.state, user: result.user })),\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","/*! *****************************************************************************\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 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\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\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 __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 { 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,10 +0,0 @@
1
- import { createAction, props } from '@ngrx/store';
2
- export const signIn = createAction('@thecla/b2c-angular/sign-in', props());
3
- export const signInRedirected = createAction('@thecla/b2c-angular/sign-in-redirected');
4
- export const signInCompleted = createAction('@thecla/b2c-angular/sign-in-completed', props());
5
- export const signedIn = createAction('@thecla/b2c-angular/signed-in', props());
6
- export const signInFailed = createAction('@thecla/b2c-angular/sign-in-failed', props());
7
- export const signOut = createAction('@thecla/b2c-angular/sign-out');
8
- export const signedOut = createAction('@thecla/b2c-angular/signed-out');
9
- export const resetPassword = createAction('@thecla/b2c-angular/reset-password', props());
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcHJvamVjdHMvYjJjLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvYXV0aC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxFQUF5QixDQUFDLENBQUM7QUFFbEcsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7QUFFdkYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FDekMsdUNBQXVDLEVBQ3ZDLEtBQUssRUFBd0UsQ0FDOUUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsK0JBQStCLEVBQUUsS0FBSyxFQUFXLENBQUMsQ0FBQztBQUV4RixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLG9DQUFvQyxFQUFFLEtBQUssRUFBb0IsQ0FBQyxDQUFDO0FBRTFHLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsOEJBQThCLENBQUMsQ0FBQztBQUVwRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7QUFFeEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLLEVBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBQcm9maWxlIH0gZnJvbSAnLi4vc3RhdGUvYXV0aC5zdGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBzaWduSW4gPSBjcmVhdGVBY3Rpb24oJ0B0aGVjbGEvYjJjLWFuZ3VsYXIvc2lnbi1pbicsIHByb3BzPHsgcmV0dXJuVXJsOiBzdHJpbmcgfT4oKSk7XG5cbmV4cG9ydCBjb25zdCBzaWduSW5SZWRpcmVjdGVkID0gY3JlYXRlQWN0aW9uKCdAdGhlY2xhL2IyYy1hbmd1bGFyL3NpZ24taW4tcmVkaXJlY3RlZCcpO1xuXG5leHBvcnQgY29uc3Qgc2lnbkluQ29tcGxldGVkID0gY3JlYXRlQWN0aW9uKFxuICAnQHRoZWNsYS9iMmMtYW5ndWxhci9zaWduLWluLWNvbXBsZXRlZCcsXG4gIHByb3BzPHsgc3RhdGU6IHsgdGFyZ2V0OiBzdHJpbmc7IHBhc3N3b3JkUmVzZXQ6IGJvb2xlYW4gfTsgdXNlcjogUHJvZmlsZSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3Qgc2lnbmVkSW4gPSBjcmVhdGVBY3Rpb24oJ0B0aGVjbGEvYjJjLWFuZ3VsYXIvc2lnbmVkLWluJywgcHJvcHM8UHJvZmlsZT4oKSk7XG5cbmV4cG9ydCBjb25zdCBzaWduSW5GYWlsZWQgPSBjcmVhdGVBY3Rpb24oJ0B0aGVjbGEvYjJjLWFuZ3VsYXIvc2lnbi1pbi1mYWlsZWQnLCBwcm9wczx7IGVycm9yOiBFcnJvciB9PigpKTtcblxuZXhwb3J0IGNvbnN0IHNpZ25PdXQgPSBjcmVhdGVBY3Rpb24oJ0B0aGVjbGEvYjJjLWFuZ3VsYXIvc2lnbi1vdXQnKTtcblxuZXhwb3J0IGNvbnN0IHNpZ25lZE91dCA9IGNyZWF0ZUFjdGlvbignQHRoZWNsYS9iMmMtYW5ndWxhci9zaWduZWQtb3V0Jyk7XG5cbmV4cG9ydCBjb25zdCByZXNldFBhc3N3b3JkID0gY3JlYXRlQWN0aW9uKCdAdGhlY2xhL2IyYy1hbmd1bGFyL3Jlc2V0LXBhc3N3b3JkJywgcHJvcHM8eyByZXR1cm5Vcmw6IHN0cmluZyB9PigpKTtcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export class AuthConfig {
2
- }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9wcm9qZWN0cy9iMmMtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvYXV0aC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFnQixVQUFVO0NBUS9CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF1dGhDb25maWcge1xuICBwdWJsaWMgYWJzdHJhY3QgY2xpZW50SWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IGF1dGhvcml0eTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3Qgc2lnbkluUG9saWN5OiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZXNldFBhc3N3b3JkUG9saWN5OiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCBrbm93bkF1dGhvcml0aWVzOiBzdHJpbmdbXTtcbiAgcHVibGljIGFic3RyYWN0IHNjb3Blczogc3RyaW5nW107XG4gIHB1YmxpYyBhYnN0cmFjdCByZWRpcmVjdFVyaT86IHN0cmluZztcbn1cbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS92c3RzL3dvcmsvMS9zL3Byb2plY3RzL2IyYy1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hdXRoLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFLMUMsTUFBTSxPQUFPLFNBQVM7SUFHcEIsWUFBNkIsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUY3QixtQkFBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWxCLENBQUM7SUFFM0MsV0FBVyxDQUFDLElBQTRCLEVBQUUsS0FBMEI7UUFDekUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDN0IsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1QsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN2RDtRQUNILENBQUMsQ0FBQyxFQUNGLEtBQUssRUFBRSxDQUNSLENBQUM7SUFDSixDQUFDOzs7O1lBakJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBUFEsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgZmlyc3QsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHNpZ25JbiB9IGZyb20gJy4vYWN0aW9ucy9hdXRoLmFjdGlvbnMnO1xuaW1wb3J0IHsgaXNBdXRoZW50aWNhdGVkIH0gZnJvbSAnLi9zdG9yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXV0aGVudGljYXRlZCQgPSB0aGlzLnN0b3JlLnBpcGUoaXNBdXRoZW50aWNhdGVkKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBTdG9yZTxhbnk+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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9wcm9qZWN0cy9iMmMtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvYXV0aC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU9yQyxNQUFNLE9BQU8sVUFBVTtJQUNkLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBa0I7UUFDdEMsT0FBTztZQUNMLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsVUFBVTtvQkFDbkIsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFFBQVEsRUFBRSxjQUFjO29CQUN4QixLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQXJCRixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUMvRixPQUFPLEVBQUUsRUFBRTthQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBdXRoQ29uZmlnIH0gZnJvbSAnLi9hdXRoLWNvbmZpZyc7XG5pbXBvcnQgeyBBdXRoRWZmZWN0cyB9IGZyb20gJy4vZWZmZWN0cy9hdXRoLmVmZmVjdHMnO1xuaW1wb3J0IHsgSnd0SW50ZXJjZXB0b3IgfSBmcm9tICcuL2p3dC5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyByZWR1Y2VyIH0gZnJvbSAnLi9yZWR1Y2Vycy9hdXRoLnJlZHVjZXInO1xuaW1wb3J0IHsgZmVhdHVyZUtleSB9IGZyb20gJy4vc3RvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShmZWF0dXJlS2V5LCByZWR1Y2VyKSwgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKFtBdXRoRWZmZWN0c10pXSxcbiAgZXhwb3J0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlnOiBBdXRoQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBdXRoTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBdXRoTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBdXRoQ29uZmlnLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgICAgICB1c2VDbGFzczogSnd0SW50ZXJjZXB0b3IsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,72 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { InteractionRequiredAuthError, PublicClientApplication, } from '@azure/msal-browser';
3
- import { from, of, throwError } from 'rxjs';
4
- import { catchError, filter, map } from 'rxjs/operators';
5
- import { AuthConfig } from './auth-config';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./auth-config";
8
- export class AuthService {
9
- constructor(config) {
10
- var _a;
11
- this.config = config;
12
- const msalConfig = {
13
- auth: {
14
- clientId: config.clientId,
15
- authority: `${config.authority}/${config.signInPolicy}`,
16
- knownAuthorities: config.knownAuthorities,
17
- redirectUri: (_a = config.redirectUri) !== null && _a !== void 0 ? _a : location.origin,
18
- },
19
- };
20
- this.clientApplication = new PublicClientApplication(msalConfig);
21
- }
22
- loginWithRedirect(state) {
23
- return from(this.clientApplication.loginRedirect({
24
- scopes: this.config.scopes,
25
- state: JSON.stringify(Object.assign(Object.assign({}, state), { passwordReset: false })),
26
- }));
27
- }
28
- resetPasswordWithRedirect(state) {
29
- return from(this.clientApplication.loginRedirect({
30
- authority: `${this.config.authority}/${this.config.resetPasswordPolicy}`,
31
- scopes: this.config.scopes,
32
- state: JSON.stringify(Object.assign(Object.assign({}, state), { passwordReset: true })),
33
- prompt: 'login',
34
- }));
35
- }
36
- handleRedirectCallback() {
37
- return from(this.clientApplication.handleRedirectPromise()).pipe(filter((result) => result !== null), map(result => {
38
- return {
39
- state: result.state ? JSON.parse(result.state) : undefined,
40
- user: Object.assign({ sub: result.uniqueId }, result.idTokenClaims),
41
- };
42
- }));
43
- }
44
- getAccessToken() {
45
- const account = this.clientApplication.getAllAccounts()[0];
46
- const scopes = this.config.scopes;
47
- return from(this.clientApplication.acquireTokenSilent({ account, scopes })).pipe(map(result => result.accessToken));
48
- }
49
- logout() {
50
- return from(this.clientApplication.logout({ postLogoutRedirectUri: location.origin }));
51
- }
52
- checkSession() {
53
- const accounts = this.clientApplication.getAllAccounts();
54
- const scopes = this.config.scopes;
55
- if (accounts.length === 1) {
56
- return from(this.clientApplication.acquireTokenSilent({ account: accounts[0], scopes })).pipe(map(result => (Object.assign({ sub: result.uniqueId }, result.idTokenClaims))), catchError(error => (error instanceof InteractionRequiredAuthError ? of(undefined) : throwError(error))));
57
- }
58
- else {
59
- return of(undefined);
60
- }
61
- }
62
- }
63
- AuthService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthService_Factory() { return new AuthService(i0.ɵɵinject(i1.AuthConfig)); }, token: AuthService, providedIn: "root" });
64
- AuthService.decorators = [
65
- { type: Injectable, args: [{
66
- providedIn: 'root',
67
- },] }
68
- ];
69
- AuthService.ctorParameters = () => [
70
- { type: AuthConfig }
71
- ];
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcHJvamVjdHMvYjJjLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFHTCw0QkFBNEIsRUFDNUIsdUJBQXVCLEdBQ3hCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUE2QixNQUFrQjs7UUFBbEIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUM3QyxNQUFNLFVBQVUsR0FBa0I7WUFDaEMsSUFBSSxFQUFFO2dCQUNKLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtnQkFDekIsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO2dCQUN2RCxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO2dCQUN6QyxXQUFXLFFBQUUsTUFBTSxDQUFDLFdBQVcsbUNBQUksUUFBUSxDQUFDLE1BQU07YUFDbkQ7U0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQXlCO1FBQ2hELE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7WUFDbkMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFN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QUNIO2FBQU07WUFDTCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0QjtJQUNILENBQUM7Ozs7WUExRUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFKUSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXV0aGVudGljYXRpb25SZXN1bHQsXG4gIENvbmZpZ3VyYXRpb24sXG4gIEludGVyYWN0aW9uUmVxdWlyZWRBdXRoRXJyb3IsXG4gIFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uLFxufSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcbmltcG9ydCB7IGZyb20sIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF1dGhDb25maWcgfSBmcm9tICcuL2F1dGgtY29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjbGllbnRBcHBsaWNhdGlvbjogUHVibGljQ2xpZW50QXBwbGljYXRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb25maWc6IEF1dGhDb25maWcpIHtcbiAgICBjb25zdCBtc2FsQ29uZmlnOiBDb25maWd1cmF0aW9uID0ge1xuICAgICAgYXV0aDoge1xuICAgICAgICBjbGllbnRJZDogY29uZmlnLmNsaWVudElkLFxuICAgICAgICBhdXRob3JpdHk6IGAke2NvbmZpZy5hdXRob3JpdHl9LyR7Y29uZmlnLnNpZ25JblBvbGljeX1gLFxuICAgICAgICBrbm93bkF1dGhvcml0aWVzOiBjb25maWcua25vd25BdXRob3JpdGllcyxcbiAgICAgICAgcmVkaXJlY3RVcmk6IGNvbmZpZy5yZWRpcmVjdFVyaSA/PyBsb2NhdGlvbi5vcmlnaW4sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICB0aGlzLmNsaWVudEFwcGxpY2F0aW9uID0gbmV3IFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uKG1zYWxDb25maWcpO1xuICB9XG5cbiAgcHVibGljIGxvZ2luV2l0aFJlZGlyZWN0KHN0YXRlOiB7IHRhcmdldDogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMuY2xpZW50QXBwbGljYXRpb24ubG9naW5SZWRpcmVjdCh7XG4gICAgICAgIHNjb3BlczogdGhpcy5jb25maWcuc2NvcGVzLFxuICAgICAgICBzdGF0ZTogSlNPTi5zdHJpbmdpZnkoeyAuLi5zdGF0ZSwgcGFzc3dvcmRSZXNldDogZmFsc2UgfSksXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRQYXNzd29yZFdpdGhSZWRpcmVjdChzdGF0ZTogeyB0YXJnZXQ6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIGZyb20oXG4gICAgICB0aGlzLmNsaWVudEFwcGxpY2F0aW9uLmxvZ2luUmVkaXJlY3Qoe1xuICAgICAgICBhdXRob3JpdHk6IGAke3RoaXMuY29uZmlnLmF1dGhvcml0eX0vJHt0aGlzLmNvbmZpZy5yZXNldFBhc3N3b3JkUG9saWN5fWAsXG4gICAgICAgIHNjb3BlczogdGhpcy5jb25maWcuc2NvcGVzLFxuICAgICAgICBzdGF0ZTogSlNPTi5zdHJpbmdpZnkoeyAuLi5zdGF0ZSwgcGFzc3dvcmRSZXNldDogdHJ1ZSB9KSxcbiAgICAgICAgcHJvbXB0OiAnbG9naW4nLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZVJlZGlyZWN0Q2FsbGJhY2soKSB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5jbGllbnRBcHBsaWNhdGlvbi5oYW5kbGVSZWRpcmVjdFByb21pc2UoKSkucGlwZShcbiAgICAgIGZpbHRlcigocmVzdWx0KTogcmVzdWx0IGlzIEF1dGhlbnRpY2F0aW9uUmVzdWx0ID0+IHJlc3VsdCAhPT0gbnVsbCksXG4gICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzdGF0ZTogcmVzdWx0LnN0YXRlID8gSlNPTi5wYXJzZShyZXN1bHQuc3RhdGUpIDogdW5kZWZpbmVkLFxuICAgICAgICAgIHVzZXI6IHsgc3ViOiByZXN1bHQudW5pcXVlSWQsIC4uLnJlc3VsdC5pZFRva2VuQ2xhaW1zIH0sXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWNjZXNzVG9rZW4oKSB7XG4gICAgY29uc3QgYWNjb3VudCA9IHRoaXMuY2xpZW50QXBwbGljYXRpb24uZ2V0QWxsQWNjb3VudHMoKVswXTtcbiAgICBjb25zdCBzY29wZXMgPSB0aGlzLmNvbmZpZy5zY29wZXM7XG5cbiAgICByZXR1cm4gZnJvbSh0aGlzLmNsaWVudEFwcGxpY2F0aW9uLmFjcXVpcmVUb2tlblNpbGVudCh7IGFjY291bnQsIHNjb3BlcyB9KSkucGlwZShtYXAocmVzdWx0ID0+IHJlc3VsdC5hY2Nlc3NUb2tlbikpO1xuICB9XG5cbiAgcHVibGljIGxvZ291dCgpIHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmNsaWVudEFwcGxpY2F0aW9uLmxvZ291dCh7IHBvc3RMb2dvdXRSZWRpcmVjdFVyaTogbG9jYXRpb24ub3JpZ2luIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja1Nlc3Npb24oKSB7XG4gICAgY29uc3QgYWNjb3VudHMgPSB0aGlzLmNsaWVudEFwcGxpY2F0aW9uLmdldEFsbEFjY291bnRzKCk7XG4gICAgY29uc3Qgc2NvcGVzID0gdGhpcy5jb25maWcuc2NvcGVzO1xuXG4gICAgaWYgKGFjY291bnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIGZyb20odGhpcy5jbGllbnRBcHBsaWNhdGlvbi5hY3F1aXJlVG9rZW5TaWxlbnQoeyBhY2NvdW50OiBhY2NvdW50c1swXSwgc2NvcGVzIH0pKS5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+ICh7IHN1YjogcmVzdWx0LnVuaXF1ZUlkLCAuLi5yZXN1bHQuaWRUb2tlbkNsYWltcyB9KSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4gKGVycm9yIGluc3RhbmNlb2YgSW50ZXJhY3Rpb25SZXF1aXJlZEF1dGhFcnJvciA/IG9mKHVuZGVmaW5lZCkgOiB0aHJvd0Vycm9yKGVycm9yKSkpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,58 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- import { AuthError, BrowserAuthErrorMessage } from '@azure/msal-browser';
4
- import { Actions, createEffect, ofType } from '@ngrx/effects';
5
- import { asyncScheduler, of } from 'rxjs';
6
- import { catchError, filter, map, observeOn, switchMap } from 'rxjs/operators';
7
- import { resetPassword, signedIn, signedOut, signIn, signInCompleted, signInFailed, signInRedirected, signOut, } from '../actions/auth.actions';
8
- import { AuthService } from '../auth.service';
9
- export class AuthEffects {
10
- constructor(actions$, auth, router) {
11
- this.actions$ = actions$;
12
- this.auth = auth;
13
- this.router = router;
14
- this.signIn$ = createEffect(() => this.actions$.pipe(ofType(signIn), switchMap(action => this.auth.loginWithRedirect({ target: action.returnUrl }).pipe(map(() => signInRedirected()), catchError(error => of(signInFailed({ error })))))));
15
- this.passwordReset$ = createEffect(() => this.actions$.pipe(ofType(resetPassword), switchMap(action => this.auth.resetPasswordWithRedirect({ target: action.returnUrl }).pipe(map(() => signInRedirected()), catchError(error => of(signInFailed({ error })))))));
16
- this.signInCompleted$ = createEffect(() => this.actions$.pipe(ofType(signInCompleted), map(action => (action.state.passwordReset ? signOut() : signedIn(action.user)))));
17
- this.redirect$ = createEffect(() => this.actions$.pipe(ofType(signInCompleted), switchMap(action => this.router.navigateByUrl(action.state.target, { replaceUrl: true }))), { dispatch: false });
18
- this.signOut$ = createEffect(() => this.actions$.pipe(ofType(signOut), switchMap(_ => this.auth.logout().pipe(map(() => signedOut()), catchError(() => of(signedOut()))))));
19
- this.init$ = createEffect(() => ({ scheduler = asyncScheduler } = {}) => {
20
- const params = window.location.hash;
21
- if ((params.includes('code=') && params.includes('state=')) ||
22
- (params.includes('error=') && params.includes('error_description='))) {
23
- return this.completeSignIn(scheduler);
24
- }
25
- else {
26
- return this.auth.checkSession().pipe(map(user => this.getAuthResult(user)), catchError(error => of(signInFailed({ error }))), observeOn(scheduler));
27
- }
28
- });
29
- this.resetPassword$ = createEffect(() => this.actions$.pipe(ofType(signInFailed), filter(action => action.error instanceof AuthError), map(action => action.error), filter(AuthEffects.isForgotPasswordError), map(() => resetPassword({ returnUrl: '/' }))));
30
- this.failed$ = createEffect(() => this.actions$.pipe(ofType(signInFailed), filter(action => action.error instanceof AuthError), map(action => action.error), filter(AuthEffects.isInteractionInProgress), map(() => signOut())));
31
- }
32
- static isForgotPasswordError(error) {
33
- return error.errorCode === 'access_denied' && error.errorMessage.indexOf('AADB2C90118') !== -1;
34
- }
35
- static isInteractionInProgress(error) {
36
- return error.errorCode === BrowserAuthErrorMessage.interactionInProgress.code;
37
- }
38
- getAuthResult(user) {
39
- if (user) {
40
- return signedIn(user);
41
- }
42
- else {
43
- return signedOut();
44
- }
45
- }
46
- completeSignIn(scheduler) {
47
- return this.auth.handleRedirectCallback().pipe(map(result => signInCompleted({ state: result.state, user: result.user })), catchError(error => of(signInFailed({ error }))), observeOn(scheduler));
48
- }
49
- }
50
- AuthEffects.decorators = [
51
- { type: Injectable }
52
- ];
53
- AuthEffects.ctorParameters = () => [
54
- { type: Actions },
55
- { type: AuthService },
56
- { type: Router }
57
- ];
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcHJvamVjdHMvYjJjLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2VmZmVjdHMvYXV0aC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQWlCLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxFQUNMLGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixlQUFlLEVBQ2YsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixPQUFPLEdBQ1IsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHOUMsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFDbUIsUUFBaUIsRUFDakIsSUFBaUIsRUFDakIsTUFBYztRQUZkLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRWpCLFlBQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQ2QsU0FBUyxD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JztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBdXRoRXJyb3IsIEJyb3dzZXJBdXRoRXJyb3JNZXNzYWdlIH0gZnJvbSAnQGF6dXJlL21zYWwtYnJvd3Nlcic7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIsIG9mLCBTY2hlZHVsZXJMaWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgb2JzZXJ2ZU9uLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIHJlc2V0UGFzc3dvcmQsXG4gIHNpZ25lZEluLFxuICBzaWduZWRPdXQsXG4gIHNpZ25JbixcbiAgc2lnbkluQ29tcGxldGVkLFxuICBzaWduSW5GYWlsZWQsXG4gIHNpZ25JblJlZGlyZWN0ZWQsXG4gIHNpZ25PdXQsXG59IGZyb20gJy4uL2FjdGlvbnMvYXV0aC5hY3Rpb25zJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGhFZmZlY3RzIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGg6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuICBwdWJsaWMgcmVhZG9ubHkgc2lnbkluJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShzaWduSW4pLFxuICAgICAgc3dpdGNoTWFwKGFjdGlvbiA9PlxuICAgICAgICB0aGlzLmF1dGgubG9naW5XaXRoUmVkaXJlY3QoeyB0YXJnZXQ6IGFjdGlvbi5yZXR1cm5VcmwgfSkucGlwZShcbiAgICAgICAgICBtYXAoKCkgPT4gc2lnbkluUmVkaXJlY3RlZCgpKSxcbiAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IG9mKHNpZ25JbkZhaWxlZCh7IGVycm9yIH0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcGFzc3dvcmRSZXNldCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUocmVzZXRQYXNzd29yZCksXG4gICAgICBzd2l0Y2hNYXAoYWN0aW9uID0+XG4gICAgICAgIHRoaXMuYXV0aC5yZXNldFBhc3N3b3JkV2l0aFJlZGlyZWN0KHsgdGFyZ2V0OiBhY3Rpb24ucmV0dXJuVXJsIH0pLnBpcGUoXG4gICAgICAgICAgbWFwKCgpID0+IHNpZ25JblJlZGlyZWN0ZWQoKSksXG4gICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZihzaWduSW5GYWlsZWQoeyBlcnJvciB9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNpZ25JbkNvbXBsZXRlZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoc2lnbkluQ29tcGxldGVkKSxcbiAgICAgIG1hcChhY3Rpb24gPT4gKGFjdGlvbi5zdGF0ZS5wYXNzd29yZFJlc2V0ID8gc2lnbk91dCgpIDogc2lnbmVkSW4oYWN0aW9uLnVzZXIpKSlcbiAgICApXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHJlZGlyZWN0JCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoc2lnbkluQ29tcGxldGVkKSxcbiAgICAgICAgc3dpdGNoTWFwKGFjdGlvbiA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGFjdGlvbi5zdGF0ZS50YXJnZXQsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBzaWduT3V0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShzaWduT3V0KSxcbiAgICAgIHN3aXRjaE1hcChfID0+XG4gICAgICAgIHRoaXMuYXV0aC5sb2dvdXQoKS5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiBzaWduZWRPdXQoKSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihzaWduZWRPdXQoKSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGluaXQkID0gY3JlYXRlRWZmZWN0KCgpID0+ICh7IHNjaGVkdWxlciA9IGFzeW5jU2NoZWR1bGVyIH0gPSB7fSkgPT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHdpbmRvdy5sb2NhdGlvbi5oYXNoO1xuXG4gICAgaWYgKFxuICAgICAgKHBhcmFtcy5pbmNsdWRlcygnY29kZT0nKSAmJiBwYXJhbXMuaW5jbHVkZXMoJ3N0YXRlPScpKSB8fFxuICAgICAgKHBhcmFtcy5pbmNsdWRlcygnZXJyb3I9JykgJiYgcGFyYW1zLmluY2x1ZGVzKCdlcnJvcl9kZXNjcmlwdGlvbj0nKSlcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBsZXRlU2lnbkluKHNjaGVkdWxlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmF1dGguY2hlY2tTZXNzaW9uKCkucGlwZShcbiAgICAgICAgbWFwKHVzZXIgPT4gdGhpcy5nZXRBdXRoUmVzdWx0KHVzZXIpKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZihzaWduSW5GYWlsZWQoeyBlcnJvciB9KSkpLFxuICAgICAgICBvYnNlcnZlT24oc2NoZWR1bGVyKVxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSByZXNldFBhc3N3b3JkJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShzaWduSW5GYWlsZWQpLFxuICAgICAgZmlsdGVyKGFjdGlvbiA9PiBhY3Rpb24uZXJyb3IgaW5zdGFuY2VvZiBBdXRoRXJyb3IpLFxuICAgICAgbWFwKGFjdGlvbiA9PiBhY3Rpb24uZXJyb3IgYXMgQXV0aEVycm9yKSxcbiAgICAgIGZpbHRlcihBdXRoRWZmZWN0cy5pc0ZvcmdvdFBhc3N3b3JkRXJyb3IpLFxuICAgICAgbWFwKCgpID0+IHJlc2V0UGFzc3dvcmQoeyByZXR1cm5Vcmw6ICcvJyB9KSlcbiAgICApXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZhaWxlZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoc2lnbkluRmFpbGVkKSxcbiAgICAgIGZpbHRlcihhY3Rpb24gPT4gYWN0aW9uLmVycm9yIGluc3RhbmNlb2YgQXV0aEVycm9yKSxcbiAgICAgIG1hcChhY3Rpb24gPT4gYWN0aW9uLmVycm9yIGFzIEF1dGhFcnJvciksXG4gICAgICBmaWx0ZXIoQXV0aEVmZmVjdHMuaXNJbnRlcmFjdGlvbkluUHJvZ3Jlc3MpLFxuICAgICAgbWFwKCgpID0+IHNpZ25PdXQoKSlcbiAgICApXG4gICk7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNGb3Jnb3RQYXNzd29yZEVycm9yKGVycm9yOiBBdXRoRXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3IuZXJyb3JDb2RlID09PSAnYWNjZXNzX2RlbmllZCcgJiYgZXJyb3IuZXJyb3JNZXNzYWdlLmluZGV4T2YoJ0FBREIyQzkwMTE4JykgIT09IC0xO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNJbnRlcmFjdGlvbkluUHJvZ3Jlc3MoZXJyb3I6IEF1dGhFcnJvcikge1xuICAgIHJldHVybiBlcnJvci5lcnJvckNvZGUgPT09IEJyb3dzZXJBdXRoRXJyb3JNZXNzYWdlLmludGVyYWN0aW9uSW5Qcm9ncmVzcy5jb2RlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBdXRoUmVzdWx0KHVzZXI6IHsgc3ViOiBzdHJpbmcgfSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh1c2VyKSB7XG4gICAgICByZXR1cm4gc2lnbmVkSW4odXNlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzaWduZWRPdXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbXBsZXRlU2lnbkluKHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSkge1xuICAgIHJldHVybiB0aGlzLmF1dGguaGFuZGxlUmVkaXJlY3RDYWxsYmFjaygpLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IHNpZ25JbkNvbXBsZXRlZCh7IHN0YXRlOiByZXN1bHQuc3RhdGUsIHVzZXI6IHJlc3VsdC51c2VyIH0pKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4gb2Yoc2lnbkluRmFpbGVkKHsgZXJyb3IgfSkpKSxcbiAgICAgIG9ic2VydmVPbihzY2hlZHVsZXIpXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcHJvamVjdHMvYjJjLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2p3dC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQTZCLElBQWlCO1FBQWpCLFNBQUksR0FBSixJQUFJLENBQWE7SUFBRyxDQUFDO0lBRTNDLFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQzNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwRzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUF5QjtRQUM1QyxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVyRCxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxTQUFTLENBQUMsT0FBeUI7UUFDekMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUUxQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDOzs7WUF0QkYsVUFBVTs7O1lBRkYsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSnd0SW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF1dGg6IEF1dGhTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcbiAgICBpZiAodGhpcy5pc1NhbWVEb21haW4ocmVxdWVzdCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmF1dGhvcml6ZShyZXF1ZXN0KS5waXBlKG1lcmdlTWFwKGF1dGhvcml6ZWRSZXF1ZXN0ID0+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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcHJvamVjdHMvYjJjLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL3JlZHVjZXJzL2F1dGgucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHNUUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQVU7SUFDckMsY0FBYyxFQUFFLEtBQUs7SUFDckIsYUFBYSxFQUFFLEtBQUs7Q0FDckIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFVO0lBQ3hDLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGFBQWEsRUFBRSxLQUFLO0NBQ3JCLENBQUM7V0FJYSxDQUFDLEtBQUssRUFBRSxFQUFvQixFQUFFLEVBQUU7UUFBeEIsRUFBRSxJQUFJLE9BQWMsRUFBVCxPQUFPLGNBQWxCLFFBQW9CLENBQUY7SUFDckMsdUNBQVksS0FBSyxLQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxJQUFHO0FBQ2pGLENBQUMsT0FDYSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsT0FDbkIsR0FBRyxFQUFFLENBQUMsZ0JBQWdCO0FBTnpDLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FDL0IsbUJBQW1CLEVBQ25CLEVBQUUsQ0FBQyxRQUFRLEtBRVQsRUFDRixFQUFFLENBQUMsU0FBUyxLQUF5QixFQUNyQyxFQUFFLENBQUMsWUFBWSxLQUF5QixDQUN6QyxDQUFDO0FBRUYsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUF3QixFQUFFLE1BQWM7SUFDOUQsT0FBTyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIGNyZWF0ZVJlZHVjZXIsIG9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgc2lnbmVkSW4sIHNpZ25lZE91dCwgc2lnbkluRmFpbGVkIH0gZnJvbSAnLi4vYWN0aW9ucy9hdXRoLmFjdGlvbnMnO1xuaW1wb3J0IHsgU3RhdGUgfSBmcm9tICcuLi9zdGF0ZS9hdXRoLnN0YXRlJztcblxuZXhwb3J0IGNvbnN0IG5vQXV0aGVudGljYXRpb246IFN0YXRlID0ge1xuICBhdXRoZW50aWNhdGluZzogZmFsc2UsXG4gIGF1dGhlbnRpY2F0ZWQ6IGZhbHNlLFxufTtcblxuZXhwb3J0IGNvbnN0IHN0YXJ0QXV0aGVudGljYXRpb246IFN0YXRlID0ge1xuICBhdXRoZW50aWNhdGluZzogdHJ1ZSxcbiAgYXV0aGVudGljYXRlZDogZmFsc2UsXG59O1xuXG5jb25zdCBhdXRoUmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIHN0YXJ0QXV0aGVudGljYXRpb24sXG4gIG9uKHNpZ25lZEluLCAoc3RhdGUsIHsgdHlwZSwgLi4ucGF5bG9hZCB9KSA9PiB7XG4gICAgcmV0dXJuIHsgLi4uc3RhdGUsIGF1dGhlbnRpY2F0aW5nOiBmYWxzZSwgYXV0aGVudGljYXRlZDogdHJ1ZSwgdXNlcjogcGF5bG9hZCB9O1xuICB9KSxcbiAgb24oc2lnbmVkT3V0LCAoKSA9PiBub0F1dGhlbnRpY2F0aW9uKSxcbiAgb24oc2lnbkluRmFpbGVkLCAoKSA9PiBub0F1dGhlbnRpY2F0aW9uKVxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZHVjZXIoc3RhdGU6IFN0YXRlIHwgdW5kZWZpbmVkLCBhY3Rpb246IEFjdGlvbikge1xuICByZXR1cm4gYXV0aFJlZHVjZXIoc3RhdGUsIGFjdGlvbik7XG59XG4iXX0=
@@ -1 +0,0 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS92c3RzL3dvcmsvMS9zL3Byb2plY3RzL2IyYy1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zdGF0ZS9hdXRoLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFByb2ZpbGUge1xuICBzdWI6IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgbmlja25hbWU/OiBzdHJpbmc7XG4gIHBpY3R1cmU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGUge1xuICBhdXRoZW50aWNhdGluZzogYm9vbGVhbjtcbiAgYXV0aGVudGljYXRlZDogYm9vbGVhbjtcbiAgdXNlcj86IFByb2ZpbGU7XG59XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9wcm9qZWN0cy9iMmMtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvc3RvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztBQUVqQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcscUJBQXFCLENBQVEsVUFBVSxDQUFDLENBQUM7V0FJM0QsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLE9BQ2pDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGFBQWE7QUFIbEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FDakMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUNuQixNQUFNLElBQWdDLEVBQ3RDLEdBQUcsSUFBOEIsQ0FDbEMsQ0FBQztXQUlPLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxPQUNqQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJO0FBSHpCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQ3pCLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFDbkIsTUFBTSxJQUFnQyxFQUN0QyxHQUFHLElBQXFCLENBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIHNlbGVjdCB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IHBpcGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3RhdGUgfSBmcm9tICcuLi9zdGF0ZS9hdXRoLnN0YXRlJztcblxuZXhwb3J0IGNvbnN0IGZlYXR1cmVLZXkgPSAnYXV0aCc7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxTdGF0ZT4oZmVhdHVyZUtleSk7XG5cbmV4cG9ydCBjb25zdCBpc0F1dGhlbnRpY2F0ZWQgPSBwaXBlKFxuICBzZWxlY3Qoc2VsZWN0U3RhdGUpLFxuICBmaWx0ZXIoc3RhdGUgPT4gIXN0YXRlLmF1dGhlbnRpY2F0aW5nKSxcbiAgbWFwKHN0YXRlID0+IHN0YXRlLmF1dGhlbnRpY2F0ZWQpXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0VXNlciA9IHBpcGUoXG4gIHNlbGVjdChzZWxlY3RTdGF0ZSksXG4gIGZpbHRlcihzdGF0ZSA9PiAhc3RhdGUuYXV0aGVudGljYXRpbmcpLFxuICBtYXAoc3RhdGUgPT4gc3RhdGUudXNlcilcbik7XG4iXX0=
@@ -1,5 +0,0 @@
1
- export { AuthModule } from './lib/auth.module';
2
- export { AuthGuard } from './lib/auth.guard';
3
- export { signIn, signOut, signedIn, signedOut } from './lib/actions/auth.actions';
4
- export { isAuthenticated, getUser } from './lib/store';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS92c3RzL3dvcmsvMS9zL3Byb2plY3RzL2IyYy1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBdXRoTW9kdWxlIH0gZnJvbSAnLi9saWIvYXV0aC5tb2R1bGUnO1xuZXhwb3J0IHsgQXV0aEd1YXJkIH0gZnJvbSAnLi9saWIvYXV0aC5ndWFyZCc7XG5leHBvcnQgeyBzaWduSW4sIHNpZ25PdXQsIHNpZ25lZEluLCBzaWduZWRPdXQgfSBmcm9tICcuL2xpYi9hY3Rpb25zL2F1dGguYWN0aW9ucyc7XG5leHBvcnQgeyBpc0F1dGhlbnRpY2F0ZWQsIGdldFVzZXIgfSBmcm9tICcuL2xpYi9zdG9yZSc7XG5leHBvcnQgeyBQcm9maWxlIH0gZnJvbSAnLi9saWIvc3RhdGUvYXV0aC5zdGF0ZSc7XG4iXX0=