尝试注销

时间:2015-11-18 20:02:59

标签: node.js logout passport-local

我正在尝试使用护照本地策略添加注销功能。

我遵循了所讨论的解决方案hereherehere

我添加了

 a(href='/logout') logout

链接在我的index.jade文件中。

在我的app.js中,我添加了以下内容:

app.get('/logout', function (req, res) {
    console.log("trying to logout....")
    req.session.destroy()
    req.logout()
    res.redirect('/signin');
});

但是当我点击退出时,它会转到我的404页面。在浏览器网址中,我看到它正在尝试转到:

localhost:3030/logout

我的活动添加了一个空的logout.jade视图,但没有任何区别。

我做错了什么?

另外 - 我的终端中没有看到console.log("trying to logout...")消息......所以看起来它从未达到正确的方法。

1 个答案:

答案 0 :(得分:0)

感谢@renatoargh指出路线的顺序很重要。 有点恼火,护照文件不提这个!!

<强> BEFORE:

app.use(route.notFound404);

app.get('/logout', function (req, res) {
    console.log("trying to logout....")
    req.session.destroy()
    req.logout()
    res.redirect('/signin');
});

<强> SOLUTION:

app.get('/logout', function (req, res) {
    console.log("trying to logout....")
    req.session.destroy()
    req.logout()
    res.redirect('/signin');
});

app.use(route.notFound404);