SUPPORT-8654: Fix
(cherry picked from commit 2797151d5ece7d9e31e66a291398f8e343bddab1)
This commit is contained in:
parent
60cbf11ab7
commit
1e78891957
1 changed files with 11 additions and 7 deletions
|
|
@ -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});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue