【发布时间】:2018-11-29 11:15:15
【问题描述】:
我正在使用sails js v1.0。我不知道如何调用护照的身份验证功能。由于新控制器类型(action2)中没有 req、res 和 next。
我想在 Sails js v1 应用程序中使用基于 JWT 的护照验证。
fn: async function (inputs, exits) {
passport.authenticate('jwt', {session: false}, (err, user, info) => {
})(inputs, exits);
}
我的配置/passport.js 看起来像
passport.use('jwt', new JWTStrategy(opts, (jwtPayload, done) => {
//find the user in db if needed. This functionality may be omitted if you store everything you'll need in JWT payload.
User.findOne({email: jwtPayload.email}).then(async (err, user) => {
if (err) {
return done(err, false);
}
if (!user) {
return done(null, false, {message: 'Incorrect email.'});
}
const validate = await sails.helpers.checkPassword(inputs.password, userRecord.password);
if(!validate) return done(null, false, { message : 'Wrong Password'});
return done(null, user, { message : 'Logged in Successfully Hola'});
}).catch(err => {
return done(err);
})
}));
【问题讨论】:
-
您找到解决方案了吗?
-
是的,我发现了。你可以使用 this.req 来解决这个问题
-
能否请您发布您的解决方案作为您问题的答案?
标签: sails.js passport.js passport-jwt