So fügen Sie Angular-HTTP-Anfragen einen Autorisierungsheader hinzu
Beim Versuch, eine Angular-Anwendung mit einer Go-API zu verbinden, ist es wichtig, die Autorisierung einzubeziehen Header in den HTTP-Anfragen. Dies sichert die Kommunikation zwischen Client und Server. Im Folgenden wird gezeigt, wie dies erreicht wird:
Angular-Implementierung:
In Angular 4 und höher wird die Verwendung von HTTP-Interceptoren empfohlen, um Autorisierungsheader konsistent auf Anfragen anzuwenden. Hier ist ein Beispiel für einen Interceptor:
import { Injectable } from '@angular/core'; import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; import { Observable } from 'rxjs'; import { AuthService } from './auth.service'; @Injectable() export class AuthInterceptor implements HttpInterceptor { intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { req = req.clone({ setHeaders: { Authorization: `Bearer ${AuthService.getToken()}`, }, }); return next.handle(req); } }
Dieser Interceptor kann im Angular-Modul registriert werden:
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; ... providers: [ { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true, }, ], ...
Go-Implementierung:
In Go müssen CORS-Header mit denen übereinstimmen, die von der Angular-Anwendung gesendet werden. Um alle Header zuzulassen, verwenden Sie Folgendes:
headersOk := handlers.AllowedHeaders([]string{"*"}) originsOk := handlers.AllowedOrigins([]string{"*"}) methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
Alternativ definieren Sie sorgfältig die zulässigen Header.
Sobald diese Schritte ausgeführt wurden, sollten Autorisierungsheader erfolgreich übertragen und akzeptiert werden, wodurch die aktiviert wird Kommunikation zwischen Angular und Go.
Das obige ist der detaillierte Inhalt vonSo sichern Sie die Angular-Go-API-Kommunikation: Autorisierungsheader hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!