我有这个中间件功能,它检查用户是否登录,因为我也有 web 应用程序和 android 平台,因此我使用 android 和 web 的令牌,我使用 session,默认情况下是通过护照管理器.
In my function
我正在检查如果我有一个 Authorization 标头,我知道它是我的 android 平台,因此通过验证 jwt 令牌来验证用户,但它总是向我发送 401 未经授权而不设置 req.user。
这是中间件功能,如果有人可以指出我的错误,我的逻辑出错了。
var jwt_auth = require('express-jwt')
// route middleware to make sure a user is logged in
function isLoggedIn(req, res, next) {
if (req.get("Authorization")) {
jwt_auth({secret: 'somesecret'});
if (req.user) {
return next();
}
res.send(200, "Unauthorized access");
}
else {
// if user is authenticated in the session, carry on
if (req.isAuthenticated())
return next();
// if they aren't redirect them to the home page
res.redirect('/');
}
}