Maison >développement back-end >Golang >Comment sécuriser les requêtes HTTP angulaires et gérer CORS dans Go ?

Comment sécuriser les requêtes HTTP angulaires et gérer CORS dans Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-13 21:25:12296parcourir

How to Secure Angular HTTP Requests and Handle CORS in Go?

Gestion des en-têtes d'autorisation dans Angular et Go

Pour ajouter un en-tête d'autorisation aux requêtes HTTP angulaires, envisagez d'utiliser des intercepteurs HTTP. Ils vous permettent d'ajouter des en-têtes à chaque requête, tandis que les Guards peuvent être utilisés pour la protection de la route.

Exemple d'intercepteur HTTP angulaire :

// 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);
  }
}

Enregistrez l'intercepteur en tant qu'intercepteur fournisseur dans 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 Configuration :

Dans Go, assurez-vous que votre configuration CORS correspond aux en-têtes HTTP envoyés par le client. Si nécessaire, autorisez tous les en-têtes :

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

Inspectez les en-têtes dans vos outils de développement Chrome et envisagez de reconfigurer soigneusement vos paramètres CORS pour les aligner sur les en-têtes du client. Cela résoudra les problèmes CORS que vous rencontrez.

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:
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