Echo没有清除会话

时间:2018-01-01 05:34:25

标签: session go echo-framework

我正在使用Echo作为我的网络应用程序。我试图实现登录和注销。当我尝试注销时,它没有清除会话。这是我的代码:

func Logout(c echo.Context) error {
    sess, _ := session.Get("session", c)
    sess.Options = &sessions.Options{
        Path:     "/",
        MaxAge:   -1,
        HttpOnly: true,
    }
    sess.Values["username"] = ""
    sess.Values["authenticated"] = ""
    sess.Save(c.Request(), c.Response())
    return c.Redirect(http.StatusSeeOther, "/")
}

注销后我检查了会话值,没有更改或清除任何内容。我正在使用这些包进行会话管理:

"github.com/labstack/echo-contrib/session"
"github.com/gorilla/sessions"

1 个答案:

答案 0 :(得分:0)

问题出在客户端。当cookie的域是localhost时,浏览器会在重定向响应中忽略Set-Cookie。所以我必须使用127.0.0.1而不是localhost。