Expressjs не разрушает сессию
У меня есть Backbone View, который отправляет Ajax-вызов на сервер, чтобы удалить сеанс.
На сервере запущено следующее событие:
app.delete('/session', function(req, res) {
if (req.session) {
req.session.destroy(function() {
res.clearCookie('connect.sid', { path: '/' });
res.send('removed session', 200);
});
} else {
res.send('no session assigned', 500);
}
});
Странно, что я могу нажимать кнопку выхода несколько раз, не получая код ошибки HTTP 500. Также хром показывает мне, что печенье все еще существует.
Что не так?
С уважением
EDIT:
Я обнаружил, что это не проблема сеанса, а проблема cookie. Я добавил res.clearCookie к маршруту. К сожалению, поведение (cookie, поддержание сеанса не изменилось) не изменилось
EDIT2: I now gave res.clearCookie some parameters => res.clearCookie('connect.sid', { path: '/' }); Now at least the cookie is gone in the browser. But the session seems to be still available. Or at least I can call the logout route how often I want even req.session should be false
EDIT3: Теперь я удалил все сессии из redis и перезапустил все (redis, node, browser). Затем я снова вошел и вышел. Пока это работает, но когда я переназначаю страницу F5, я получаю новый сеанс. ЗАЧЕМ?