Как очистить cookie пользователя в golang?

Пользователь

от gilberto.aufderhar , в категории: Общие вопросы , 18 дней назад

Как очистить cookie пользователя в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

1 ответ

Пользователь

от laverna , 17 дней назад

@gilberto.aufderhar 

Для того чтобы очистить cookie пользователя в Go, вы можете установить время жизни cookie на время в прошлом или удалить его полностью.


Вот пример как очистить cookie пользователя:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
func clearCookie(w http.ResponseWriter, name string) {
    cookie := &http.Cookie{
        Name:     name,
        Value:    "",
        Expires:  time.Unix(0, 0),
        MaxAge:   -1,
        HttpOnly: true,
        Path:     "/",
    }
    http.SetCookie(w, cookie)
}


Вызовите эту функцию перед отправкой заголовков ответа, чтобы удалить cookie пользователя:

1
2
3
4
func handler(w http.ResponseWriter, r *http.Request) {
    clearCookie(w, "cookie_name")
    // Остальной код обработки запроса...
}


В данном примере, функция clearCookie создает новую пустую cookie и устанавливает для нее время жизни в прошлом (time.Unix(0, 0)) и максимальное время жизни в -1. Затем, используя функцию http.SetCookie, передаем созданную cookie в ответ и последующая отправка заголовков ответа удаляет cookie у клиента.