我复制粘贴应用程序护照本地应用程序,
有趣的是我可以登录用户,但我不能让他们退出,
app.get('/logout', function(req, res){
req.logout();
res.redirect('/');
});
这对日志文件没有任何作用,没有任何内容,而且我有一个指向/ logout的链接
这是主要的路线示例
app.get('/page1', function(req, res){
res.render('page1', {user: req.user});
});
app.get('*', function(req,res){
res.render('root', {user: req.user});
});
为什么退出它不起作用????
答案 0 :(得分:2)
显然这是一个已知问题:
Why is PassportJS in Node not removing session on logout
上面提到的主题建议改为使用req.session.destroy()
。
直接从Passport团队获得一些反馈会很好。
答案 1 :(得分:0)
这仍然是个问题。
我所做的是每当他们注销时,在服务器端和客户端使用req.session.destroy(function (err) {});
:
const logout = () => {
const url = '/users/logout'
fetch(url)
setTimeout(function () {
location.reload(); }, 500);
这样,刷新页面时,用户将没有会话。如果没有人通过身份验证,只需确保您重定向到正确的页面即可。
也许不是最好的方法,但是它可行。