TypeError:JwtStrategy不是构造函数;的NodeJS

时间:2018-04-11 11:15:32

标签: javascript node.js mongodb jwt

我正在尝试制作一个MEAN堆栈(Nodejs,Mongo,Angular应用程序),现在我正在尝试进行API身份验证和令牌。 我正在按照本教程https://www.youtube.com/watch?v=6pdFXmTfkeE&t=185s和我的passport.js现在看起来像这样:

passport.js 

const JwtStrategy = require('passport-jwt').Stategy;
const ExtractJwt = require('passport-jwt').ExtractJwt;
const User = require('../models/user');
const config = require('../config/database');


module.exports = function (passport) {
    let opts = {};
    opts.jwtFromRequest = ExtractJwt.fromAuthHeaderWithScheme("jwt");
    passport.use(new JwtStrategy(opts, (jwt_payload, done) => {
        User.getUserById(jwt_payload.data._id, (err, user) => {
            if (err) {
                return done(err, false);
            }
            if (user) {
                return done(null, user);
            } else {
                return done(null, false);
            }
        });
    }));
} 

我收到了下一个错误:

  

TypeError:JwtStrategy不是构造函数       在module.exports(C:\ Users \ dan.diaconu \ MakeIT \ api \ config \ passport.js:10:18)       在对象。 (C:\ Users \用户dan.diaconu \ MakeIT \ API \ app.js:28:29)       在Module._compile(module.js:652:30)       在Object.Module._extensions..js(module.js:663:10)       在Module.load(module.js:565:32)       在tryModuleLoad(module.js:505:12)       在Function.Module._load(module.js:497:3)       在Function.Module.runMain(module.js:693:10)       在启动时(bootstrap_node.js:188:16)       在bootstrap_node.js:609:3

有什么想法吗?谢谢! :)

1 个答案:

答案 0 :(得分:2)

require声明Stategy中有拼写错误。

更改

const JwtStrategy = require('passport-jwt').Stategy;

const JwtStrategy = require('passport-jwt').Strategy;

相关问题