这是我的第一个express应用。我正在尝试为一些路由实现身份验证。理想情况下,如果用户未通过身份验证,他们将被重定向至主页。所以我写了这个中间件:
var jwt = require('express-jwt');
app.get('/protected',
jwt({secret: 'shhhhhhared-secret'}), //express-jwt middleware
function(req, res, next) { //redirection middleware
if(!req.user._id){
console.log('authentication failed')
res.redirect('/home')
}else{
next()
};
});如果用户已登录,代码将正常工作。但是,如果用户未登录,浏览器将简单地显示401未授权错误。没有重定向。这个过程在express-jwt中间件上失败了,并且没有继续到我的重定向中间件。
是否有需要在jwt函数中设置的配置?或者,如果遇到401,是否有办法设置全局重定向。
https://stackoverflow.com/questions/38336565
复制相似问题