Heim >Backend-Entwicklung >Golang >So sichern Sie die Angular-Go-API-Kommunikation: Autorisierungsheader hinzufügen?

So sichern Sie die Angular-Go-API-Kommunikation: Autorisierungsheader hinzufügen?

Susan Sarandon
Susan SarandonOriginal
2024-12-16 04:13:17685Durchsuche

How to Secure Angular-Go API Communication:  Adding Authorization Headers?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn