2012-05-08 15 views
13

मैं काम करता है ठीकPassport.js मुझे एक मिडलवेयर त्रुटि क्यों देता है?

app.use(app.router); 
app.use(express.static(__dirname + '/public')); 
app.use(passport.initialize()); 
app.use(passport.session()); 

के रूप में यहाँ

https://github.com/jaredhanson/passport/issues/14

app.use(passport.initialize()); 
app.use(passport.session()); 
app.use(app.router); 
app.use(express.static(__dirname + '/public')); 

वर्णित वैकल्पिक हल कोशिश कर रहा हूँ

DEBUG: Error: passport.initialize() middleware not in use 
    at IncomingMessage.<anonymous> (/.../node_modules/passport/lib/passport/http/request.js:30:30) 
    at Context.<anonymous> (/.../node_modules/passport/lib/passport/middleware/authenticate.js:92:11) 
    at Context.<anonymous> (/.../core/node_modules/passport/lib/passport/context/http/actions.js:21:25) 
    at Strategy.success (native) 

उत्तर

26

तुम अब भी app.use(app.router) पासपोर्ट के बाद की जरूरत है देता है। अन्यथा, आपका मार्ग किसी भी पासपोर्ट कोड से पहले चलाएगा, और यही कारण है कि आप त्रुटि देखते हैं। यह काम करना चाहिए:

app.use(express.static(__dirname + '/public')); 
app.use(passport.initialize()); 
app.use(passport.session()); 
app.use(app.router); 
0

किसी की मदद कर सकता है, मुझे एक ही समस्या थी। मेरा ऐप कॉन्फ़िगर इस तरह दिखता है। इससे त्रुटि हुई।

app.configure(function() { 
    .... 
app.use(app.router);  
app.use(passport.initialize()); 
app.use(passport.session()); 
app.use(express.static(path.join(__dirname, 'public'))); 

}); 

मुझे इसे काम करने के लिए नीचे के रूप में पुन: व्यवस्थित करना पड़ा।

app.configure(function() { 
    .... 
app.use(passport.initialize()); 
app.use(passport.session()); 
app.use(app.router);  
app.use(express.static(path.join(__dirname, 'public'))); 

}); 
संबंधित मुद्दे