socket.io аутентификация после установки сокета
Я работаю над небольшой многопользовательской игрой. Я хотел бы ввести аутентификацию. Я использую Node.js и Socket.io.
Когда пользователь придет на главную страницу - я хочу, чтобы он присоединился к игре, независимо от того, вошли они в систему или нет, - но они не смогут что-либо делать в ней (только смотреть).
Как я мог тогда пройти аутентификацию пользователя на уже открытом сокете?
Могу ли я сохранить аутентификацию, если они покинули сайт и вернулись? Можете ли вы пропустить cookie через веб-сокет?
РЕДАКТИРОВАТЬ
Для дальнейшего моего вопроса. Одна из возможных мыслей, которые у меня были, - предоставить соединение с веб-сокетом, а затем, когда они пытаются войти в систему, он передает имя пользователя и пароль в виде сообщения в веб-сокет.
client.on('onLogin', loginfunction);
Затем я мог бы взять имя пользователя и пароль, проверить базу данных, затем взять идентификатор сеанса сокета и передать его куда-нибудь, чтобы сказать, что сеанс аутентифицирован для этого пользователя.
Это безопасно? Могу ли я применить cookie в сокете, чтобы они могли вернуться? Есть ли способ в socket.io заявить, что сокет теперь аутентифицирован вместо ручной проверки каждого полученного сообщения?
ура