限制API请求标头中的cookie

问题描述 投票:0回答:1

我正在开发一个具有以下堆栈的应用程序

前端 - Angular 后端-JAVA Springboot

这两个应用程序都托管在同一域中。

当我登录应用程序时,存储在域中的 cookie 将被发送到请求标头。但是,我没有明确地将任何 cookie 发送到 header。浏览器正在将此 cookie 发送到 API。我尝试了多种方法来限制前端代码中的 cookie。但所有解决方案都不起作用。

有什么方法可以限制 Angular 在请求标头中发送 cookie 吗?

我尝试过多种方法

  1. 在 Angular HTTP 拦截器中使用 withCredential: false 方法限制 cookie。
  2. 尝试使用 Service Worker 文件限制它。
javascript java angular angular-httpclient angular-http-interceptors
1个回答
0
投票

第 1 步:导入

HttpClientModule

import { HttpClientModule } from '@angular/common/http';

@NgModule({
  imports: [
    HttpClientModule,
    // other imports
  ],
  // ...
})
export class AppModule {}

第 2 步:在 HTTP 请求中配置

withCredentials

import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root'
})
export class ApiService {

  constructor(private http: HttpClient) {}

  getData() {
    return this.http.get('https://example.com/api/data', {
      withCredentials: false // Disable cookies
    });
  }

  postData(data: any) {
    return this.http.post('https://example.com/api/data', data, {
      withCredentials: false // Disable cookies
    });
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.