Предполагается, что пользователи являются анонимными:
Промежуточное ПО на маршрутах, чтобы проверить, являются ли они первым пользователем.
Если у пользователя еще нет токена, я бы создал JWT при открытии веб-сокета, который является уникальным идентификатором, и сохранил бы его как повар ie для каждого пользователя. В маршруте на стороне сервера, у меня будет промежуточное ПО, делающее проверку для первого пользователя. Если первого пользователя не существует, возьмите уникальный идентификатор и сохраните его. Если он существует, сравните токен, чтобы проверить, соответствует ли он.
Если пользователь не удалит токен, он все равно будет иметь доступ к странице по ссылке sh.