尝试将摘要auth
集成到风帆中。使用passport-http
模块。 https://github.com/jaredhanson/passport-http
这是我定义的政策。
module.exports = function(req, res, next) {
var passport = require('passport');
var Strategy = require('passport-http').DigestStrategy;
passport.use(new Strategy({ qop: 'auth' },
function(username, cb) {
console.log("in strategy");
user = { id: 1, username: 'postman', password: 'password', displayName: 'Postman', emails: [ { value: 'postman@example.com' } ] }
if(username == user.username) {
return cb(null,user,user.password)
}
else{
return cb(null,false)
}
}
));
passport.authenticate('digest',{session: false});
next();
};
现在明确表示,如果出现错误,passport.authenticate函数会返回,但是在风帆的情况下,它不会作为中间件返回。请指出我正确的方向,花了很多时间在这上面。
我想基本上返回一个未经授权的错误标题,否则转到控制器操作。