Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Melindungi Permintaan HTTP Sudut dan Mengendalikan CORS dalam Go?

Bagaimana untuk Melindungi Permintaan HTTP Sudut dan Mengendalikan CORS dalam Go?

Patricia Arquette
Patricia Arquetteasal
2024-12-13 21:25:12299semak imbas

How to Secure Angular HTTP Requests and Handle CORS in Go?

Mengendalikan Pengepala Keizinan dalam Sudut dan Pergi

Untuk menambah pengepala Kebenaran pada permintaan HTTP Sudut, pertimbangkan untuk menggunakan Pemintas HTTP. Ia membenarkan anda menambah pengepala pada setiap permintaan, manakala Pengawal boleh digunakan untuk perlindungan laluan.

Contoh Pemintas HTTP Sudut:

// auth.interceptor.ts
import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { AuthService } from './auth.service';

@Injectable()
export class AuthInterceptor implements HttpInterceptor {
  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    req = req.clone({
      setHeaders: {
        'Content-Type': 'application/json; charset=utf-8',
        'Accept': 'application/json',
        'Authorization': `Bearer ${AuthService.getToken()}`,
      },
    });

    return next.handle(req);
  }
}

Daftarkan pemintas sebagai pembekal dalam app.module.ts:

// app.module.ts
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
import { AuthInterceptor } from '../auth/auth.interceptor';

...

imports: [
    HttpClientModule,
    ...
],
providers: [
    {
      provide: HTTP_INTERCEPTORS,
      useClass: AuthInterceptor,
      multi: true,
    },
    ...
],

...

Go CORS Konfigurasi:

Dalam Go, pastikan konfigurasi CORS anda sepadan dengan pengepala HTTP yang dihantar oleh klien. Jika perlu, benarkan semua pengepala:

headersOk := handlers.AllowedHeaders([]string{"*"})
originsOk := handlers.AllowedOrigins([]string{"*"})
methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})

Periksa pengepala dalam Alat Pembangun Chrome anda dan pertimbangkan untuk mengkonfigurasi semula tetapan CORS anda dengan teliti agar sejajar dengan pengepala pelanggan. Ini akan menyelesaikan isu CORS yang anda alami.

Atas ialah kandungan terperinci Bagaimana untuk Melindungi Permintaan HTTP Sudut dan Mengendalikan CORS dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn