UNPKG

@codaglobal/ng-jwt-authentication

Version:

<a> <br> <h1 align="center">ng-jwt-authentication</h1> </a>

2 lines 6.62 kB
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@angular/core"),require("@angular/common/http"),require("ngx-cookie-service"),require("rxjs"),require("rxjs/operators"),require("ngx-cookie-service/cookie-service/cookie.service")):"function"==typeof define&&define.amd?define("@codaglobal/ng-jwt-authentication",["exports","@angular/core","@angular/common/http","ngx-cookie-service","rxjs","rxjs/operators","ngx-cookie-service/cookie-service/cookie.service"],r):r((e.codaglobal=e.codaglobal||{},e.codaglobal["ng-jwt-authentication"]={}),e.ng.core,e.ng.common.http,null,e.rxjs,e.rxjs.operators,null)}(this,function(e,t,i,o,a,c,r){"use strict";var h="GET",f="POST",p="PATCH",u="DELETE",y="PUT",n=function x(){},s=null,d="Authorization",l="accessToken",g="refreshToken",b="expiresIn",v=401,C="Bearer",k="Content-Type",T="application/json",m="body",K=function(){function e(e,r,t){this.http=e,this.cookie=r,this.config=t,this.libraryConfig=new n,this.libraryConfig.refreshUrl=this.config.refreshUrl||s,this.libraryConfig.headerKeyName=this.config.headerKeyName||d,this.libraryConfig.accessTokenKey=this.config.accessTokenKey||l,this.libraryConfig.refreshTokenKey=this.config.refreshTokenKey||g,this.libraryConfig.expiresInKey=this.config.expiresInKey||b,this.libraryConfig.errorStatusCode=this.config.errorStatusCode||v,this.libraryConfig.authorizationSchema=this.config.authorizationSchema||C,this.libraryConfig.contentTypeKeyName=k,this.libraryConfig.contentType=T,this.libraryConfig.jwtResponse=this.config.jwtResponse||m}return e.prototype.setHeaders=function(e){var r;return(r=e||new i.HttpHeaders).has(this.libraryConfig.contentTypeKeyName)||(r=r.set(this.libraryConfig.contentTypeKeyName,this.libraryConfig.contentType)),r=r.set(this.libraryConfig.headerKeyName,this.libraryConfig.authorizationSchema+" "+this.cookie.get(this.libraryConfig.accessTokenKey))},e.prototype.jwtAuthGet=function(r,t){var o=this,e="body",i=this.setHeaders(t?t.headers:undefined);return t&&(e=t.observe?t.observe:"body"),this.http.get(r,{headers:i,observe:e}).pipe(c.map(function(e){return e}),c.catchError(function(e){return o.handleServerError(e,r,h,t)}))},e.prototype.jwtAuthPost=function(r,t,o){var i=this,e="body",n=this.setHeaders(o?o.headers:undefined);return o&&(e=o.observe?o.observe:"body"),this.http.post(r,t,{headers:n,observe:e}).pipe(c.map(function(e){return e}),c.catchError(function(e){return i.handleServerError(e,r,f,t,o)}))},e.prototype.jwtAuthPut=function(r,t,o){var i=this,e="body",n=this.setHeaders(o?o.headers:undefined);return o&&(e=o.observe?o.observe:"body"),this.http.put(r,t,{headers:n,observe:e}).pipe(c.map(function(e){return e}),c.catchError(function(e){return i.handleServerError(e,r,y,t,o)}))},e.prototype.jwtAuthDelete=function(r,t){var o=this,e="body",i=this.setHeaders(t?t.headers:undefined);return t&&(e=t.observe?t.observe:"body"),this.http["delete"](r,{headers:i,observe:e}).pipe(c.map(function(e){return e}),c.catchError(function(e){return o.handleServerError(e,r,u,t)}))},e.prototype.jwtAuthPatch=function(r,t,o){var i=this,e="body",n=this.setHeaders(o?o.headers:undefined);return o&&(e=o.observe?o.observe:"body"),this.http.patch(r,t,{headers:n,observe:e}).pipe(c.map(function(e){return e}),c.catchError(function(e){return i.handleServerError(e,r,p,t,o)}))},e.prototype.handleServerError=function(e,r,t,o,i){var n=this,s="body";return i&&(s=i.observe?i.observe:"body"),this.libraryConfig.refreshUrl&&e.status===this.libraryConfig.errorStatusCode?this.getToken().pipe(c.switchMap(function(e){switch(n.cookie.set(n.libraryConfig.accessTokenKey,e[n.libraryConfig.accessTokenKey]),n.cookie.set(n.libraryConfig.expiresInKey,e[n.libraryConfig.expiresInKey]),t){case h:return n.http.get(r,{headers:n.setHeaders(i?i.headers:undefined),observe:s}).pipe(c.map(function(e){return e}));case f:return n.http.post(r,JSON.stringify(o),{headers:n.setHeaders(i?i.headers:undefined),observe:s}).pipe(c.map(function(e){return e}));case y:return n.http.put(r,JSON.stringify(o),{headers:n.setHeaders(i?i.headers:undefined),observe:s}).pipe(c.map(function(e){return e}));case u:return n.http["delete"](r,{headers:n.setHeaders(i?i.headers:undefined),observe:s}).pipe(c.map(function(e){return e}));case p:return n.http.patch(r,{headers:n.setHeaders(i?i.headers:undefined),observe:s}).pipe(c.map(function(e){return e}))}})):a.throwError(e||"Server error")},e.prototype.getToken=function(){var e;return(e={})[this.libraryConfig.accessTokenKey]=this.cookie.get(this.libraryConfig.accessTokenKey),e[this.libraryConfig.refreshTokenKey]=this.cookie.get(this.libraryConfig.refreshTokenKey),e[this.libraryConfig.expiresInKey]=this.cookie.get(this.libraryConfig.expiresInKey),this.refreshToken(this.libraryConfig.refreshUrl,e)},e.prototype.refreshToken=function(e,r){var t=(new i.HttpHeaders).set(this.libraryConfig.contentTypeKeyName,this.libraryConfig.contentType).set(this.libraryConfig.headerKeyName,this.libraryConfig.authorizationSchema+" "+this.cookie.get(this.libraryConfig.accessTokenKey)),o=this.libraryConfig.jwtResponse?this.libraryConfig.jwtResponse:"body";return this.http.post(e,JSON.stringify(r),{headers:t,observe:o}).pipe(c.map(function(e){return e}))},e.prototype.saveJwtToken=function(e,r,t){this.cookie.set(this.libraryConfig.accessTokenKey,e),this.cookie.set(this.libraryConfig.refreshTokenKey,r),this.cookie.set(this.libraryConfig.expiresInKey,t)},e.prototype.clearJwtTokens=function(){this.cookie["delete"](this.libraryConfig.accessTokenKey),this.cookie["delete"](this.libraryConfig.refreshTokenKey),this.cookie["delete"](this.libraryConfig.expiresInKey)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:i.HttpClient},{type:o.CookieService},{type:n,decorators:[{type:t.Inject,args:["config"]}]}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(i.HttpClient),t.inject(r.CookieService),t.inject("config"))},token:e,providedIn:"root"}),e}(),j=function(){function e(){}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"lib-angular-jwt",template:"",styles:[]}]}],e.ctorParameters=function(){return[]},e}(),w=function(){function r(){}return r.forRoot=function(e){return{ngModule:r,providers:[K,{provide:"config",useValue:e}]}},r.decorators=[{type:t.NgModule,args:[{imports:[i.HttpClientModule],declarations:[j],exports:[j],providers:[o.CookieService]}]}],r}();e.JwtAuthenticationService=K,e.JwtAuthenticationModule=w,e.ɵb=j,e.ɵa=n,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=codaglobal-ng-jwt-authentication.umd.min.js.map