में अनुरोध टोकन ढूंढने में विफल रहा है, मैं अपनी साइट पर एक ट्विटर कनेक्ट सेट अप करने के लिए पासपोर्ट-ट्विटर का उपयोग कर रहा हूं। उपयोगकर्ता 'लॉगिन' पर क्लिक करके या 'नया आइटम जोड़ें' पर क्लिक कर सकते हैं। 2 के बीच फर्क सिर्फ इतना है कि अगर वे पर नया आइटम जोड़ने के लिए क्लिक करें, मोडल विंडो एक बार वे में लॉग इन खोलने के लिए माना जाता है हैपासपोर्ट-ट्विटर - त्रुटि: सत्र
बटन पर पता करने के लिए वे क्लिक करें मैं req.session.referrer
में यूआरएल की दुकान:।
// route for twitter authentication and login
app.get('/auth/twitter', function(req, res, next){
req.session.referrer = req.url;
console.log(req.session);
passport.authenticate('twitter')(req, res, next);
});
app.get('/auth/twitter/new', function(req, res, next){
req.session.referrer = req.url;
console.log(req.session);
passport.authenticate('twitter')(req, res, next);
});
// handle the callback after twitter has authenticated the user
app.get('/auth/twitter/callback', function(req, res, next){
var options = {
successRedirect : '/twitter-user/signin',
failureRedirect : '/'
};
console.log(req.session);
if (req.session.referrer && req.session.referrer.indexOf('new') > -1) options.successRedirect = '/twitter-user/new';
passport.authenticate('twitter', options)(req, res, next)
});
सब कुछ मेरे विकास के वातावरण में ठीक काम करता है, लेकिन एक बार ऑनलाइन मैं इस त्रुटि संदेश मिलता है: एक्सप्रेस
500 Error: Failed to find request token in session
at Strategy.OAuthStrategy.authenticate (/app/node_modules/passport-twitter/node_modules/passport-oauth1/lib/strategy.js:142:54)
...
मेरी सेटिंग्स ट्विटर में ठीक तरह से स्थापित कर रहे हैं। अनुरोध के लिए:
{ cookie:
{ path: '/',
_expires: null,
originalMaxAge: null,
httpOnly: true },
passport: {},
referrer: '/auth/twitter' }
कॉलबैक के लिए: यहाँ है कि मैं क्या लॉग के साथ मिलता है उपडोमेन समस्या (http://example.com बनाम http://www.example.com) की वजह से
{ cookie:
{ path: '/',
_expires: null,
originalMaxAge: null,
httpOnly: true },
passport: {} }
शायद यह हो सकता है के रूप में मैं नहीं स्थानीय रूप से पीबी है। मैं इसे कैसे ठीक कर सकता हूं?
बहुत धन्यवाद
संपादित करें: मेरी API कुंजी इस तरह की स्थापना की है (इस ट्यूटोरियल के अनुसार: http://scotch.io/tutorials/javascript/easy-node-authentication-twitter):
passport.use(new TwitterStrategy({
consumerKey : configAuth.twitterAuth.consumerKey,
consumerSecret : configAuth.twitterAuth.consumerSecret,
callbackURL : configAuth.twitterAuth.callbackURL
},function(token, tokenSecret, profile, done) {
...
});
के बारे में त्रुटियां मिलेंगी, जहां आपके पास टूर ट्विटर एपीआई कुंजी सेटअप है? – Biba
मैंने जानकारी के साथ अपना प्रश्न संपादित किया। कृपया ऊपर देखें – Spearfisher