验证失败后使用CSS响应用户。 (护照)

问题描述 投票:1回答:1

我有一个网站,允许用户通过点击登录登录,这将弹出一个Bootstrap模式而不重定向用户。我在许多网站上看到,如果您未能登录,您将保留在该路线上,所有会改变的信息都会显示一条消息,通知您登录失败。我想用本地护照这样做,在认证失败后我可以简单地显示一些CSS,同时仍然有Bootstrap模式。

但是,我似乎只能显示一个req.flash,似乎我必须在身份验证失败后重定向或显示错误。

router.post("/login", passport.authenticate("local", 
{
    successRedirect: "/profile",
    failureRedirect: "/",
    failureFlash : true
})
);

目前,这就是我所能做的。是否有可能按照我提到的方式进行,而不重定向?护照文件显示没有这个。

node.js authentication passport.js passport-local
1个回答
1
投票

当然,你可以做任何你想做的事。从官方docs

app.post('/login', passport.authenticate('local'), function(req, res) { // If this function gets called, authentication was successful. // req.user contains the authenticated user. res.redirect('/users/' + req.user.username); });

“默认情况下,如果身份验证失败,Passport将以401 Unauthorized状态响应,并且不会调用任何其他路由处理程序。如果身份验证成功,将调用下一个处理程序并将req.user属性设置为经过身份验证的用户“。

因此,您所要做的就是在客户端逻辑中处理401响应,然后根据它显示消息/ CSS。

© www.soinside.com 2019 - 2024. All rights reserved.