То, как я это делаю, - это аутентификация один раз при входе в систему и создание токена аутентификации на стороне сервера. На сервере я сопоставляю токен с данными пользователя и присоединяю только имя пользователя к объекту сокета. Я отправляю токен клиенту только один раз в ответ на вход. Затем в любое событие, для которого вы хотите проверить личность пользователя (читай: почти все события), вы отправляете токен вместе с ним и проверяете пользователя на стороне сервера на основе токена и имени пользователя, прикрепленного к объекту сокета, получающего сообщение.
Обратите внимание, что, хотя JWT, безусловно, является одним стандартом, при использовании этого подхода вам не нужен какой-либо конкретный формат токенов. Вам просто нужен уникальный идентификатор некоторого рода в качестве токена, поэтому даже 5-символьный случайный (но уникальный!) Токен должен подойти, не оставляя лишних раздутий в ваших сообщениях.