@Nube

Как работать с сессиями используя websocket?

Добрый день! Мне нужно сохранить/создать сессию после успешной авторизации, но проблема в том что после того как я обновлю http соединение до websocket я не могу использовать (w http.ResponseWriter, r *http.Request) для сохранение сессии.
session.Values["authenticated"] = true
	session.Save(r, w)

Для работы с сессиями я использую пакет gorilla/sessions
Итого я обновляю соединение до WS , получаю логин и пароль,если все верно то сохраняю сессию. Но использовать ResponseWriter и Request уже не могу.
Как можно выйти из этой ситуации, может есть другой способ запоминать клиента отлично подходящий для WebSocket технологии ?
  • Вопрос задан
  • 594 просмотра
Пригласить эксперта
Ответы на вопрос 1
uvelichitel
@uvelichitel Куратор тега Go
habrahabr.ru/users/uvelichitel
Сессия это надстройка над http протоколом запрос-ответ сделанная для эмуляции постоянного соединения с поддержкой состояния. Websocket это постоянное соединение сам по себе, ему не нужна сессия.
На мой взгляд, создавайте и сохраняйте сессию на уровне http(если она вам нужна) и в рамках этой сессии делайте запрос поднять протокол до websocket.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы