import { Injectable } from "@angular/core"; import { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from "@angular/common/http"; import { Observable } from "rxjs"; import { AuthenticationService } from "../services/authentication.service"; @Injectable() export class BasicAuthInterceptor implements HttpInterceptor { constructor(private authenticationService: AuthenticationService) {} intercept( request: HttpRequest, next: HttpHandler ): Observable> { // add authorization header with basic auth credentials if available const currentUser = this.authenticationService.currentUserValue; if (currentUser && currentUser.authdata) { request = request.clone({ setHeaders: { Authorization: `Basic ${currentUser.authdata}` } }); } return next.handle(request); } }