2013-05-02 10 views
16

में अनुरोध टोकन खोजने में विफल रहा मुझे मुख्य पासपोर्ट रेपो पर कुछ समस्याएं मिलीं, हालांकि, मुझे लगता है कि यह मुख्य रूप से इस विशिष्ट रणनीति से संबंधित है क्योंकि मैं पासपोर्ट-google-oauth रणनीति का सफलतापूर्वक प्रमाणीकरण करने में सक्षम हूं ।त्रुटि: सत्र

Error: failed to find request token in session 
    at Strategy.OAuthStrategy.authenticate (/home/glug/application/node_modules/passport-dropbox/node_modules/passport-oauth/lib/passport-oauth/strategies/oauth.js:124:54) 
    at attempt (/home/glug/application/node_modules/passport/lib/passport/middleware/authenticate.js:243:16) 
    at Passport.authenticate (/home/glug/application/node_modules/passport/lib/passport/middleware/authenticate.js:244:7) 
    at callbacks (/home/glug/application/node_modules/express/lib/router/index.js:161:37) 
    at param (/home/glug/application/node_modules/express/lib/router/index.js:135:11) 
    at pass (/home/glug/application/node_modules/express/lib/router/index.js:142:5) 
    at Router._dispatch (/home/glug/application/node_modules/express/lib/router/index.js:170:5) 
    at Object.router (/home/glug/application/node_modules/express/lib/router/index.js:33:10) 
    at Context.next (/home/glug/application/node_modules/express/node_modules/connect/lib/proto.js:190:15) 
    at Context.actions.pass (/home/glug/application/node_modules/passport/lib/passport/context/http/actions.js:77:8) 

मैं सत्र की दुकान के रूप redis का उपयोग कर रहा है, तथापि, को नष्ट करने कि, यह अभी भी समान त्रुटि संदेश के साथ असफल रहने के बाद भी है।

var DropboxStrategy = require('passport-dropbox').Strategy; 

app.configure(function(){ 
    app.set('port', config.express.port); 
    app.use(express.favicon()); 
    app.use(express.logger('dev')); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(express.cookieParser()); 
     app.use(express.session({ 
//  store: new RedisStore({ client: redis}), 
     secret: config.express.secret 
     })); 
     app.use(passport.initialize()); 
     app.use(passport.session()); 
    app.use(app.router); 
}); 

passport.serializeUser(function(user, done) { 
// console.log('Serializing: ' + JSON.stringify(user)); 
    done(null, user); 
}); 

passport.deserializeUser(function(obj, done) { 
// console.log('Deserializing: ' + obj); 
    done(null, obj); 
}); 

passport.use(new DropboxStrategy({ 
    consumerKey: config.dropbox.key, 
    consumerSecret: config.dropbox.secret, 
    callbackURL: config.dropbox.callbackURL 
    }, 
    function(token, tokenSecret, profile, done) { 
    // My storage function 
    return done(null, profile); 
    } 
)); 

मैं कुछ भी कोशिश करने के लिए खुश हूँ, मैं रेपो पर एक मुद्दा मामला दर्ज किया है, लेकिन मैं इसे कुछ पासपोर्ट ड्रॉपबॉक्स रेपो के साथ गलत कुछ मैं कर रहा हूँ गलत बजाय हो सकता है लगता है।

उत्तर

27

... श्वास। मैं भूल गया कि मैंने सबडोमेन बदल दिया है। तो, कुकी पठनीय नहीं थी क्योंकि डोमेन नाम अलग था।

+1

वही यहां। मैं लोकलहोस्ट पर होस्टिंग कर रहा था और नमूना मैंने 127.0.0.1 का इस्तेमाल किया था। –

+0

और यहां वही - लोकलहोस्ट बनाम 127.0.0.1 दोह – user655489

+0

चीजों ने काम करना बंद कर दिया जब मेरे ऊपर से नरक डर गया !! – nimgrg

0

अरे कोई अभी भी समस्या को मैं एक और समाधान है ...

इस कोड को जोड़ना हो रही है:

app.use(passport.session({ secret: 'Shhh.. This is a secret', cookie: { secure: true } })); 

सिर्फ cookie: { secure: true } जोड़ सकते हैं और तब भी वह अच्छे काम करेंगे ...

मुझे भी यह मुद्दा था और उपरोक्त तकनीक ने मुझे इसे हल करने में मदद की।

संबंधित मुद्दे