AngularJS $ http withCredentials - 注销时清除

时间:2017-09-21 09:12:34

标签: angularjs passport.js

我在服务器端使用PassportJS进行身份验证,在客户端使用$httpProvider.defaults.withCredentials = true;以确保在进一步请求时正确接收,设置和传输cookie。

当我退出时,我想清除因使用$httpProvider.defaults.withCredentials = true;而设置的所有浏览器cookie。我怎么能这样做?

2 个答案:

答案 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...
    }
    });
};