我正在创建一个 session ,在创建 session /cookie 后它立即消失
session, err := r.Cookie("session-id")
if err != nil {
session = &http.Cookie{
Name: "session-id",
Value: sessionID.String(), //uuid
MaxAge: 0,
}
http.SetCookie(w, session)
}
我不确定它是否被删除,但在创建 cookie 的那一刻,它会立即从 google chrome(应用程序/cookies)中消失。这是一个问题,因为我在转到另一条路径时无法检测到 cookie。
最佳答案
This is a problem because I can't detect the cookie when going to another path.
如果在 set cookie 响应头中没有设置 path 参数,则客户端将 cookie 的路径设置为请求路径。只有当 cookie 的路径是请求路径的路径前缀时,客户端才会向服务器发送 cookie。
要使 cookie 可用于所有路径,请将路径设置为“/”。
session = &http.Cookie{
Name: "session-id",
Value: sessionID.String(), //uuid
Path: "/",
}
(因为整数的零值是 0,所以不需要指定 MaxAge 值)。
关于go - Cookie 创建后删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59123909/