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
Libérer: 2024-12-13 21:25:12
original
356 Les gens l'ont consulté

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

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,
    },
    ...
],

...
Copier après la connexion

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

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!

source:php.cn
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