使用Passport-jwt

时间:2019-06-04 07:34:48

标签: node.js passport.js passport-jwt

在尝试通过passport-jwt对用户进行身份验证时遇到了麻烦

这是代码:

const JwtStrategy = require('passport-jwt').Strategy;
const ExtractJwt = require('passport-jwt').ExtractJwt;
const userDB = require('../modules/usersDB');
const config = require('../config/conf')

module.exports = function(passport){
    let opts = {};
    opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
    opts.secretOrKey = config.secret;
    console.log("hello")
    passport.use(new JwtStrategy(opts, async(jwt_payload, done)=>{
        try{
            console.log("inside")
            let user = await userDB.getUserById(jwt_payload.data._id);

            if(user){
                return done(null, user);
            }
            if(!user){
                return done('no user', false);
            }else{
                return done(null, false)
            }
        }catch(err){
            console.log(err);
        }
    }));
}

因此,当我尝试console.log('hello')时,它可以工作,但内部却不起作用。我已经仔细阅读了本教程,但不知道为什么会发生。

0 个答案:

没有答案