Heim >Backend-Entwicklung >Golang >Wie sichert man Angular-HTTP-Anfragen und verarbeitet CORS in Go?
Verarbeitung von Autorisierungsheadern in Angular und Go
Um einen Autorisierungsheader zu Angular-HTTP-Anfragen hinzuzufügen, sollten Sie die Verwendung von HTTP-Interceptoren in Betracht ziehen. Sie ermöglichen das Hinzufügen von Headern zu jeder Anfrage, während Guards zum Routenschutz verwendet werden können.
Beispiel für einen Angular HTTP Interceptor:
// 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); } }
Registrieren Sie den Interceptor als Anbieter in 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 Konfiguration:
Stellen Sie in Go sicher, dass Ihre CORS-Konfiguration mit den vom Client gesendeten HTTP-Headern übereinstimmt. Erlauben Sie bei Bedarf alle Header:
headersOk := handlers.AllowedHeaders([]string{"*"}) originsOk := handlers.AllowedOrigins([]string{"*"}) methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
Überprüfen Sie die Header in Ihren Chrome-Entwicklertools und denken Sie darüber nach, Ihre CORS-Einstellungen sorgfältig neu zu konfigurieren, um sie an die Header des Clients anzupassen. Dadurch werden die CORS-Probleme behoben, die bei Ihnen auftreten.
Das obige ist der detaillierte Inhalt vonWie sichert man Angular-HTTP-Anfragen und verarbeitet CORS in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!