import {Injectable} from "@angular/core"; import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from "@angular/common/http"; import {Observable} from "rxjs"; import {UserService} from "./user.service"; @Injectable({ providedIn: 'root' }) export class TokenInterceptor implements HttpInterceptor { constructor(private userService: UserService) { } intercept( request: HttpRequest, next: HttpHandler ): Observable> { if (this.userService.isLoggedIn()) { let newRequest = request.clone({ setHeaders: { Authorization: `Bearer ${this.userService.getUser()?.accessToken}`, }, }); return next.handle(newRequest); } return next.handle(request); } }