在PassportJS中进行身份验证后重定向到原始URL

时间:2014-10-29 22:20:29

标签: node.js authentication express passport.js

我正在尝试访问网址http://localhost:3000/users#/WyCrYc28r/foo/1414585518343,但是用户需要在他/她可以访问该路径之前进行身份验证,如下所示:

app.get('/users', isLoggedIn, function (req, res) {
      req.session.user = req.user;
      res.cookie('uid', req.session.passport.user)
          .render('users', { title: 'The Foo Machine', user: req.user });
  });

isLoggedIn中间件用于查明用户是否经过身份验证:

function isLoggedIn(req, res, next) {
  if (req.isAuthenticated())
      return next();
  res.redirect('/login');
}

以下是如何使用PassportJS处理登录请求:

app.post('/login', passport.authenticate('local-login', {
    successRedirect: '/users', 
    failureRedirect: '/login', 
    failureFlash: true 
}));

但我不希望用户在成功登录后转到/users。我希望用户返回他/她尝试访问的原始网址(http://localhost:3000/users#/WyCrYc28r/foo/1414585518343)。

我正在使用LocalStrategy使用PassportJS进行身份验证/身份验证。 有人可以帮我吗?

0 个答案:

没有答案