Problemstellung:
Versuch, einem Angular-HTTP einen Autorisierungsheader hinzuzufügen Anfrage, aber es wird die Fehlermeldung „Auf der angeforderten Ressource ist kein ‚Access-Control-Allow-Origin‘-Header vorhanden“ angezeigt. Fehler.
Lösung:
In Angular-Anwendungen werden HTTP-Interceptoren für die Verwaltung von Authentifizierungsheadern empfohlen. Guards können diesen Ansatz für den Routenschutz ergänzen.
Authentifizierungs-Interceptors implementieren:
import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { AuthService } from './auth.service'; @Injectable() export class AuthInterceptor implements HttpInterceptor { intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { if (AuthService.isLoggedIn()) { const token = AuthService.getToken(); req = req.clone({ setHeaders: { 'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': `Bearer ${token}`, }, }); } return next.handle(req); } }
import { HTTP_INTERCEPTORS } from '@angular/common/http'; import { AuthInterceptor } from './auth/auth.interceptor'; ... providers: [ { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true, }, ... ], ...
Bezüglich Go HTTP-Anfrage:
Der Fehler deutet auf eine mögliche Nichtübereinstimmung zwischen den Anforderungsheadern und hin CORS-Konfiguration. Implementieren Sie die folgenden Schritte:
headersOk := handlers.AllowedHeaders([]string{"*"})
Das obige ist der detaillierte Inhalt vonWie füge ich Autorisierungsheader zu Angular-HTTP-Anfragen hinzu und löse CORS-Probleme?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!