我需要一些我不明白的问题的帮助。
首先,这是我得到的错误:
Error: Route.post() requires callback functions but got a [object Undefined]
我尝试使用本地护照来保护我的API。
我这样称呼API:
router.route("/login")
.post(passport.authenticate('local', {session: false}) ,login.get);
getToken函数如下所示:
function get(req, res) {
res.send([{"stack": "overflow"}]);
}
这是我的策略:
var local = new LocalStrategy(options,
function(username, password, done) {
models.user.findOne({where:{ username: username}}).then(function(err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false);
}
return done(null, user);
});
});
我的设置有什么问题?
答案 0 :(得分:0)
可能是因为login.get实际上是未定义的。 尝试这样的事情:
router.route('/login')
.post(passport.authenticate('local', {session: false}),
function (req, res, next) {
// callback here
});
或其他方式可能是:
router.post('/login', passport.authenticate('local', {session: false}), function (req, res) { ... });