UNPKG

4.71 kBJavaScriptView Raw
1import { Inject, Injectable } from '@angular/core';
2import { switchMap } from 'rxjs/operators';
3import { NbAuthService } from '../auth.service';
4import { NB_AUTH_INTERCEPTOR_HEADER } from '../../auth.options';
5import * as i0 from "@angular/core";
6export class NbAuthSimpleInterceptor {
7 constructor(injector, headerName = 'Authorization') {
8 this.injector = injector;
9 this.headerName = headerName;
10 }
11 intercept(req, next) {
12 return this.authService.getToken().pipe(switchMap((token) => {
13 if (token && token.getValue()) {
14 req = req.clone({
15 setHeaders: {
16 [this.headerName]: token.getValue(),
17 },
18 });
19 }
20 return next.handle(req);
21 }));
22 }
23 get authService() {
24 return this.injector.get(NbAuthService);
25 }
26}
27NbAuthSimpleInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NbAuthSimpleInterceptor, deps: [{ token: i0.Injector }, { token: NB_AUTH_INTERCEPTOR_HEADER }], target: i0.ɵɵFactoryTarget.Injectable });
28NbAuthSimpleInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NbAuthSimpleInterceptor });
29i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NbAuthSimpleInterceptor, decorators: [{
30 type: Injectable
31 }], ctorParameters: function () { return [{ type: i0.Injector }, { type: undefined, decorators: [{
32 type: Inject,
33 args: [NB_AUTH_INTERCEPTOR_HEADER]
34 }] }]; } });
35//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ZyYW1ld29yay9hdXRoL3NlcnZpY2VzL2ludGVyY2VwdG9ycy9zaW1wbGUtaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFJaEUsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUNVLFFBQWtCLEVBQ29CLGFBQXFCLGVBQWU7UUFEMUUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNvQixlQUFVLEdBQVYsVUFBVSxDQUEwQjtJQUNqRixDQUFDO0lBRUosU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDckMsU0FBUyxDQUFDLENBQUMsS0FBa0IsRUFBRSxFQUFFO1lBQy9CLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDN0IsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7b0JBQ2QsVUFBVSxFQUFFO3dCQUNWLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUU7cUJBQ3BDO2lCQUNGLENBQUMsQ0FBQzthQUNKO1lBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsSUFBYyxXQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7cUhBdkJVLHVCQUF1QiwwQ0FHeEIsMEJBQTBCO3lIQUh6Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVTs7MEJBSU4sTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBOYkF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IE5CX0FVVEhfSU5URVJDRVBUT1JfSEVBREVSIH0gZnJvbSAnLi4vLi4vYXV0aC5vcHRpb25zJztcbmltcG9ydCB7IE5iQXV0aFRva2VuIH0gZnJvbSAnLi4vdG9rZW4vdG9rZW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmJBdXRoU2ltcGxlSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBASW5qZWN0KE5CX0FVVEhfSU5URVJDRVBUT1JfSEVBREVSKSBwcm90ZWN0ZWQgaGVhZGVyTmFtZTogc3RyaW5nID0gJ0F1dGhvcml6YXRpb24nLFxuICApIHt9XG5cbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4oKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh0b2tlbjogTmJBdXRoVG9rZW4pID0+IHtcbiAgICAgICAgaWYgKHRva2VuICYmIHRva2VuLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICByZXEgPSByZXEuY2xvbmUoe1xuICAgICAgICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICAgICAgICBbdGhpcy5oZWFkZXJOYW1lXTogdG9rZW4uZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBhdXRoU2VydmljZSgpOiBOYkF1dGhTZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoTmJBdXRoU2VydmljZSk7XG4gIH1cbn1cbiJdfQ==
\No newline at end of file