passport.use 不是函数
passport.use is not a function
我正在尝试将护照服务添加到我的应用程序中,但出现以下错误,
我已经安装了所有依赖项并尝试搜索此错误但得到 none ,请帮助
passport.use(new JwtStrategy(opts, function(jwt_payload, done){
TypeError: passport.use is not a function
at module.exports (/home/udit/Goserv/app/config/passport.js:11:14)
at Object.<anonymous> (/home/udit/Goserv/app/server/server.js:9:45)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3
这是 passport.js 文件:
var JwtStrategy = require('passport-jwt').Strategy,
ExtractJwt = require('passport-jwt').ExtractJwt;
var User = require('../model/user.js');
var config = require('../config/database');
module.exports = function(passport){
var opts = {};
opts.secretOrKey = config.secret;
opts.jwtFromRequest = ExtractJwt.fromAuthHeader();
passport.use(new JwtStrategy(opts, function(jwt_payload, done){
User.find({id: jwt_payload.id}, function(err, user){
if (err) {
return done(err, false);
}
if (user) {
return done(null, user);
} else {
return done(null, false);
}
})
}));
}
您需要使用以下命令从 app.js 文件中获取 passport.js:
require('./config/passport')(passport);
您的 app.js 文件中所有与护照相关的命令应该是:
const passport = require('passport');
app.use(passport.initialize());
app.use(passport.session());
require('./config/passport')(passport);
如果像这样导入你会得到这个错误
import * as passport from 'passport';
应该是
import passport from 'passport';
我正在尝试将护照服务添加到我的应用程序中,但出现以下错误, 我已经安装了所有依赖项并尝试搜索此错误但得到 none ,请帮助
passport.use(new JwtStrategy(opts, function(jwt_payload, done){
TypeError: passport.use is not a function
at module.exports (/home/udit/Goserv/app/config/passport.js:11:14)
at Object.<anonymous> (/home/udit/Goserv/app/server/server.js:9:45)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3
这是 passport.js 文件:
var JwtStrategy = require('passport-jwt').Strategy,
ExtractJwt = require('passport-jwt').ExtractJwt;
var User = require('../model/user.js');
var config = require('../config/database');
module.exports = function(passport){
var opts = {};
opts.secretOrKey = config.secret;
opts.jwtFromRequest = ExtractJwt.fromAuthHeader();
passport.use(new JwtStrategy(opts, function(jwt_payload, done){
User.find({id: jwt_payload.id}, function(err, user){
if (err) {
return done(err, false);
}
if (user) {
return done(null, user);
} else {
return done(null, false);
}
})
}));
}
您需要使用以下命令从 app.js 文件中获取 passport.js:
require('./config/passport')(passport);
您的 app.js 文件中所有与护照相关的命令应该是:
const passport = require('passport');
app.use(passport.initialize());
app.use(passport.session());
require('./config/passport')(passport);
如果像这样导入你会得到这个错误
import * as passport from 'passport';
应该是
import passport from 'passport';