ngx-ui-hero
Version:
Simple, fast and reliable utilities for Angular.
35 lines • 4.95 kB
JavaScript
import { Inject, Injectable } from '@angular/core';
import { API_SETTINGS } from '../api.settings.constants';
import { LocalStorageService } from '../services/storage/local-storage.service';
import * as i0 from "@angular/core";
import * as i1 from "../services/storage/local-storage.service";
export class JwtAuthInterceptor {
constructor(settings, localStorageService) {
this.settings = settings;
this.localStorageService = localStorageService;
this._jwtSuffix = 'access_token';
if (this.settings.jwtLocalStorageSuffix) {
this._jwtSuffix = this.settings.jwtLocalStorageSuffix;
}
}
intercept(req, next) {
let jwtToken = this.localStorageService.Get(this._jwtSuffix);
if (!jwtToken || jwtToken.length == 0)
return next.handle(req);
const modified = req.clone({
setHeaders: {
'Authorization': `Bearer ${jwtToken}`,
}
});
return next.handle(modified);
}
}
JwtAuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: JwtAuthInterceptor, deps: [{ token: API_SETTINGS }, { token: i1.LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable });
JwtAuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: JwtAuthInterceptor });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: JwtAuthInterceptor, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
type: Inject,
args: [API_SETTINGS]
}] }, { type: i1.LocalStorageService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LWF1dGguaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdWktaGVyby9zcmMvbGliL2FwaS9pbnRlcmNlcHRvcnMvand0LWF1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7QUFHaEYsTUFBTSxPQUFPLGtCQUFrQjtJQUczQixZQUNpQyxRQUFxQixFQUMxQyxtQkFBd0M7UUFEbkIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUMxQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBSjVDLGVBQVUsR0FBVyxjQUFjLENBQUM7UUFNeEMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixFQUFFO1lBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQTtTQUN4RDtJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUM5QyxJQUFJLFFBQVEsR0FBVyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVyRSxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFNUIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUN2QixVQUFVLEVBQUU7Z0JBQ1IsZUFBZSxFQUFFLFVBQVUsUUFBUSxFQUFFO2FBQ3hDO1NBQ0osQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O2dIQXpCUSxrQkFBa0Isa0JBSWYsWUFBWTtvSEFKZixrQkFBa0I7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVTs7MEJBS0YsTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwaVNldHRpbmdzIH0gZnJvbSAnLi4vYXBpLnNldHRpbmdzJztcbmltcG9ydCB7IEFQSV9TRVRUSU5HUyB9IGZyb20gJy4uL2FwaS5zZXR0aW5ncy5jb25zdGFudHMnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3N0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEp3dEF1dGhJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gICAgcHJpdmF0ZSBfand0U3VmZml4OiBzdHJpbmcgPSAnYWNjZXNzX3Rva2VuJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEFQSV9TRVRUSU5HUykgcHVibGljIHNldHRpbmdzOiBBcGlTZXR0aW5ncyxcbiAgICAgICAgcHJpdmF0ZSBsb2NhbFN0b3JhZ2VTZXJ2aWNlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlXG4gICAgKXtcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3Muand0TG9jYWxTdG9yYWdlU3VmZml4KSB7XG4gICAgICAgICAgICB0aGlzLl9qd3RTdWZmaXggPSB0aGlzLnNldHRpbmdzLmp3dExvY2FsU3RvcmFnZVN1ZmZpeFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgICAgIGxldCBqd3RUb2tlbjogc3RyaW5nID0gdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLkdldCh0aGlzLl9qd3RTdWZmaXgpO1xuXG4gICAgICAgIGlmICghand0VG9rZW4gfHwgand0VG9rZW4ubGVuZ3RoID09IDApIFxuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG5cbiAgICAgICAgY29uc3QgbW9kaWZpZWQgPSByZXEuY2xvbmUoeyBcbiAgICAgICAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnQXV0aG9yaXphdGlvbic6IGBCZWFyZXIgJHtqd3RUb2tlbn1gLFxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUobW9kaWZpZWQpO1xuICAgIH1cbn0iXX0=