現在、次のCookie
を使用してHTTPInterceptor
ヘッダーを設定しようとしています。
@Injectable()
export class TokenInterceptor implements HttpInterceptor {
constructor(private cookieService: CookieService ) {}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
request = request.clone({
setHeaders: {
'Cookie': 'session=' + this.cookieService.get('session'),
'withCredentials': 'true',
}
});
return next.handle(request);
}
}
Cookie
を設定しようとすると、次のエラーが発生します。
安全でないヘッダー「Cookie」の設定を拒否しました
ローカルのFlask
APIにリクエストを送信しています。
here のようにHTTPHeaders
を使用してヘッダーを手動で設定しようとしました。また、xhr2.prototype._restrictedHeaders.cookie = false;
show here を設定しようとしました。すべて無駄に。クッキーを設定する方法はありますか?
だから私は私の質問の解決策を見つけました、うまくいけばこれは同じ問題を持つ他の人を助けるでしょう。 withCredentials
を間違って設定していたことが判明したため、次のように設定する必要があります。
@Injectable()
export class TokenInterceptor implements HttpInterceptor {
constructor(private cookieService: CookieService ) {}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
request = request.clone({
withCredentials: true,
});
return next.handle(request);
}
}
このように設定すると、 angular は自動的に関連するCookieを見つけて、リクエストとともに送信します