【发布时间】:2018-03-10 16:03:16
【问题描述】:
我正在使用本地护照作为我的策略,并且还使用 bluebird 来实现这一承诺。我不确定这是否是一件坏事,但这是我想做的。我目前的问题是我不知道如何从我的路线中获取resolve 和/或rejectvalues。
我将发布本地策略。一切正常,我得到了正确的信息。我只需要将这些信息获取到路线并能够使用req.user
我收到了authUser,也收到了任何errors,例如自定义错误密码错误。但如果查看其他代码有帮助,请告诉我。
passport.use(
new LocalStrat((username, password) => {
return new Promise((resolve, reject) => {
controllers.user
.getUserByUsername(username)
.then(user => {
user = user;
return controllers.user.comparePassword(password, user);
})
.then(authUser => {
resolve(authUser);
})
.catch(err => {
reject(err);
});
});
})
);
/* User Login */
router.post('/login', passport.authenticate('local'), (req, res) => {
// Need to access promise values here
console.log(req.user);
});
【问题讨论】:
-
@Bergi 那么我该如何在这里更正呢?我对此很陌生。
-
删除“
new Promise((resolve, reject) => {”和“.then(authUser => { resolve(authUser); }) .catch(err => { reject(err); }); })”部分 -
哦,
user = user也是多余的
标签: node.js express promise bluebird passport.js