auth-interceptor.ts 777 B

123456789101112131415161718192021222324
  1. import {Injectable} from '@angular/core';
  2. import {HTTP_INTERCEPTORS, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';
  3. import {TokenStorageService} from './token-storage.service';
  4. const TOKEN_HEADER_KEY = 'Authorization';
  5. @Injectable()
  6. export class AuthInterceptor implements HttpInterceptor {
  7. constructor(private token: TokenStorageService) { }
  8. intercept(req: HttpRequest<any>, next: HttpHandler) {
  9. let authReq = req;
  10. const token = this.token.getToken();
  11. if (token != null) {
  12. authReq = req.clone({ headers: req.headers.set(TOKEN_HEADER_KEY, 'Bearer ' + token) });
  13. }
  14. return next.handle(authReq);
  15. }
  16. }
  17. export const httpInterceptorProviders = [
  18. { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }
  19. ];