Heim > Artikel > Backend-Entwicklung > Der Browser hat das Cookie nicht gespeichert
php-Editor Youzi ist hier, um Ihnen ein häufiges Problem vorzustellen – der Browser speichert keine Cookies. Wenn wir täglich Browser verwenden, um auf Webseiten zuzugreifen, sind Cookies ein gängiger Mechanismus, der Websites dabei helfen kann, sich den Anmeldestatus des Benutzers, personalisierte Einstellungen und andere Informationen zu merken. Allerdings stoßen wir manchmal auf Probleme, wie zum Beispiel, dass der Browser keine Cookies speichert, was dazu führt, dass der Anmeldestatus verloren geht und wir nicht normal im Internet surfen können. Warum passiert das? Lass es uns gemeinsam erkunden!
Versucht 15648070,15648070 leider ohne Erfolg :)
Hallo, ich verwende Gin zum ersten Mal zum Erstellen einer API und bin beim Setzen von Cookies im Browser auf einige Probleme gestoßen
Ich meine, als ich unter der Registerkarte dev 工具
上查看请求时,我看到了 set-cookie
标头和正确的值,也在该请求中的 cookie
auch Cookies gesehen habe
Das Hauptproblem besteht darin, dass es nicht in meinem Browser gespeichert wird (dev工具
-> application
-> storage
-> cookies
und meine Cookies nicht existieren)
Backend:
router.use(cors.new(cors.config{ allowmethods: []string{"get", "post", "put", "patch", "delete", "head", "options"}, allowheaders: []string{"origin", "content-length", "content-type"}, maxage: 12 * time.hour, allowallorigins: true, allowcredentials: true, })) router.post("/users/login", server.loginuser)
func (server *server) loginuser(ctx *gin.context) { ... ctx.setcookie("access_token", accesstoken, 3600, "/", "localhost", false, true) ctx.setcookie("refresh_token", refreshtoken, 3600, "/", "localhost", false, true) ctx.json(http.statusok, gin.h{"ok": true, "payload": rsps}) }
Frontend:
const login = async () => { const res = await fetch("http://localhost:3000/users/login", { method: "POST", body: JSON.stringify({ username, password }), }); const data = await res.json(); console.log(data); }; const handleFormSubmit = (e) => { e.preventDefault(); login(); }; return ( <div> <h1>Login Page</h1> <form onSubmit={handleFormSubmit}> ... <button type="submit">Login</button> </form> </div> );
Irgendwelche Hinweise?
(Danke Discord
上的 #Reactiflux
Kanal)
Ich habe zwei Dinge verpasst..
Serverseite:
AllowHeaders
headers -> 添加 "Access-Control-Allow-Headers", "Authorization"
Fügen Sie AllowOriginFunc
-> 意味着不允许 *
anstelle einer bestimmten Domain hinzu
Frontend:
withCredentials: true
添加到我的 axios
Das obige ist der detaillierte Inhalt vonDer Browser hat das Cookie nicht gespeichert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!