N
N
Nube2018-07-16 11:03:34
go
Nube, 2018-07-16 11:03:34

How to work with sessions using websocket?

Good afternoon! I need to save/create a session after a successful authorization, but the problem is that after I update the http connection to a websocket I can't use (w http.ResponseWriter, r *http.Request) to save the session.

session.Values["authenticated"] = true
  session.Save(r, w)

Для работы с сессиями я использую пакет gorilla/sessions
Итого я обновляю соединение до WS , получаю логин и пароль,если все верно то сохраняю сессию. Но использовать ResponseWriter и Request уже не могу.
Как можно выйти из этой ситуации, может есть другой способ запоминать клиента отлично подходящий для WebSocket технологии ?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
U
uvelichitel, 2018-07-16
@uvelichitel Куратор тега Go

Сессия это надстройка над http протоколом запрос-ответ сделанная для эмуляции постоянного соединения с поддержкой состояния. Websocket это постоянное соединение сам по себе, ему не нужна сессия.
На мой взгляд, создавайте и сохраняйте сессию на уровне http(если она вам нужна) и в рамках этой сессии делайте запрос поднять протокол до websocket.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question