SUPPORT-8654: Fix

(cherry picked from commit 2797151d5ece7d9e31e66a291398f8e343bddab1)
This commit is contained in:
Eduard Tihomirov 2024-11-13 11:29:29 +03:00
parent 60cbf11ab7
commit 1e78891957

View file

@ -1,23 +1,27 @@
import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';
import {
HttpEvent,
HttpHandler,
HttpInterceptor,
HttpRequest,
HttpXsrfTokenExtractor
} from '@angular/common/http';
import {Injectable} from '@angular/core';
import {Observable} from 'rxjs';
import {CookieService} from "ngx-cookie";
import {TokenConstants} from "../../security/TokenConstants";
@Injectable()
export class AbsoluteUrlCsrfInterceptor implements HttpInterceptor {
constructor(private cookieService: CookieService) {
constructor(private extractor: HttpXsrfTokenExtractor) {
}
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
let requestToForward = req;
let token = this.cookieService.get(TokenConstants.CSRF_TOKEN_NAME) as string;
if (token != null) {
let headers = {};
let token = this.extractor.getToken();
let headerName = TokenConstants.CSRF_HEADER_NAME;
if (token != null && !req.headers.has(headerName)) {
let headers = {};
headers[headerName] = token;
requestToForward = req.clone({setHeaders: headers});
}