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); } }
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, }, ], ...
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"})
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!