Maison > développement back-end > Golang > Pourquoi mes cookies HTTPOnly ne sont-ils pas définis dans le navigateur sur Localhost ?

Pourquoi mes cookies HTTPOnly ne sont-ils pas définis dans le navigateur sur Localhost ?

Susan Sarandon
Libérer: 2024-11-18 19:55:02
original
176 Les gens l'ont consulté

Why Aren't My HTTPOnly Cookies Setting in the Browser on Localhost?

Cookie HTTP uniquement non défini dans le navigateur sur Localhost

Problème :

Dans une API REST avec un point de terminaison de connexion qui génère un cookie HTTPOnly, le cookie n'était plus défini dans le navigateur, même si les requêtes POST via Le facteur a fonctionné correctement. Ce problème s'est produit malgré l'utilisation d'approches qui fonctionnaient auparavant.

Approches utilisées :

  • Création d'une implémentation Go minimale de l'API REST.
  • Création d'une implémentation Node à l'aide d'Express et axios.
  • Analyse des réponses d'en-tête et test des code frontal.

Résultats :

  • Les API Go et Node ont toutes deux envoyé le cookie HTTPOnly dans leurs en-têtes de réponse.
  • Cependant, les cookies n'étaient pas installés dans les navigateurs testé.

Solution :

Le problème venait du JavaScript côté client (méthode fetch()). En ajoutant l'option 'credentials: "include"' à l'objet RequestInit, le navigateur était autorisé à envoyer et à recevoir des cookies avec la demande. Ceci est nécessaire pour que les cookies HTTPOnly soient définis dans le navigateur.

Informations supplémentaires :

  • Axios définit automatiquement l'option « informations d'identification : « inclure » ».
  • Si vous utilisez Axios, 'withCredentials: true' doit être inclus dans le troisième argument de configuration de la requête pour activer le paramètre de cookie du navigateur.

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