go - Cookie 创建后删除?

标签 go cookies session-cookies

我正在创建一个 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/

相关文章:

php - 无法通过PHP shell_exec在Apache下运行go二进制文件

php - 为什么 setcookie 在服务器上不起作用?

php - 从主域为子域设置 cookie

javascript - Web 应用程序中的跨浏览器 session

go - GCP IoT Core 拒绝此 RSA_PEM 公钥并出错

regex - 替换字符串中除最后 4 个字符外的所有字符

go - 在 Go 中声明类型时的方法歧义

apache - 协议(protocol)从 https 切换到 http 时出现 Cookie 和 Session id 问题

php - Symfony 1.4 cookie 问题

java - 如何从管理面板使所有用户的 session 过期