我有一条这样的快速路线:
app.get('/', auth.authOrDie, function(req, res) {
res.send();
});
其中authOrDie
函数的定义如下(在我的auth.js
模块中):
exports.authOrDie = function(req, res, next) {
if (req.isAuthenticated()) {
return next();
} else {
res.send(403);
}
});
现在,当用户没有经过身份验证时,我想验证http请求是否有Authorization(Basic)头。要做到这一点,我想使用伟大的连接中间件basicAuth()。
如您所知,Express构建在Connect之上,因此我可以使用express.basicAuth
。basicAuth
通常是这样使用的:
app.get('/', express.basicAuth(function(username, password) {
// username && password verification...
}), function(req, res) {
res.send();
});
但是,我想在我的authOrDie
函数中使用它:
exports.authOrDie = function(req, res, next) {
if (req.isAuthenticated()) {
return next();
} else if {
// express.basicAuth ??? ******
} else {
res.send(403);
}
});
如何使用好的参数(req?下一个?...).
1条答案
按热度按时间6tr1vspr1#
调用
express.basicAuth
函数将返回要调用的中间件函数,因此您可以直接调用它,如下所示: