Как отлавливать уникального пользователя в socket.io?
Разрабатываю картишки (для подтягивания навыков) для двух игроков.
Юзер подключается и там сервер что то его опознает, чтобы емитить только по нему. Но когда юзер обновляет страницу, то он снова подключается и сокет признает его за нового юзера.
Что делать? Как хранить конкретного чувака? Восстанавливать данные, которые были сделаны им?
Введи регистрацию и после логина выдавай пользователю токен, который будет послан в WS при подключении, например, соответствующим сообщением {"action":"authenticate", "token":"dsdsfsdfsdfsdfsdfs"}
Регистрация не нужна конечно, тестовый проект для себя.
Но допустим, собственно, а что если токен подделать? Или мне где то базу токенов хранить, чтоб проверять это?
Albert Kazan, конечно хранить и проверять. Даже если это пет-проект то чтоит так делать. Но если хочешь простоты то просто генерируй Cookies с определенным именем и не мучайся
Albert Kazan, на сервере ассоциируете соединение с этим сферическим токенов в вакууме. Можете посмотреть примеры в документации socket.iom там было. И когда надо кому-то отправить сообщение то получаете все его соединения (он может сидеть в нескольких вкладках, например) и слать во все сразу одно и то же сообщение
Albert Kazan, можно JWT-токены использовать, их подделать невозможно (если подписаны правильно), но при возможности перехвата трафика можно перехватить и выдать за свой.