Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Melindungi Permintaan HTTP Sudut dan Mengendalikan CORS dalam 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!