@thecla/auth0-angular 2.2.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/esm2020/lib/actions/auth.actions.mjs +8 -0
  2. package/esm2020/lib/auth-config.mjs +3 -0
  3. package/esm2020/lib/auth.guard.mjs +29 -0
  4. package/esm2020/lib/auth.module.mjs +42 -0
  5. package/esm2020/lib/auth.service.mjs +52 -0
  6. package/esm2020/lib/effects/auth.effects.mjs +53 -0
  7. package/esm2020/lib/jwt.interceptor.mjs +32 -0
  8. package/esm2020/lib/reducers/auth.reducer.mjs +20 -0
  9. package/esm2020/lib/state/auth.state.mjs +2 -0
  10. package/esm2020/lib/store/index.mjs +8 -0
  11. package/esm2020/public-api.mjs +5 -0
  12. package/esm2020/thecla-auth0-angular.mjs +5 -0
  13. package/fesm2015/thecla-auth0-angular.mjs +217 -0
  14. package/fesm2015/thecla-auth0-angular.mjs.map +1 -0
  15. package/fesm2020/thecla-auth0-angular.mjs +217 -0
  16. package/fesm2020/thecla-auth0-angular.mjs.map +1 -0
  17. package/lib/actions/auth.actions.d.ts +13 -9
  18. package/lib/auth-config.d.ts +1 -0
  19. package/lib/auth.guard.d.ts +4 -1
  20. package/lib/auth.module.d.ts +6 -0
  21. package/lib/auth.service.d.ts +5 -1
  22. package/lib/effects/auth.effects.d.ts +13 -6
  23. package/lib/jwt.interceptor.d.ts +3 -0
  24. package/lib/state/auth.state.d.ts +2 -2
  25. package/package.json +26 -14
  26. package/thecla-auth0-angular.d.ts +1 -7
  27. package/bundles/thecla-auth0-angular.umd.js +0 -558
  28. package/bundles/thecla-auth0-angular.umd.js.map +0 -1
  29. package/bundles/thecla-auth0-angular.umd.min.js +0 -2
  30. package/bundles/thecla-auth0-angular.umd.min.js.map +0 -1
  31. package/esm2015/lib/actions/auth.actions.js +0 -8
  32. package/esm2015/lib/auth-config.js +0 -3
  33. package/esm2015/lib/auth.guard.js +0 -30
  34. package/esm2015/lib/auth.module.js +0 -35
  35. package/esm2015/lib/auth.service.js +0 -57
  36. package/esm2015/lib/effects/auth.effects.js +0 -52
  37. package/esm2015/lib/jwt.interceptor.js +0 -31
  38. package/esm2015/lib/reducers/auth.reducer.js +0 -21
  39. package/esm2015/lib/state/auth.state.js +0 -1
  40. package/esm2015/lib/store/index.js +0 -11
  41. package/esm2015/public-api.js +0 -5
  42. package/esm2015/thecla-auth0-angular.js +0 -12
  43. package/fesm2015/thecla-auth0-angular.js +0 -221
  44. package/fesm2015/thecla-auth0-angular.js.map +0 -1
  45. package/thecla-auth0-angular.metadata.json +0 -1
