我在服务器端使用PassportJS进行身份验证,在客户端使用$httpProvider.defaults.withCredentials = true;
以确保在进一步请求时正确接收,设置和传输cookie。
当我退出时,我想清除因使用$httpProvider.defaults.withCredentials = true;
而设置的所有浏览器cookie。我怎么能这样做?
答案 0 :(得分:0)
应该在服务器端解决,通常,你为cookie设置MaxAge = -1,然后浏览器会自动删除它们。
答案 1 :(得分:0)
您可以在注销路由中使用req.session.destroy来销毁会话。喜欢
app.get('/logout', function(req,res){
req.logOut();
req.session.destroy(function (err) {
res.redirect('/');
});
});
或使用
module.exports.getLogout = function (req, res, next) {
req.logout();
req.session.destroy(function (err) {
if (!err) {
res.status(200).clearCookie('connect.sid', {path: '/'}).json({status: "Success"});
} else {
// handle error...
}
});
};