2017-09-21 40 views
0

我在服務器端使用PassportJS進行身份驗證,在客戶端,我使用$httpProvider.defaults.withCredentials = true;確保在進一步的請求中正確接收,設置和傳輸Cookie。

當我註銷時,我想清除因使用$httpProvider.defaults.withCredentials = true;而設置的所有瀏覽器cookie。我怎樣才能做到這一點?

回答

0

它應該在服務器端解析,通常情況下,您將Cookie設置爲MaxAge = -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... 
    } 
    }); 
};