C'est bon, j'ai trouvé la solution. Le problème est que le temps dans maxAge
a été ajouté à la date actuelle. Ainsi, du côté du navigateur, le cookie a été configuré pour expirer à l'heure GMT indiquée.
Le problème était le suivant :j'utilise une machine virtuelle pour tester node.js, et, vous savez... parfois, vous suspendez votre machine.
Eh bien, ce qui s'est passé, c'est que l'heure de la machine avait deux jours de retard. Ainsi, chaque fois que le cookie était défini côté serveur, le côté client pensait que le cookie était déjà expiré, car ma machine hôte n'avait pas deux jours de retard.
Encore un résultat stupide.