Heim  >  Artikel  >  Backend-Entwicklung  >  Warum speichert mein Browser keine Cookies von meinem Go-Backend, es sei denn, ich gebe „Anmeldeinformationen: „include'' an?

Warum speichert mein Browser keine Cookies von meinem Go-Backend, es sei denn, ich gebe „Anmeldeinformationen: „include'' an?

Susan Sarandon
Susan SarandonOriginal
2024-11-24 10:48:10728Durchsuche

Why Doesn't My Browser Save Cookies from My Go Backend Unless I Specify `credentials:

Browser kann Cookie nicht beibehalten

Bei dem Versuch, eine React-Anwendung mit einem Go-Backend zu erstellen, wird bei der Antwort einer Anfrage unter Verwendung von http.cookie ein Cookie gesetzt . Trotzdem kann der Browser das Cookie weiterhin nicht speichern. Dieses Problem ist sowohl in Chrome als auch in Firefox aufgetreten.

Bei näherer Betrachtung wurde festgestellt, dass das Attribut „Anmeldeinformationen“ in der Fetch-API-Anfrage fehlt, die eine Antwort mit einem Cookie erwartet. Durch die Einbindung von „Credentials: „include““ in die Anfrage kann der Browser das aus der Antwort erhaltene Cookie speichern.

fetch(`${url}/login`, {
                method: "POST",
                headers: {
                    "Content-Type": "application/json",
                },
                credentials: "include", // Added parameter
                body: JSON.stringify({
                    email: userDetails.email,
                    password: userDetails.password,
                }),
            }).then((response) => { ...

Diese Offenbarung unterstreicht die Bedeutung der Einstellung von „Credentials“ auf „include“. Anfragen, die Cookies in der Antwort erwarten. Das Fehlen dieses Attributs verhindert, dass der Browser das Cookie speichert, was zu dem oben genannten Problem führt.

Das obige ist der detaillierte Inhalt vonWarum speichert mein Browser keine Cookies von meinem Go-Backend, es sei denn, ich gebe „Anmeldeinformationen: „include'' an?. 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