@OneTwoThreeFourFive

Авторизация пользователя на websocket?

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

Если я сгенерирую токен и сохраню его в базу данных при переходе на нужную страницу (где подключение к websocket) и после передам этот токен на клиент, а потом передам в url параметр подключения к websocket, а потом проверю этот токен в базе данных. Если токен правильный, то удалить его (чтобы больше им не пользовались) и подключить пользователя (и передавать данные в этом подключении). Если пользователь открывает эту же страницу ещё раз (2 в браузере), то открывается новое подключение уже с новым токеном (просто уточнил почему можно удалить токен).

В данный момент данные пользователя передаваемые по websocket не конфиденциальные, но и не видны другим пользователям, если их кто-то другой получит, то они бесполезные.

Нормально ли так делать или есть решение лучше?
Как вы делаете авторизацию на websocket?

И вопрос про безопасность токенов вообще. Возможно ли перехватить токен пока он идёт от сервера к клиенту, расшифровать (если есть ssl) и подключиться до того, как пользователь начнёт подключение? Если это атака на конкретного пользователя? Может это бред и так это не работает?

Я ещё плохо разбираюсь в сетях и безопасности, если у вас есть хорошие статьи об этом, то скиньте их, пожалуйста.
  • Вопрос задан
  • 295 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы