Maison > développement back-end > Golang > Comment sécuriser la communication de l'API Angular-Go : ajouter des en-têtes d'autorisation ?

Comment sécuriser la communication de l'API Angular-Go : ajouter des en-têtes d'autorisation ?

Susan Sarandon
Libérer: 2024-12-16 04:13:17
original
760 Les gens l'ont consulté

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

Comment ajouter un en-tête d'autorisation aux requêtes HTTP angulaires

Lorsque vous essayez de connecter une application angulaire à une API Go, il est essentiel d'inclure l'autorisation en-têtes dans les requêtes HTTP. Cela sécurise la communication entre le client et le serveur. Ce qui suit montre comment y parvenir :

Implémentation angulaire :

Dans Angular 4 et versions ultérieures, il est recommandé d'utiliser des intercepteurs HTTP pour appliquer les en-têtes d'autorisation de manière cohérente aux requêtes. Voici un exemple d'intercepteur :

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);
  }
}
Copier après la connexion

Cet intercepteur peut être enregistré dans le module Angular :

import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';

...
providers: [
    {
      provide: HTTP_INTERCEPTORS,
      useClass: AuthInterceptor,
      multi: true,
    },
],
...
Copier après la connexion

Implémentation Go :

Dans Go, les en-têtes CORS doivent correspondre à ceux envoyés par l'application Angular. Pour autoriser tous les en-têtes, utilisez ce qui suit :

headersOk := handlers.AllowedHeaders([]string{"*"})
originsOk := handlers.AllowedOrigins([]string{"*"})
methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
Copier après la connexion

Vous pouvez également définir soigneusement les en-têtes autorisés.

Une fois ces étapes effectuées, les en-têtes d'autorisation doivent être transmis et acceptés avec succès, permettant ainsi à communication entre Angular et Go.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal