Я использую сеансы Mongo для сохранения пользовательских данных (без логинов). Когда пользователь впервые входит в систему, я создаю новый сеанс на БД и устанавливаю cookie на клиенте, информация о сеансе теперь сохраняется в localStorage. Я хочу использовать один и тот же сеанс для каждого пользователя, поэтому его объект сеанса также хранит такие вещи, как «Последний просмотр», «Идентификатор сокета» и т. Д. Вещи, которые часто меняются.
Проблема заключается в том, что пользовательский клиент удаляет cookie(случайно) создается новый cookie + сеанс, поэтому все эти данные «исчезают». Мой вопрос: «Как мне установить новый файл cookie, который указывает на уже существующий сеанс»?
// Anytime there is a (re)connection save the socketID to the session
io.on('connection', function(socket: i.Socket) {
socket.handshake.session!.lastSeen = new Date();
socket.handshake.session!.socketID = socket.id;
socket.handshake.session!.save((err: Error) => {
if (err) {
console.log('Error in saving session! => ', err);
}
});
// Now each session has it's socketID!
});
Спасибо за вашу помощь, мне нужно это. Вы также можете предложить другие способы, которыми я могу это сделать.