我在服務器端使用PassportJS進行身份驗證,在客戶端,我使用$httpProvider.defaults.withCredentials = true;
確保在進一步的請求中正確接收,設置和傳輸Cookie。
當我註銷時,我想清除因使用$httpProvider.defaults.withCredentials = true;
而設置的所有瀏覽器cookie。我怎樣才能做到這一點?
我在服務器端使用PassportJS進行身份驗證,在客戶端,我使用$httpProvider.defaults.withCredentials = true;
確保在進一步的請求中正確接收,設置和傳輸Cookie。
當我註銷時,我想清除因使用$httpProvider.defaults.withCredentials = true;
而設置的所有瀏覽器cookie。我怎樣才能做到這一點?
它應該在服務器端解析,通常情況下,您將Cookie設置爲MaxAge = -1,然後瀏覽器將自動刪除它們。
您可以在註銷路徑中使用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...
}
});
};