Просто отправьте ответ обратно в обратный вызов функции регенерирования. Поскольку регенерация сеанса асинхронна, при возврате к клиенту у него все еще будет более старый сеанс.

ользую сервер Node.js и разрабатываю с помощью среды Connect. Я пытаюсь восстановить SID после определенного интервала, чтобы избежать фиксации сеанса. Есть методreq.session.regenerate который, согласно документам, должен сделать именно это.

«Для восстановления сеанса просто вызовите метод, после завершения новый SID и экземпляр сеанса будут инициализированы в req.session»

Пример кода:

req.session.regenerate(function(err){
    // will have a new session here
 });

После вызова вышеуказанного метода я проверяю значение req.sessionID, только чтобы обнаружить, что это значение такое же, как и раньше.

Если я пытаюсь получить sessionID из req.session.regenerate и записать его в терминал, я получу новый SID, который еще более озадачивает ~ I.E, почему вы хотите, чтобы SID генерировался только в рамках обратного вызова? Если я назначу значение глобальной переменной, его значение не определено.

У меня такое ощущение, что это что-то действительно очевидное, что я пропускаю.

Любая помощь приветствуется.

Ответы на вопрос(2)

Ваш ответ на вопрос