Heim  >  Artikel  >  Backend-Entwicklung  >  Warum sind meine HTTPOnly-Cookies nicht auf Localhost eingestellt?

Warum sind meine HTTPOnly-Cookies nicht auf Localhost eingestellt?

Barbara Streisand
Barbara StreisandOriginal
2024-11-18 08:14:02384Durchsuche

Why Aren't My HTTPOnly Cookies Setting on Localhost?

HTTPOnly-Cookie wird nicht im Browser-Localhost gesetzt

Problem:

Ein REST-API-Endpunkt, der ein HTTPOnly-Cookie setzt, ist Funktioniert in Localhost-Browsern nicht richtig.

Ansätze Verwendet:

  • Eine minimale Go- und Node.js-API erstellt, um das Problem zu reproduzieren.
  • Die API wurde in Postman getestet, wo das Cookie erfolgreich gesetzt wurde.

Lösung:

Das Problem liegt in den Frontend-JavaScripts fetch()-Methode. Um HTTPOnly-Cookies in lokalen Browserumgebungen zu empfangen, müssen Sie die Option credentials: „include“ in das RequestInit-Objekt einbinden.

let response = await fetch(`http://localhost:8000/login`, {
  method: "POST",
  credentials: "include", //--> send/receive cookies
  body: JSON.stringify({
    email,
  }),
  headers: {
    "Content-Type": "application/json",
  },
});

Für Axios können Sie die Cookie-Verarbeitung aktivieren, indem Sie in der dritten Konfiguration „withCredentials: true“ festlegen Argument.

Das obige ist der detaillierte Inhalt vonWarum sind meine HTTPOnly-Cookies nicht auf Localhost eingestellt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn