зачем?
почему вдруг перебор user_id должен на что-то влият, почему вдруг знание user_id позволит подключиться под этим юзером?
не нужно упрощать jwt, нужно либо его использовать, либо нет.
потому что session_id должен быть привязан к id пользователя, это как бы основы. По session_id сервер восстанавливает user_id. Ну и сразу не нужно гонять session_id по вебсокету, его достаточно использовать в самом начале, при создании коннекта.
а в jwt обычно прописывают user_id, поменять ты его не сможешь, токен будет невалидныйДа, я знаю про jwt, в моём случае используя собственные знания - я еще более упростил эту задачу и получаю результат, как если бы я использовать jwt. В моем случае - все данные находятся в зашифрованном виде, и расшифровывать их может только бэк. В случае невозможности расшифровки - запрос отбрасывается на страницу авторизации. В случае даже гипотетического перехвата этого ключа, при попытке открыть /app - перекидывает на /one, т.к. в зашифрованном виде есть некий reload, который не позволит второй раз открыть страницу.
Ну и сразу не нужно гонять session_id по вебсокету, его достаточно использовать в самом начале, при создании коннекта.
Достаточно сразу коннетиться к вебсокет, а на сервере разрешить только один коннект от телеграм id
как это вообще связанно с для масштабируемостью?
А зачем эти one, two, бессмысленное шифрование, какой-то непонятный набор действий
ws это протокол. Никакой защиты у вебсокета по умолчанию нет. Вся защита может быть выстроена на стороне сервера, ну либо по глупости разработчика, можно выстроить защитные механизмы на клиентской стороне. И всю валидацию отдать клиенту.
Есть страница сайта. Есть ws сервер. Это две отдельно стоящие сущности, которые в частности друг от друга никак не зависят. Сайт откроется (но на нём не будет части данных без WS). WS примет connect даже если сайт не работает (к ws же можно подключиться не только с определенного сайта, а откуда угодно, можно сделать подключения к ws на своей странице, или клиентом WS сделать подключение, да даже в консоли браузера на blank:page можно написать скрипт для подключения к любому ws серверу).
Я перечитал весь диалог, и вижу один сценарий, который вероятны Вы и подразумеваете.
1) Открывается mini app (по сути страница сайта)
2) Идет проверка initdata пользователя ТГ
3) Если проверка подтверждает что пользователь из телеги, только после этого открываем ws соединение с ws сервером. В момент открытия соединения, клиент передает дополнительный payload в виде ID пользователя telegram
4) ws сервер привязывает id сессии к id пользователя, далее id пользователя не требуется.
5) Если происходит отвал соединения или обновление страницы, мы заново идентифицируем пользователя и связываем id пользователя с id сессии.
Я верно Вашу идею понял?