【发布时间】:2018-03-03 00:54:49
【问题描述】:
我目前正在学习节点,我正在尝试使用护照 js 编写一个成功的注销功能。到目前为止,我已经成功注册了用户并让他们登录。我在下面设置了一个 Auth 控制器,其中包含登录代码和工作以及似乎没有的注销代码:
const passport = require('passport');
exports.login = passport.authenticate('local',{
failureFlash:'Failed Login!',
successFlash:'Login successful!'
});
exports.logout = (req,res) => {
req.logout();
req.flash('Success','You are now logged out!')
};
以下是这两个功能的路由:
router.get('/logout',authController.logout);
router.post('/login',authController.login);
不确定它是否会有所不同,但我正在使用 React 构建前端,并使用 Axios,它或多或少类似于 Ajax 来连接到这些路由并将它们用作端点。我的理解是,当我点击 /logout 路由护照 js 应该从请求中删除用户对象 - 这是正确的吗?目前它没有删除它。我还设置了 MongoDB Compass,登录时可以看到其中的会话。每次我登录会话时间都会更新,但当我注销时不会。知道我哪里出错了吗?
【问题讨论】:
标签: javascript node.js passport.js