带有Connect基本身份validation的Expressj不会设置请求用户

我正在使用express并通过连接中间件添加基本身份validation。 我正在尝试使用asynchronous版本,并声称使用asynchronous版本调用时,将在请求对象上设置user属性。

如果我打电话给正确的fn(err, obj); 与一个对象,然后基本身份validation传递和移动到我的路线,但我希望req.user设置时,它到达我的路线。

这里是关于基本身份validation的连接文档。

我是不是正确地调用callback?

 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); }); })); 

我检查了文档中的代码,你已经附加了,它已经设置了req.user,所以,如果这是完全相同的代码执行的文档,一切都应该工作正常:)

顺便说一句,为什么不使用更友好的东西,并像passportjs一样logging良好?

连接文档中提到的不同,在express中,经过身份validation的用户将被分配给req.remoteUser