我有以下代码,每次输入时0.0.0.0:3000/user?apikey=xxx
,本地策略中的代码都不会运行,它会直接进入“未经授权”页面。我试图从中删除 passport.authenticate server.get('/user')
。在调试模式下,我可以看到“apikey”被解析为请求参数映射。所以这里的问题是护照无法验证获取请求。任何帮助将不胜感激。谢谢!
var restify = require('restify');
// Create server
var server = restify.createServer({
name: 'server'
});
server.use(restify.queryParser());
server.use(restify.bodyParser());
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
passport.use(new LocalStrategy(
function (apikey, done) {
console.log('Entered authentication.');
done(null, null);
}
));
//specify route
server.get('/user', passport.authenticate('local'), function (req, res) {
console.log(req.params);
res.end('haha');
});
server.listen(3000, function () {
console.log('%s listening at %s', server.name, server.url)
});