我在客户端javascript中过期cookie,然后将人们重定向到服务器端节点js应用程序。
不幸的是,当我检查req.cookies时…服务器端过期的cookie在客户端仍然存在。我如何解决这个问题,以确保cookie正确过期之前移动到服务器端?
所以cookie在客户端过期了,但是当重定向到服务器端,并检查req.cookies
时,cookie值仍然存在。
发生的事情是,我调用Cookie.expire('access_token');
客户端,并检查req.cookies.access_token
服务器端,检查返回true。是否有一种方法可以确定客户端cookie已被删除?
如果您正确地在客户端过期cookie,则req.cookies
对象不应该包含有效的cookie。您确定在发送AJAX调用之前正确地使它们过期吗?可以肯定的是,你应该考虑在cookie过期的函数中建立一个回调或承诺。
一个更好的方法可能是只在服务器端执行。这意味着不是让客户机上的cookie过期,而是向服务器发送一个快速AJAX调用,让数据库中的cookie过期。这是一种更安全的cookie过期方式,但如何实现它取决于您如何存储cookie和/或会话数据