Heim >Backend-Entwicklung >Golang >Warum speichert mein Browser keine Cookies von Cross-Origin-Anfragen?
Problembeschreibung:
Eine React-Anwendung, die einen Go-Server verwendet stößt auf Schwierigkeiten beim Speichern eines in der Antwort auf die Anmeldeanfrage gesendeten Cookies, obwohl es erfolgreich gesetzt wurde. Das Cookie ist auf der Registerkarte „Netzwerk“ sichtbar, wird jedoch von den Browsern (Chrome und Firefox) nicht gespeichert.
Ursache und Lösung:
Nach weiterer Untersuchung ist es Es wurde festgestellt, dass es sich bei der fehlenden Zutat um das Flag „Anmeldeinformationen“ in der Abrufanforderung handelte. Durch die Einstellung von „Anmeldeinformationen: „include““ kann der Browser in der Antwort empfangene Cookies verarbeiten und speichern. Die korrigierte Abrufanforderung lautet:
fetch(`${url}/login`, { method: "POST", headers: { "Content-Type": "application/json", }, credentials: "include", // This here body: JSON.stringify({ email: userDetails.email, password: userDetails.password, }), }).then((response) => { ...
Zusätzliche Vorsichtsmaßnahmen:
Das obige ist der detaillierte Inhalt vonWarum speichert mein Browser keine Cookies von Cross-Origin-Anfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!