passport.authenticate 成功重定向条件
passport.authenticate successRedirect condition
在我的 app.js 我有:
router.post('/login', passport.authenticate('local', {
successRedirect: '/admin/users',
failureRedirect: '/login'
}), function (req, res) {
});
我的用户对象如下所示:
{ _id: 586afad4a4ff884d28b6ca97,
firstName: 'Joseph',
...
isAdmin: false }
我想做的是:
router.post('/login', passport.authenticate('local', {
successRedirect: {
if(req.body.user.isAdmin === true) {
res.redirect('/admin/users')
}
res.redirect('/dashboard');
},
failureRedirect: '/login'
}), function (req, res) {
});
但我好像做不到。检查用户是否为管理员或使用 passport.authenticate
登录 post 的最简单示例是什么
我想通了。 passport.authenticate 中的可选对象让我感到困惑。所以我所做的是:
router.post(
'/login',
passport.authenticate('local', {
failureRedirect: '/login'
}), (req, res) => {
if (req.user.isAdmin === true) {
res.redirect('/admin/gifts?filter=review');
}
if (req.user.isAdmin === false) {
res.redirect('/dashboard/received');
}
});
在我的 app.js 我有:
router.post('/login', passport.authenticate('local', {
successRedirect: '/admin/users',
failureRedirect: '/login'
}), function (req, res) {
});
我的用户对象如下所示:
{ _id: 586afad4a4ff884d28b6ca97,
firstName: 'Joseph',
...
isAdmin: false }
我想做的是:
router.post('/login', passport.authenticate('local', {
successRedirect: {
if(req.body.user.isAdmin === true) {
res.redirect('/admin/users')
}
res.redirect('/dashboard');
},
failureRedirect: '/login'
}), function (req, res) {
});
但我好像做不到。检查用户是否为管理员或使用 passport.authenticate
登录 post 的最简单示例是什么我想通了。 passport.authenticate 中的可选对象让我感到困惑。所以我所做的是:
router.post(
'/login',
passport.authenticate('local', {
failureRedirect: '/login'
}), (req, res) => {
if (req.user.isAdmin === true) {
res.redirect('/admin/gifts?filter=review');
}
if (req.user.isAdmin === false) {
res.redirect('/dashboard/received');
}
});