Expressjs nie niszczy sesji
Mam widok szkieletowy, który wysyła wywołanie Ajax do serwera, aby usunąć sesję.
Na serwerze uruchamiane jest następujące zdarzenie:
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);
}
});
Dziwne jest to, że mogę wielokrotnie nacisnąć przycisk wylogowania bez uzyskania kodu błędu HTTP 500. Także chrom pokazuje mi, że ciasteczko nadal istnieje.
Co jest nie tak?
pozdrowienia
EDYTOWAĆ:
Dowiedziałem się, że to nie jest bezpośrednio problem sesji, ale plik cookie. Dodałem res.clearCookie do trasy. Niestety zachowanie (ciasteczko, sesja utrzymuje się przy życiu) nie zmieniło się
EDIT2: Podałem teraz res.clearCookie kilka parametrów => res.clearCookie ('connect.sid', {ścieżka: '/'}); Teraz przynajmniej ciasteczko zniknęło w przeglądarce. Ale sesja wydaje się być nadal dostępna. Albo przynajmniej mogę wywołać trasę wylogowania, jak często chcę, aby nawet req.session było fałszywe
EDIT3: Teraz usunąłem wszystkie sesje z redis i zrestartowałem wszystko (redis, node, browser). Następnie ponownie się zalogowałem i wylogowałem. Działa to do tej pory, ale kiedy przywracam stronę za pomocą F5, otrzymuję nową sesję. CZEMU?