我正在使用express并通过connect中间件添加基本身份验证。我正在尝试使用异步版本,它声称在使用异步版本调用时,将在请求对象上设置user
属性。
如果我用一个对象调用正确的fn(err, obj);
,那么基本身份验证会通过并移动到我的路由上,但我希望在到达我的路由时设置req.user
。
Here是基本身份验证的连接文档。
我没有正确调用回调吗?
app.use(express.basicAuth(function(user, pass, fn){
db.getUserByEmail(user, function(err, obj){
if (err) sendError(500, req, 'error', err);
else if (obj == null) fn(err, obj);
else if (obj.password == pass) fn(null, obj);
else fn(null, null);
});
}));
答案 0 :(得分:1)
与连接的文档中提到的不同,在快递中,经过身份验证的用户将被分配到req.remoteUser
答案 1 :(得分:0)
我已经检查了文档中的代码,你已经附加了,它已经设置了req.user,所以,如果这与文档中执行的代码完全相同,一切都应该正常工作:)
顺便说一句,为什么不使用更友好的东西,并且像passportjs一样记录良好?