Merge branch 'feateure/SUPPORT-8653_fixes' of 10.10.31.70:/ervu-lkrp-fl into feateure/SUPPORT-8653_fixes

This commit is contained in:
kochetkov 2024-11-13 13:07:54 +03:00
commit e159d47baa

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