Maison > développement back-end > Golang > Comment ajouter des en-têtes d'autorisation aux requêtes HTTP angulaires et résoudre les problèmes CORS ?

Comment ajouter des en-têtes d'autorisation aux requêtes HTTP angulaires et résoudre les problèmes CORS ?

Linda Hamilton
Libérer: 2024-12-14 19:47:14
original
513 Les gens l'ont consulté

How to Add Authorization Headers to Angular HTTP Requests and Resolve CORS Issues?

Ajouter un en-tête d'autorisation à une requête HTTP angulaire

Énoncé du problème :

Tentative d'ajout d'un en-tête d'autorisation à un HTTP angulaire demande, mais réception d'un "Aucun en-tête 'Access-Control-Allow-Origin' n'est présent sur la ressource demandée" erreur.

Solution :

Dans les applications angulaires, les intercepteurs HTTP sont recommandés pour gérer les en-têtes d'authentification. Les gardes peuvent compléter cette approche pour la protection des routes.

Mise en œuvre d'intercepteurs d'authentification :

  1. Créer un fichier d'intercepteur : (par exemple, auth.interceptor.ts)
import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { AuthService } from './auth.service';

@Injectable()
export class AuthInterceptor implements HttpInterceptor {
  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    if (AuthService.isLoggedIn()) {
      const token = AuthService.getToken();
      req = req.clone({
        setHeaders: {
          'Content-Type': 'application/json',
          'Accept': 'application/json',
          'Authorization': `Bearer ${token}`,
        },
      });
    }
    return next.handle(req);
  }
}
Copier après la connexion
  1. Enregistrer l'intercepteur dans le module d'application :
import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { AuthInterceptor } from './auth/auth.interceptor';

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

Concernant Go Requête HTTP :

L'erreur suggère une incompatibilité potentielle entre les en-têtes de requête et CORS configuration. Implémentez les étapes suivantes :

  1. Autoriser tous les en-têtes en définissant le paramètre middleware AllowedHeaders sur * :
headersOk := handlers.AllowedHeaders([]string{"*"})
Copier après la connexion
  1. Configurer de manière itérative les paramètres CORS pour qu'ils correspondent aux en-têtes envoyés par le client Angular.

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