Эхо не очищает сессию
Я использую 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 ответ
Решение
Проблема в клиентской части. Браузеры игнорируют Set-Cookie в ответе на перенаправление, когда доменом cookie является localhost. Поэтому я должен использовать 127.0.0.1 вместо localhost.