@@ -1,2 +0,0 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common/http"),require("@angular/core"),require("@ngrx/effects"),require("@ngrx/store"),require("@angular/router"),require("rxjs"),require("rxjs/operators"),require("@auth0/auth0-spa-js")):"function"==typeof define&&define.amd?define("@thecla/auth0-angular",["exports","@angular/common/http","@angular/core","@ngrx/effects","@ngrx/store","@angular/router","rxjs","rxjs/operators","@auth0/auth0-spa-js"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).thecla=t.thecla||{},t.thecla["auth0-angular"]={}),t.ng.common.http,t.ng.core,t.ngrx.effects,t.ngrx.store,t.ng.router,t.rxjs,t.rxjs.operators,t.createAuth0Client)}(this,(function(t,e,n,r,o,i,u,a,c){"use strict";var s=function(){},p=o.createAction("@thecla/auth0-angular/sign-in",o.props()),f=o.createAction("@thecla/auth0-angular/sign-in-completed",o.props()),l=o.createAction("@thecla/auth0-angular/signed-in",o.props()),h=o.createAction("@thecla/auth0-angular/sign-in-failed",o.props()),d=o.createAction("@thecla/auth0-angular/sign-out"),g=o.createAction("@thecla/auth0-angular/signed-out");function y(t,e,n,r){return new(n||(n=Promise))((function(o,i){function u(t){try{c(r.next(t))}catch(t){i(t)}}function a(t){try{c(r.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(u,a)}c((r=r.apply(t,e||[])).next())}))}function v(t,e){var n,r,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;u;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return u.label++,{value:i[1],done:!1};case 5:u.label++,r=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(6===i[0]&&u.label<o[1]){u.label=o[1],o=i;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(i);break}o[2]&&u.ops.pop(),u.trys.pop();continue}i=e.call(t,u)}catch(t){i=[6,t],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}Object.create;Object.create;var m=function(){function t(t){var e,n;this.config=t,this.auth0=new c.Auth0Client({audience:t.audience,client_id:t.clientId,domain:t.domain,redirect_uri:null!==(e=t.redirectUri)&&void 0!==e?e:location.origin,scope:t.scope,useRefreshTokens:null!==(n=t.useRefreshTokens)&&void 0!==n&&n})}return t.prototype.isAuthenticated=function(){return u.from(this.checkSession())},t.prototype.loginWithRedirect=function(t){return u.from(this.auth0.loginWithRedirect({appState:t})).pipe(a.switchMap((function(){return u.EMPTY})))},t.prototype.handleRedirectCallback=function(){return u.from(this.auth0.handleRedirectCallback()).pipe(a.map((function(t){return t.appState})))},t.prototype.getUser=function(){return u.from(this.auth0.getUser())},t.prototype.getAccessToken=function(){return u.from(this.auth0.getTokenSilently())},t.prototype.logout=function(){var t;this.auth0.logout({returnTo:null!==(t=this.config.logoutUri)&&void 0!==t?t:location.origin})},t.prototype.checkSession=function(){return y(this,void 0,void 0,(function(){return v(this,(function(t){switch(t.label){case 0:return[4,this.auth0.checkSession()];case 1:return t.sent(),[4,this.auth0.isAuthenticated()];case 2:return[2,t.sent()]}}))}))},t}();m.ɵprov=n.ɵɵdefineInjectable({factory:function(){return new m(n.ɵɵinject(s))},token:m,providedIn:"root"}),m.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],m.ctorParameters=function(){return[{type:s}]};var b=function(){function t(t,e,n){var o=this;this.actions$=t,this.auth=e,this.router=n,this.signIn$=r.createEffect((function(){return o.actions$.pipe(r.ofType(p),a.switchMap((function(t){return o.auth.loginWithRedirect({target:t.returnUrl})})))}),{dispatch:!1}),this.signInCompleted$=r.createEffect((function(){return o.actions$.pipe(r.ofType(f),a.switchMap((function(){return o.auth.getUser().pipe(a.map((function(t){return l(t)})),a.catchError((function(t){return u.of(h({error:t}))})))})))})),this.redirect$=r.createEffect((function(){return o.actions$.pipe(r.ofType(f),a.switchMap((function(t){return o.router.navigateByUrl(t.state.target,{replaceUrl:!0})})))}),{dispatch:!1}),this.signOut$=r.createEffect((function(){return o.actions$.pipe(r.ofType(d),a.tap((function(){try{o.auth.logout()}catch(t){}})),a.map((function(){return g()})))})),this.init$=r.createEffect((function(){return function(t){var e=(void 0===t?{}:t).scheduler,n=void 0===e?u.asyncScheduler:e,r=window.location.search;return r.includes("code=")&&r.includes("state=")?o.completeSignIn(n):o.auth.isAuthenticated().pipe(a.switchMap((function(t){return o.getAuthResult(t)})),a.catchError((function(t){return u.of(h({error:t}))})),a.observeOn(n))}}))}return t.prototype.getAuthResult=function(t){return t?this.auth.getUser().pipe(a.map((function(t){return l(t)}))):u.of(g())},t.prototype.completeSignIn=function(t){return this.auth.handleRedirectCallback().pipe(a.map((function(t){return f({state:t})})),a.catchError((function(t){return u.of(h({error:t}))})),a.observeOn(t))},t}();b.decorators=[{type:n.Injectable}],b.ctorParameters=function(){return[{type:r.Actions},{type:m},{type:i.Router}]};var j=function(){function t(t){this.auth=t}return t.prototype.intercept=function(t,e){return this.isSameDomain(t)?this.authorize(t).pipe(a.mergeMap((function(t){return e.handle(t)}))):e.handle(t)},t.prototype.isSameDomain=function(t){return!/^https?:\/\//i.test(t.url)},t.prototype.authorize=function(t){return this.auth.getAccessToken().pipe(a.map((function(e){return t.clone({setHeaders:{Authorization:"Bearer "+e}})})))},t}();j.decorators=[{type:n.Injectable}],j.ctorParameters=function(){return[{type:m}]};var w={authenticating:!1,authenticated:!1},x={authenticating:!0,authenticated:!1},A=o.createReducer(x,o.on(l,(function(t,e){e.type;var n=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(t,r[o])&&(n[r[o]]=t[r[o]])}return n}(e,["type"]);return Object.assign(Object.assign({},t),{authenticating:!1,authenticated:!0,user:n})})),o.on(g,(function(){return w})),o.on(h,(function(){return w})));function O(t,e){return A(t,e)}var S="auth",I=o.createFeatureSelector(S),T=u.pipe(o.select(I),a.filter((function(t){return!t.authenticating})),a.map((function(t){return t.authenticated}))),k=u.pipe(o.select(I),a.filter((function(t){return!t.authenticating})),a.map((function(t){return t.user}))),R=function(){function t(){}return t.forRoot=function(n){return{ngModule:t,providers:[{provide:s,useValue:n},{provide:e.HTTP_INTERCEPTORS,useClass:j,multi:!0}]}},t}();R.decorators=[{type:n.NgModule,args:[{declarations:[],imports:[o.StoreModule.forFeature(S,O),r.EffectsModule.forFeature([b])],exports:[]}]}];var E=function(){function t(t){this.store=t,this.authenticated$=this.store.pipe(T)}return t.prototype.canActivate=function(t,e){var n=this;return this.authenticated$.pipe(a.tap((function(t){t||n.store.dispatch(p({returnUrl:e.url}))})),a.first())},t}();E.ɵprov=n.ɵɵdefineInjectable({factory:function(){return new E(n.ɵɵinject(o.Store))},token:E,providedIn:"root"}),E.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],E.ctorParameters=function(){return[{type:o.Store}]},t.AuthGuard=E,t.AuthModule=R,t.getUser=k,t.isAuthenticated=T,t.signIn=p,t.signOut=d,t.signedIn=l,t.signedOut=g,t.ɵa=h,t.ɵb=S,t.ɵc=I,t.ɵd=x,t.ɵe=O,t.ɵf=b,t.ɵg=m,t.ɵh=s,t.ɵi=j,Object.defineProperty(t,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=thecla-auth0-angular.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../projects/auth0-angular/src/lib/auth-config.ts","../../../projects/auth0-angular/src/lib/actions/auth.actions.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/auth0-angular/src/lib/auth.service.ts","../../../projects/auth0-angular/src/lib/effects/auth.effects.ts","../../../projects/auth0-angular/src/lib/jwt.interceptor.ts","../../../projects/auth0-angular/src/lib/reducers/auth.reducer.ts","../../../projects/auth0-angular/src/lib/store/index.ts","../../../projects/auth0-angular/src/lib/auth.module.ts","../../../projects/auth0-angular/src/lib/auth.guard.ts"],"names":["signIn","createAction","props","signInCompleted","signedIn","signInFailed","signOut","signedOut","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","Object","create","AuthService","config","auth0","Auth0Client","audience","client_id","clientId","domain","redirect_uri","_a","redirectUri","location","origin","scope","useRefreshTokens","_b","prototype","isAuthenticated","from","checkSession","loginWithRedirect","appState","pipe","switchMap","EMPTY","handleRedirectCallback","map","getUser","getAccessToken","getTokenSilently","logout","returnTo","logoutUri","_c","Injectable","args","providedIn","AuthConfig","AuthEffects","actions$","auth","router","_this","signIn$","createEffect","ofType","action","target","returnUrl","dispatch","signInCompleted$","user","catchError","error","of","redirect$","navigateByUrl","state","replaceUrl","signOut$","tap","init$","scheduler","asyncScheduler","params","window","search","includes","completeSignIn","getAuthResult","observeOn","Actions","Router","JwtInterceptor","intercept","request","isSameDomain","authorize","mergeMap","authorizedRequest","handle","test","url","token","clone","setHeaders","Authorization","noAuthentication","authenticating","authenticated","startAuthentication","authReducer","createReducer","on","type","payload","s","p","hasOwnProperty","indexOf","getOwnPropertySymbols","i","propertyIsEnumerable","__rest","assign","reducer","featureKey","selectState","createFeatureSelector","select","filter","AuthModule","forRoot","ngModule","providers","provide","useValue","HTTP_INTERCEPTORS","useClass","multi","NgModule","declarations","imports","StoreModule","forFeature","EffectsModule","exports","AuthGuard","store","authenticated$","canActivate","first","Store"],"mappings":"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","sourcesContent":["export abstract class AuthConfig {\n public abstract audience: string;\n public abstract clientId: string;\n public abstract domain: string;\n public abstract scope: string;\n public abstract redirectUri?: string;\n public abstract logoutUri?: string;\n public abstract useRefreshTokens?: boolean;\n}\n","import { createAction, props } from '@ngrx/store';\nimport { Profile } from '../state/auth.state';\n\nexport const signIn = createAction('@thecla/auth0-angular/sign-in', props<{ returnUrl: string }>());\n\nexport const signInCompleted = createAction(\n '@thecla/auth0-angular/sign-in-completed',\n props<{ state: { target: string } }>()\n);\n\nexport const signedIn = createAction('@thecla/auth0-angular/signed-in', props<Profile>());\n\nexport const signInFailed = createAction('@thecla/auth0-angular/sign-in-failed', props<{ error: Error }>());\n\nexport const signOut = createAction('@thecla/auth0-angular/sign-out');\n\nexport const signedOut = createAction('@thecla/auth0-angular/signed-out');\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n 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 { Injectable } from '@angular/core';\nimport { Auth0Client } from '@auth0/auth0-spa-js';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { AuthConfig } from './auth-config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private readonly auth0: Auth0Client;\n\n constructor(private readonly config: AuthConfig) {\n this.auth0 = new Auth0Client({\n audience: config.audience,\n client_id: config.clientId,\n domain: config.domain,\n redirect_uri: config.redirectUri ?? location.origin,\n scope: config.scope,\n useRefreshTokens: config.useRefreshTokens ?? false,\n });\n }\n\n public isAuthenticated() {\n return from(this.checkSession());\n }\n\n public loginWithRedirect(appState: { target: string }) {\n return from(this.auth0.loginWithRedirect({ appState })).pipe(switchMap(() => EMPTY));\n }\n\n public handleRedirectCallback() {\n return from(this.auth0.handleRedirectCallback()).pipe(map(result => result.appState as { target: string }));\n }\n\n public getUser() {\n return from(this.auth0.getUser());\n }\n\n public getAccessToken(): Observable<unknown> {\n return from(this.auth0.getTokenSilently());\n }\n\n public logout() {\n this.auth0.logout({ returnTo: this.config.logoutUri ?? location.origin });\n }\n\n private async checkSession() {\n await this.auth0.checkSession();\n\n return await this.auth0.isAuthenticated();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { asyncScheduler, of, SchedulerLike } from 'rxjs';\nimport { catchError, map, observeOn, switchMap, tap } from 'rxjs/operators';\nimport { signedIn, signedOut, signIn, signInCompleted, signInFailed, signOut } from '../actions/auth.actions';\nimport { AuthService } from '../auth.service';\n\n@Injectable()\nexport class AuthEffects {\n public readonly signIn$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(signIn),\n switchMap(action => this.auth.loginWithRedirect({ target: action.returnUrl }))\n ),\n { dispatch: false }\n );\n\n public readonly signInCompleted$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInCompleted),\n switchMap(() =>\n this.auth.getUser().pipe(\n map(user => signedIn(user)),\n catchError(error => of(signInFailed({ error })))\n )\n )\n )\n );\n\n public readonly redirect$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(signInCompleted),\n switchMap(action => this.router.navigateByUrl(action.state.target, { replaceUrl: true }))\n ),\n { dispatch: false }\n );\n\n public readonly signOut$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signOut),\n tap(() => {\n try {\n this.auth.logout();\n } catch {}\n }),\n map(() => signedOut())\n )\n );\n\n public readonly init$ = createEffect(() => ({ scheduler = asyncScheduler } = {}) => {\n const params = window.location.search;\n\n if (params.includes('code=') && params.includes('state=')) {\n return this.completeSignIn(scheduler);\n } else {\n return this.auth.isAuthenticated().pipe(\n switchMap(auth => this.getAuthResult(auth)),\n catchError(error => of(signInFailed({ error }))),\n observeOn(scheduler)\n );\n }\n });\n\n constructor(\n private readonly actions$: Actions,\n private readonly auth: AuthService,\n private readonly router: Router\n ) {}\n\n private getAuthResult(auth: boolean) {\n if (auth) {\n return this.auth.getUser().pipe(map(user => signedIn(user)));\n } else {\n return of(signedOut());\n }\n }\n\n private completeSignIn(scheduler: SchedulerLike) {\n return this.auth.handleRedirectCallback().pipe(\n map(state => signInCompleted({ state })),\n catchError(error => of(signInFailed({ error }))),\n observeOn(scheduler)\n );\n }\n}\n","import { HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class JwtInterceptor implements HttpInterceptor {\n constructor(private readonly auth: AuthService) {}\n\n public intercept(request: HttpRequest<any>, next: HttpHandler) {\n if (this.isSameDomain(request)) {\n return this.authorize(request).pipe(mergeMap(authorizedRequest => next.handle(authorizedRequest)));\n } else {\n return next.handle(request);\n }\n }\n\n private isSameDomain(request: HttpRequest<any>) {\n const isAbsolute = /^https?:\\/\\//i.test(request.url);\n\n return !isAbsolute;\n }\n\n private authorize(request: HttpRequest<any>) {\n const token$ = this.auth.getAccessToken();\n\n return token$.pipe(map(token => request.clone({ setHeaders: { Authorization: `Bearer ${token}` } })));\n }\n}\n","import { Action, createReducer, on } from '@ngrx/store';\nimport { signedIn, signedOut, signInFailed } from '../actions/auth.actions';\nimport { State } from '../state/auth.state';\n\nexport const noAuthentication: State = {\n authenticating: false,\n authenticated: false,\n};\n\nexport const startAuthentication: State = {\n authenticating: true,\n authenticated: false,\n};\n\nconst authReducer = createReducer(\n startAuthentication,\n on(signedIn, (state, { type, ...payload }) => {\n return { ...state, authenticating: false, authenticated: true, user: payload };\n }),\n on(signedOut, () => noAuthentication),\n on(signInFailed, () => noAuthentication)\n);\n\nexport function reducer(state: State | undefined, action: Action) {\n return authReducer(state, action);\n}\n","import { createFeatureSelector, select } from '@ngrx/store';\nimport { pipe } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport { State } from '../state/auth.state';\n\nexport const featureKey = 'auth';\n\nexport const selectState = createFeatureSelector<State>(featureKey);\n\nexport const isAuthenticated = pipe(\n select(selectState),\n filter(state => !state.authenticating),\n map(state => state.authenticated)\n);\n\nexport const getUser = pipe(\n select(selectState),\n filter(state => !state.authenticating),\n map(state => state.user)\n);\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { AuthConfig } from './auth-config';\nimport { AuthEffects } from './effects/auth.effects';\nimport { JwtInterceptor } from './jwt.interceptor';\nimport { reducer } from './reducers/auth.reducer';\nimport { featureKey } from './store';\n\n@NgModule({\n declarations: [],\n imports: [StoreModule.forFeature(featureKey, reducer), EffectsModule.forFeature([AuthEffects])],\n exports: [],\n})\nexport class AuthModule {\n public static forRoot(config: AuthConfig): ModuleWithProviders<AuthModule> {\n return {\n ngModule: AuthModule,\n providers: [\n {\n provide: AuthConfig,\n useValue: config,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: JwtInterceptor,\n multi: true,\n },\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { first, tap } from 'rxjs/operators';\nimport { signIn } from './actions/auth.actions';\nimport { isAuthenticated } from './store';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n private readonly authenticated$ = this.store.pipe(isAuthenticated);\n\n constructor(private readonly store: Store<any>) {}\n\n public canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return this.authenticated$.pipe(\n tap(auth => {\n if (!auth) {\n this.store.dispatch(signIn({ returnUrl: state.url }));\n }\n }),\n first()\n );\n }\n}\n"]}
@@ -1,8 +0,0 @@
1
- import { createAction, props } from '@ngrx/store';
2
- export const signIn = createAction('@thecla/auth0-angular/sign-in', props());
3
- export const signInCompleted = createAction('@thecla/auth0-angular/sign-in-completed', props());
4
- export const signedIn = createAction('@thecla/auth0-angular/signed-in', props());
5
- export const signInFailed = createAction('@thecla/auth0-angular/sign-in-failed', props());
6
- export const signOut = createAction('@thecla/auth0-angular/sign-out');
7
- export const signedOut = createAction('@thecla/auth0-angular/signed-out');
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvYWN0aW9ucy9hdXRoLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHbEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQywrQkFBK0IsRUFBRSxLQUFLLEVBQXlCLENBQUMsQ0FBQztBQUVwRyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUN6Qyx5Q0FBeUMsRUFDekMsS0FBSyxFQUFpQyxDQUN2QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxpQ0FBaUMsRUFBRSxLQUFLLEVBQVcsQ0FBQyxDQUFDO0FBRTFGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsc0NBQXNDLEVBQUUsS0FBSyxFQUFvQixDQUFDLENBQUM7QUFFNUcsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsa0NBQWtDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBQcm9maWxlIH0gZnJvbSAnLi4vc3RhdGUvYXV0aC5zdGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBzaWduSW4gPSBjcmVhdGVBY3Rpb24oJ0B0aGVjbGEvYXV0aDAtYW5ndWxhci9zaWduLWluJywgcHJvcHM8eyByZXR1cm5Vcmw6IHN0cmluZyB9PigpKTtcblxuZXhwb3J0IGNvbnN0IHNpZ25JbkNvbXBsZXRlZCA9IGNyZWF0ZUFjdGlvbihcbiAgJ0B0aGVjbGEvYXV0aDAtYW5ndWxhci9zaWduLWluLWNvbXBsZXRlZCcsXG4gIHByb3BzPHsgc3RhdGU6IHsgdGFyZ2V0OiBzdHJpbmcgfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3Qgc2lnbmVkSW4gPSBjcmVhdGVBY3Rpb24oJ0B0aGVjbGEvYXV0aDAtYW5ndWxhci9zaWduZWQtaW4nLCBwcm9wczxQcm9maWxlPigpKTtcblxuZXhwb3J0IGNvbnN0IHNpZ25JbkZhaWxlZCA9IGNyZWF0ZUFjdGlvbignQHRoZWNsYS9hdXRoMC1hbmd1bGFyL3NpZ24taW4tZmFpbGVkJywgcHJvcHM8eyBlcnJvcjogRXJyb3IgfT4oKSk7XG5cbmV4cG9ydCBjb25zdCBzaWduT3V0ID0gY3JlYXRlQWN0aW9uKCdAdGhlY2xhL2F1dGgwLWFuZ3VsYXIvc2lnbi1vdXQnKTtcblxuZXhwb3J0IGNvbnN0IHNpZ25lZE91dCA9IGNyZWF0ZUFjdGlvbignQHRoZWNsYS9hdXRoMC1hbmd1bGFyL3NpZ25lZC1vdXQnKTtcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export class AuthConfig {
2
- }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9wcm9qZWN0cy9hdXRoMC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hdXRoLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQWdCLFVBQVU7Q0FRL0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgYWJzdHJhY3QgY2xhc3MgQXV0aENvbmZpZyB7XG4gIHB1YmxpYyBhYnN0cmFjdCBhdWRpZW5jZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgY2xpZW50SWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IGRvbWFpbjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3Qgc2NvcGU6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlZGlyZWN0VXJpPzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgbG9nb3V0VXJpPzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgdXNlUmVmcmVzaFRva2Vucz86IGJvb2xlYW47XG59XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS92c3RzL3dvcmsvMS9zL3Byb2plY3RzL2F1dGgwLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7OztBQUsxQyxNQUFNLE9BQU8sU0FBUztJQUdwQixZQUE2QixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBRjdCLG1CQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFbEIsQ0FBQztJQUUzQyxXQUFXLENBQUMsSUFBNEIsRUFBRSxLQUEwQjtRQUN6RSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVCxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3ZEO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsS0FBSyxFQUFFLENBQ1IsQ0FBQztJQUNKLENBQUM7Ozs7WUFqQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFQUSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBmaXJzdCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgc2lnbkluIH0gZnJvbSAnLi9hY3Rpb25zL2F1dGguYWN0aW9ucyc7XG5pbXBvcnQgeyBpc0F1dGhlbnRpY2F0ZWQgfSBmcm9tICcuL3N0b3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhdXRoZW50aWNhdGVkJCA9IHRoaXMuc3RvcmUucGlwZShpc0F1dGhlbnRpY2F0ZWQpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3RvcmU6IFN0b3JlPGFueT4pIHt9XG5cbiAgcHVibGljIGNhbkFjdGl2YXRlKG5leHQ6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRlZCQucGlwZShcbiAgICAgIHRhcChhdXRoID0+IHtcbiAgICAgICAgaWYgKCFhdXRoKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzaWduSW4oeyByZXR1cm5Vcmw6IHN0YXRlLnVybCB9KSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgZmlyc3QoKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9wcm9qZWN0cy9hdXRoMC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBT3JDLE1BQU0sT0FBTyxVQUFVO0lBQ2QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFrQjtRQUN0QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLFVBQVU7WUFDcEIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxVQUFVO29CQUNuQixRQUFRLEVBQUUsTUFBTTtpQkFDakI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBckJGLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQy9GLE9BQU8sRUFBRSxFQUFFO2FBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEF1dGhDb25maWcgfSBmcm9tICcuL2F1dGgtY29uZmlnJztcbmltcG9ydCB7IEF1dGhFZmZlY3RzIH0gZnJvbSAnLi9lZmZlY3RzL2F1dGguZWZmZWN0cyc7XG5pbXBvcnQgeyBKd3RJbnRlcmNlcHRvciB9IGZyb20gJy4vand0LmludGVyY2VwdG9yJztcbmltcG9ydCB7IHJlZHVjZXIgfSBmcm9tICcuL3JlZHVjZXJzL2F1dGgucmVkdWNlcic7XG5pbXBvcnQgeyBmZWF0dXJlS2V5IH0gZnJvbSAnLi9zdG9yZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKGZlYXR1cmVLZXksIHJlZHVjZXIpLCBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW0F1dGhFZmZlY3RzXSldLFxuICBleHBvcnRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aE1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWc6IEF1dGhDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEF1dGhNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEF1dGhNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEF1dGhDb25maWcsXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxuICAgICAgICAgIHVzZUNsYXNzOiBKd3RJbnRlcmNlcHRvcixcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,57 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { Auth0Client } from '@auth0/auth0-spa-js';
4
- import { EMPTY, from } from 'rxjs';
5
- import { map, switchMap } from 'rxjs/operators';
6
- import { AuthConfig } from './auth-config';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./auth-config";
9
- export class AuthService {
10
- constructor(config) {
11
- var _a, _b;
12
- this.config = config;
13
- this.auth0 = new Auth0Client({
14
- audience: config.audience,
15
- client_id: config.clientId,
16
- domain: config.domain,
17
- redirect_uri: (_a = config.redirectUri) !== null && _a !== void 0 ? _a : location.origin,
18
- scope: config.scope,
19
- useRefreshTokens: (_b = config.useRefreshTokens) !== null && _b !== void 0 ? _b : false,
20
- });
21
- }
22
- isAuthenticated() {
23
- return from(this.checkSession());
24
- }
25
- loginWithRedirect(appState) {
26
- return from(this.auth0.loginWithRedirect({ appState })).pipe(switchMap(() => EMPTY));
27
- }
28
- handleRedirectCallback() {
29
- return from(this.auth0.handleRedirectCallback()).pipe(map(result => result.appState));
30
- }
31
- getUser() {
32
- return from(this.auth0.getUser());
33
- }
34
- getAccessToken() {
35
- return from(this.auth0.getTokenSilently());
36
- }
37
- logout() {
38
- var _a;
39
- this.auth0.logout({ returnTo: (_a = this.config.logoutUri) !== null && _a !== void 0 ? _a : location.origin });
40
- }
41
- checkSession() {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- yield this.auth0.checkSession();
44
- return yield this.auth0.isAuthenticated();
45
- });
46
- }
47
- }
48
- AuthService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthService_Factory() { return new AuthService(i0.ɵɵinject(i1.AuthConfig)); }, token: AuthService, providedIn: "root" });
49
- AuthService.decorators = [
50
- { type: Injectable, args: [{
51
- providedIn: 'root',
52
- },] }
53
- ];
54
- AuthService.ctorParameters = () => [
55
- { type: AuthConfig }
56
- ];
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUE2QixNQUFrQjs7UUFBbEIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksV0FBVyxDQUFDO1lBQzNCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixTQUFTLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDMUIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLFlBQVksUUFBRSxNQUFNLENBQUMsV0FBVyxtQ0FBSSxRQUFRLENBQUMsTUFBTTtZQUNuRCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsZ0JBQWdCLFFBQUUsTUFBTSxDQUFDLGdCQUFnQixtQ0FBSSxLQUFLO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxRQUE0QjtRQUNuRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBOEIsQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVNLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLE1BQU07O1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLFFBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLG1DQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFYSxZQUFZOztZQUN4QixNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFaEMsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUMsQ0FBQztLQUFBOzs7O1lBN0NGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBSlEsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGgwQ2xpZW50IH0gZnJvbSAnQGF1dGgwL2F1dGgwLXNwYS1qcyc7XG5pbXBvcnQgeyBFTVBUWSwgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBdXRoQ29uZmlnIH0gZnJvbSAnLi9hdXRoLWNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXV0aDA6IEF1dGgwQ2xpZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBBdXRoQ29uZmlnKSB7XG4gICAgdGhpcy5hdXRoMCA9IG5ldyBBdXRoMENsaWVudCh7XG4gICAgICBhdWRpZW5jZTogY29uZmlnLmF1ZGllbmNlLFxuICAgICAgY2xpZW50X2lkOiBjb25maWcuY2xpZW50SWQsXG4gICAgICBkb21haW46IGNvbmZpZy5kb21haW4sXG4gICAgICByZWRpcmVjdF91cmk6IGNvbmZpZy5yZWRpcmVjdFVyaSA/PyBsb2NhdGlvbi5vcmlnaW4sXG4gICAgICBzY29wZTogY29uZmlnLnNjb3BlLFxuICAgICAgdXNlUmVmcmVzaFRva2VuczogY29uZmlnLnVzZVJlZnJlc2hUb2tlbnMgPz8gZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaXNBdXRoZW50aWNhdGVkKCkge1xuICAgIHJldHVybiBmcm9tKHRoaXMuY2hlY2tTZXNzaW9uKCkpO1xuICB9XG5cbiAgcHVibGljIGxvZ2luV2l0aFJlZGlyZWN0KGFwcFN0YXRlOiB7IHRhcmdldDogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmF1dGgwLmxvZ2luV2l0aFJlZGlyZWN0KHsgYXBwU3RhdGUgfSkpLnBpcGUoc3dpdGNoTWFwKCgpID0+IEVNUFRZKSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlUmVkaXJlY3RDYWxsYmFjaygpIHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmF1dGgwLmhhbmRsZVJlZGlyZWN0Q2FsbGJhY2soKSkucGlwZShtYXAocmVzdWx0ID0+IHJlc3VsdC5hcHBTdGF0ZSBhcyB7IHRhcmdldDogc3RyaW5nIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVc2VyKCkge1xuICAgIHJldHVybiBmcm9tKHRoaXMuYXV0aDAuZ2V0VXNlcigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBY2Nlc3NUb2tlbigpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmF1dGgwLmdldFRva2VuU2lsZW50bHkoKSk7XG4gIH1cblxuICBwdWJsaWMgbG9nb3V0KCkge1xuICAgIHRoaXMuYXV0aDAubG9nb3V0KHsgcmV0dXJuVG86IHRoaXMuY29uZmlnLmxvZ291dFVyaSA/PyBsb2NhdGlvbi5vcmlnaW4gfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNoZWNrU2Vzc2lvbigpIHtcbiAgICBhd2FpdCB0aGlzLmF1dGgwLmNoZWNrU2Vzc2lvbigpO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYXV0aDAuaXNBdXRoZW50aWNhdGVkKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,52 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- import { Actions, createEffect, ofType } from '@ngrx/effects';
4
- import { asyncScheduler, of } from 'rxjs';
5
- import { catchError, map, observeOn, switchMap, tap } from 'rxjs/operators';
6
- import { signedIn, signedOut, signIn, signInCompleted, signInFailed, signOut } from '../actions/auth.actions';
7
- import { AuthService } from '../auth.service';
8
- export class AuthEffects {
9
- constructor(actions$, auth, router) {
10
- this.actions$ = actions$;
11
- this.auth = auth;
12
- this.router = router;
13
- this.signIn$ = createEffect(() => this.actions$.pipe(ofType(signIn), switchMap(action => this.auth.loginWithRedirect({ target: action.returnUrl }))), { dispatch: false });
14
- this.signInCompleted$ = createEffect(() => this.actions$.pipe(ofType(signInCompleted), switchMap(() => this.auth.getUser().pipe(map(user => signedIn(user)), catchError(error => of(signInFailed({ error })))))));
15
- this.redirect$ = createEffect(() => this.actions$.pipe(ofType(signInCompleted), switchMap(action => this.router.navigateByUrl(action.state.target, { replaceUrl: true }))), { dispatch: false });
16
- this.signOut$ = createEffect(() => this.actions$.pipe(ofType(signOut), tap(() => {
17
- try {
18
- this.auth.logout();
19
- }
20
- catch (_a) { }
21
- }), map(() => signedOut())));
22
- this.init$ = createEffect(() => ({ scheduler = asyncScheduler } = {}) => {
23
- const params = window.location.search;
24
- if (params.includes('code=') && params.includes('state=')) {
25
- return this.completeSignIn(scheduler);
26
- }
27
- else {
28
- return this.auth.isAuthenticated().pipe(switchMap(auth => this.getAuthResult(auth)), catchError(error => of(signInFailed({ error }))), observeOn(scheduler));
29
- }
30
- });
31
- }
32
- getAuthResult(auth) {
33
- if (auth) {
34
- return this.auth.getUser().pipe(map(user => signedIn(user)));
35
- }
36
- else {
37
- return of(signedOut());
38
- }
39
- }
40
- completeSignIn(scheduler) {
41
- return this.auth.handleRedirectCallback().pipe(map(state => signInCompleted({ state })), catchError(error => of(signInFailed({ error }))), observeOn(scheduler));
42
- }
43
- }
44
- AuthEffects.decorators = [
45
- { type: Injectable }
46
- ];
47
- AuthEffects.ctorParameters = () => [
48
- { type: Actions },
49
- { type: AuthService },
50
- { type: Router }
51
- ];
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvZWZmZWN0cy9hdXRoLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFpQixNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUc5QyxNQUFNLE9BQU8sV0FBVztJQXlEdEIsWUFDbUIsUUFBaUIsRUFDakIsSUFBaUIsRUFDakIsTUFBYztRQUZkLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBM0RqQixZQUFPLEdBQUcsWUFBWSxDQUNwQyxHQUFHLEVBQUUsQ0FDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUNkLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFB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Q0FBQyxJQUFJLENBQzVDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFDeEMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUNoRCxTQUFTLENBQUMsU0FBUyxDQUFDLENBQ3JCLENBQUM7SUFDSixDQUFDOzs7WUE5RUYsVUFBVTs7O1lBTkYsT0FBTztZQUlQLFdBQVc7WUFMWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBhc3luY1NjaGVkdWxlciwgb2YsIFNjaGVkdWxlckxpa2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgb2JzZXJ2ZU9uLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHNpZ25lZEluLCBzaWduZWRPdXQsIHNpZ25Jbiwgc2lnbkluQ29tcGxldGVkLCBzaWduSW5GYWlsZWQsIHNpZ25PdXQgfSBmcm9tICcuLi9hY3Rpb25zL2F1dGguYWN0aW9ucyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGguc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoRWZmZWN0cyB7XG4gIHB1YmxpYyByZWFkb25seSBzaWduSW4kID0gY3JlYXRlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZShzaWduSW4pLFxuICAgICAgICBzd2l0Y2hNYXAoYWN0aW9uID0+IHRoaXMuYXV0aC5sb2dpbldpdGhSZWRpcmVjdCh7IHRhcmdldDogYWN0aW9uLnJldHVyblVybCB9KSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBzaWduSW5Db21wbGV0ZWQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKHNpZ25JbkNvbXBsZXRlZCksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgdGhpcy5hdXRoLmdldFVzZXIoKS5waXBlKFxuICAgICAgICAgIG1hcCh1c2VyID0+IHNpZ25lZEluKHVzZXIpKSxcbiAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IG9mKHNpZ25JbkZhaWxlZCh7IGVycm9yIH0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcmVkaXJlY3QkID0gY3JlYXRlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZShzaWduSW5Db21wbGV0ZWQpLFxuICAgICAgICBzd2l0Y2hNYXAoYWN0aW9uID0+IHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYWN0aW9uLnN0YXRlLnRhcmdldCwgeyByZXBsYWNlVXJsOiB0cnVlIH0pKVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNpZ25PdXQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKHNpZ25PdXQpLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB0aGlzLmF1dGgubG9nb3V0KCk7XG4gICAgICAgIH0gY2F0Y2gge31cbiAgICAgIH0pLFxuICAgICAgbWFwKCgpID0+IHNpZ25lZE91dCgpKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaW5pdCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gKHsgc2NoZWR1bGVyID0gYXN5bmNTY2hlZHVsZXIgfSA9IHt9KSA9PiB7XG4gICAgY29uc3QgcGFyYW1zID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaDtcblxuICAgIGlmIChwYXJhbXMuaW5jbHVkZXMoJ2NvZGU9JykgJiYgcGFyYW1zLmluY2x1ZGVzKCdzdGF0ZT0nKSkge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcGxldGVTaWduSW4oc2NoZWR1bGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuYXV0aC5pc0F1dGhlbnRpY2F0ZWQoKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoYXV0aCA9PiB0aGlzLmdldEF1dGhSZXN1bHQoYXV0aCkpLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IG9mKHNpZ25JbkZhaWxlZCh7IGVycm9yIH0pKSksXG4gICAgICAgIG9ic2VydmVPbihzY2hlZHVsZXIpXG4gICAgICApO1xuICAgIH1cbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGg6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuXG4gIHByaXZhdGUgZ2V0QXV0aFJlc3VsdChhdXRoOiBib29sZWFuKSB7XG4gICAgaWYgKGF1dGgpIHtcbiAgICAgIHJldHVybiB0aGlzLmF1dGguZ2V0VXNlcigpLnBpcGUobWFwKHVzZXIgPT4gc2lnbmVkSW4odXNlcikpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9mKHNpZ25lZE91dCgpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbXBsZXRlU2lnbkluKHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSkge1xuICAgIHJldHVybiB0aGlzLmF1dGguaGFuZGxlUmVkaXJlY3RDYWxsYmFjaygpLnBpcGUoXG4gICAgICBtYXAoc3RhdGUgPT4gc2lnbkluQ29tcGxldGVkKHsgc3RhdGUgfSkpLFxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZihzaWduSW5GYWlsZWQoeyBlcnJvciB9KSkpLFxuICAgICAgb2JzZXJ2ZU9uKHNjaGVkdWxlcilcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvand0LmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBNkIsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7SUFFM0MsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDM0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BHO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLE9BQXlCO1FBQzVDLE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJELE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDckIsQ0FBQztJQUVPLFNBQVMsQ0FBQyxPQUF5QjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRTFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7OztZQXRCRixVQUFVOzs7WUFGRixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBKd3RJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXV0aDogQXV0aFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIGlmICh0aGlzLmlzU2FtZURvbWFpbihyZXF1ZXN0KSkge1xuICAgICAgcmV0dXJuIHRoaXMuYXV0aG9yaXplKHJlcXVlc3QpLnBpcGUobWVyZ2VNYXAoYXV0aG9yaXplZFJlcXVlc3QgPT4gbmV4dC5oYW5kbGUoYXV0aG9yaXplZFJlcXVlc3QpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzU2FtZURvbWFpbihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KSB7XG4gICAgY29uc3QgaXNBYnNvbHV0ZSA9IC9eaHR0cHM/OlxcL1xcLy9pLnRlc3QocmVxdWVzdC51cmwpO1xuXG4gICAgcmV0dXJuICFpc0Fic29sdXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBhdXRob3JpemUocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pikge1xuICAgIGNvbnN0IHRva2VuJCA9IHRoaXMuYXV0aC5nZXRBY2Nlc3NUb2tlbigpO1xuXG4gICAgcmV0dXJuIHRva2VuJC5waXBlKG1hcCh0b2tlbiA9PiByZXF1ZXN0LmNsb25lKHsgc2V0SGVhZGVyczogeyBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCB9IH0pKSk7XG4gIH1cbn1cbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvcmVkdWNlcnMvYXV0aC5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQVUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc1RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBVTtJQUNyQyxjQUFjLEVBQUUsS0FBSztJQUNyQixhQUFhLEVBQUUsS0FBSztDQUNyQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQVU7SUFDeEMsY0FBYyxFQUFFLElBQUk7SUFDcEIsYUFBYSxFQUFFLEtBQUs7Q0FDckIsQ0FBQztXQUlhLENBQUMsS0FBSyxFQUFFLEVBQW9CLEVBQUUsRUFBRTtRQUF4QixFQUFFLElBQUksT0FBYyxFQUFULE9BQU8sY0FBbEIsUUFBb0IsQ0FBRjtJQUNyQyx1Q0FBWSxLQUFLLEtBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLElBQUc7QUFDakYsQ0FBQyxPQUNhLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixPQUNuQixHQUFHLEVBQUUsQ0FBQyxnQkFBZ0I7QUFOekMsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUMvQixtQkFBbUIsRUFDbkIsRUFBRSxDQUFDLFFBQVEsS0FFVCxFQUNGLEVBQUUsQ0FBQyxTQUFTLEtBQXlCLEVBQ3JDLEVBQUUsQ0FBQyxZQUFZLEtBQXlCLENBQ3pDLENBQUM7QUFFRixNQUFNLFVBQVUsT0FBTyxDQUFDLEtBQXdCLEVBQUUsTUFBYztJQUM5RCxPQUFPLFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBzaWduZWRJbiwgc2lnbmVkT3V0LCBzaWduSW5GYWlsZWQgfSBmcm9tICcuLi9hY3Rpb25zL2F1dGguYWN0aW9ucyc7XG5pbXBvcnQgeyBTdGF0ZSB9IGZyb20gJy4uL3N0YXRlL2F1dGguc3RhdGUnO1xuXG5leHBvcnQgY29uc3Qgbm9BdXRoZW50aWNhdGlvbjogU3RhdGUgPSB7XG4gIGF1dGhlbnRpY2F0aW5nOiBmYWxzZSxcbiAgYXV0aGVudGljYXRlZDogZmFsc2UsXG59O1xuXG5leHBvcnQgY29uc3Qgc3RhcnRBdXRoZW50aWNhdGlvbjogU3RhdGUgPSB7XG4gIGF1dGhlbnRpY2F0aW5nOiB0cnVlLFxuICBhdXRoZW50aWNhdGVkOiBmYWxzZSxcbn07XG5cbmNvbnN0IGF1dGhSZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihcbiAgc3RhcnRBdXRoZW50aWNhdGlvbixcbiAgb24oc2lnbmVkSW4sIChzdGF0ZSwgeyB0eXBlLCAuLi5wYXlsb2FkIH0pID0+IHtcbiAgICByZXR1cm4geyAuLi5zdGF0ZSwgYXV0aGVudGljYXRpbmc6IGZhbHNlLCBhdXRoZW50aWNhdGVkOiB0cnVlLCB1c2VyOiBwYXlsb2FkIH07XG4gIH0pLFxuICBvbihzaWduZWRPdXQsICgpID0+IG5vQXV0aGVudGljYXRpb24pLFxuICBvbihzaWduSW5GYWlsZWQsICgpID0+IG5vQXV0aGVudGljYXRpb24pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlcihzdGF0ZTogU3RhdGUgfCB1bmRlZmluZWQsIGFjdGlvbjogQWN0aW9uKSB7XG4gIHJldHVybiBhdXRoUmVkdWNlcihzdGF0ZSwgYWN0aW9uKTtcbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS92c3RzL3dvcmsvMS9zL3Byb2plY3RzL2F1dGgwLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL3N0YXRlL2F1dGguc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZSB7XG4gIHN1Yjogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBuaWNrbmFtZT86IHN0cmluZztcbiAgcGljdHVyZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZSB7XG4gIGF1dGhlbnRpY2F0aW5nOiBib29sZWFuO1xuICBhdXRoZW50aWNhdGVkOiBib29sZWFuO1xuICB1c2VyPzogUHJvZmlsZTtcbn1cbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9wcm9qZWN0cy9hdXRoMC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zdG9yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBUSxVQUFVLENBQUMsQ0FBQztXQUkzRCxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsT0FDakMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYTtBQUhsQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUNqQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQ25CLE1BQU0sSUFBZ0MsRUFDdEMsR0FBRyxJQUE4QixDQUNsQyxDQUFDO1dBSU8sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLE9BQ2pDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUk7QUFIekIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FDekIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUNuQixNQUFNLElBQWdDLEVBQ3RDLEdBQUcsSUFBcUIsQ0FDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUZlYXR1cmVTZWxlY3Rvciwgc2VsZWN0IH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgcGlwZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdGF0ZSB9IGZyb20gJy4uL3N0YXRlL2F1dGguc3RhdGUnO1xuXG5leHBvcnQgY29uc3QgZmVhdHVyZUtleSA9ICdhdXRoJztcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFN0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFN0YXRlPihmZWF0dXJlS2V5KTtcblxuZXhwb3J0IGNvbnN0IGlzQXV0aGVudGljYXRlZCA9IHBpcGUoXG4gIHNlbGVjdChzZWxlY3RTdGF0ZSksXG4gIGZpbHRlcihzdGF0ZSA9PiAhc3RhdGUuYXV0aGVudGljYXRpbmcpLFxuICBtYXAoc3RhdGUgPT4gc3RhdGUuYXV0aGVudGljYXRlZClcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRVc2VyID0gcGlwZShcbiAgc2VsZWN0KHNlbGVjdFN0YXRlKSxcbiAgZmlsdGVyKHN0YXRlID0+ICFzdGF0ZS5hdXRoZW50aWNhdGluZyksXG4gIG1hcChzdGF0ZSA9PiBzdGF0ZS51c2VyKVxuKTtcbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS92c3RzL3dvcmsvMS9zL3Byb2plY3RzL2F1dGgwLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEF1dGhNb2R1bGUgfSBmcm9tICcuL2xpYi9hdXRoLm1vZHVsZSc7XG5leHBvcnQgeyBBdXRoR3VhcmQgfSBmcm9tICcuL2xpYi9hdXRoLmd1YXJkJztcbmV4cG9ydCB7IHNpZ25Jbiwgc2lnbk91dCwgc2lnbmVkSW4sIHNpZ25lZE91dCB9IGZyb20gJy4vbGliL2FjdGlvbnMvYXV0aC5hY3Rpb25zJztcbmV4cG9ydCB7IGlzQXV0aGVudGljYXRlZCwgZ2V0VXNlciB9IGZyb20gJy4vbGliL3N0b3JlJztcbmV4cG9ydCB7IFByb2ZpbGUgfSBmcm9tICcuL2xpYi9zdGF0ZS9hdXRoLnN0YXRlJztcbiJdfQ==
@@ -1,12 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- export { signInFailed as ɵa } from './lib/actions/auth.actions';
6
- export { AuthConfig as ɵh } from './lib/auth-config';
7
- export { AuthService as ɵg } from './lib/auth.service';
8
- export { AuthEffects as ɵf } from './lib/effects/auth.effects';
9
- export { JwtInterceptor as ɵi } from './lib/jwt.interceptor';
10
- export { reducer as ɵe, startAuthentication as ɵd } from './lib/reducers/auth.reducer';
11
- export { featureKey as ɵb, selectState as ɵc } from './lib/store';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlY2xhLWF1dGgwLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9wcm9qZWN0cy9hdXRoMC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbInRoZWNsYS1hdXRoMC1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsVUFBVSxJQUFJLEVBQUUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLElBQUksRUFBRSxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BGLE9BQU8sRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7c2lnbkluRmFpbGVkIGFzIMm1YX0gZnJvbSAnLi9saWIvYWN0aW9ucy9hdXRoLmFjdGlvbnMnO1xuZXhwb3J0IHtBdXRoQ29uZmlnIGFzIMm1aH0gZnJvbSAnLi9saWIvYXV0aC1jb25maWcnO1xuZXhwb3J0IHtBdXRoU2VydmljZSBhcyDJtWd9IGZyb20gJy4vbGliL2F1dGguc2VydmljZSc7XG5leHBvcnQge0F1dGhFZmZlY3RzIGFzIMm1Zn0gZnJvbSAnLi9saWIvZWZmZWN0cy9hdXRoLmVmZmVjdHMnO1xuZXhwb3J0IHtKd3RJbnRlcmNlcHRvciBhcyDJtWl9IGZyb20gJy4vbGliL2p3dC5pbnRlcmNlcHRvcic7XG5leHBvcnQge3JlZHVjZXIgYXMgybVlLHN0YXJ0QXV0aGVudGljYXRpb24gYXMgybVkfSBmcm9tICcuL2xpYi9yZWR1Y2Vycy9hdXRoLnJlZHVjZXInO1xuZXhwb3J0IHtmZWF0dXJlS2V5IGFzIMm1YixzZWxlY3RTdGF0ZSBhcyDJtWN9IGZyb20gJy4vbGliL3N0b3JlJzsiXX0=