Node.js - верификация пользователей

На node.js сервере есть база данных пользователей с их статичным идентификатором. Через клиентское приложение пользователь совершает подключение к этому серверу через сокеты с отправкой в качестве токена того самого идентификатора. Далее, на сервере, происходит сверка идентификатора между отправленным клиентом, и тем, что есть в базе. Если совпадает - сокет клиента пропускает.

При такой схеме на стороне клиента возможна подмена идентификатора, сразу пришло решение - шифровать идентификатор через секретку на стороне сервера, секретку обновлять через определенное кол-во времени, но как в таком случае быть клиенту? Высылать ему новую секретку для формирования токена на своей стороне? Тогда ведь можно и её будет "поймать" во входящем запросе на стороне клиента и сгенерировать токен, т.е. толку в такой системе никакого не будет.

Как в данном случае можно поступить? С учетом того, что единственным параметром для генерации токена может выступать лишь идентификатор пользователя.

По сути, единственное что нужно - что б пользователь не смог выполнить подключение к серверу через те же сокеты из другого места, не из клиентского приложения. В какое направление смотреть?


Ответы (0 шт):