2016-09-06 2 views
0

Ich versuche, Passport-Service zu meiner App hinzuzufügen, aber ich bekomme den folgenden Fehler, Ich habe bereits alle Abhängigkeiten installiert und versucht, nach diesem Fehler zu suchen, aber keine, bitte Hilfepass.use ist keine Funktion

Hier
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 

ist die passport.js Datei:

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); 
      } 
     }) 
    })); 
} 
+0

Wie Sie 'sind require'ing Ihre passport.js-Datei? –

+0

Sie haben keine Variable 'pass' in Ihrer Datei definiert. –

+0

var Pass = verlangen ('../ config/pass') ('Pass'); – Udit

Antwort

1

Sie benötigen passport.js von Ihrem app.js mit dem folgenden Befehl Datei verlangen:

require('./config/passport')(passport); 

Alle Passbezogene Befehle in Ihrer app.js Datei sollte sein:

const passport = require('passport'); 

app.use(passport.initialize()); 
app.use(passport.session()); 

require('./config/passport')(passport);