2014-10-06 8 views
11

मैं पासपोर्ट-google-OAuth का उपयोग निम्नलिखित नोड कोड ...पासपोर्ट-गूगल-OAuth कॉलबैक काम नहीं कर

app.get('/auth/google', passport.authenticate('google', { scope : ['profile', 'email'] })); 

app.get('/auth/google/callback', function(req,res) { 
    console.log("callback"); 
    passport.authenticate('google', { 
       successRedirect : '/signin', 
       failureRedirect : '/signin' 
    }); 
}); 

और ... है

passport.serializeUser(function(user, done) { 
    console.log("ser"); 
    done(null, user.id); 
}); 

passport.deserializeUser(function(id, done) { 
    console.log("des"); 
    User.findById(id, function(err, user) { 
     done(err, user); 
    }); 
}); 

passport.use(new GoogleStrategy({ 

    clientID  : 'id', 
    clientSecret : 'key', 
    callbackURL  : 'http://host/auth/google/callback', 
}, 
function(token, rtoken, profile, done) { 
    console.log("proc"); 
    console.log(profile); 
    done(null, profile); 
})); 

समस्या है, कॉलबैक बुलाया जा रहा है लेकिन कुछ और नहीं होता है। प्रसंस्करण समारोह कभी हिट नहीं करता है। कॉलबैक समय समाप्त हो जाता है। कोई विचार जहां मैं गलत गया?

+0

लाइन 'console.log ("कॉलबैक") है,' निष्पादित? – xShirase

+0

इसके अलावा आप/साइनइन मार्ग कैसा दिखता है? कॉलबैक भी प्राप्त या पोस्ट होना चाहिए। मुझे लगता है कि यह आमतौर पर एक पोस्ट है। –

+0

शायद आपकी समस्या GoogleStrategy में है। इसे आज़माएं: var GoogleStrategy = की आवश्यकता है ('पासपोर्ट-google-oauth')। OAuth2Strategy; – Dyrk

उत्तर

1

मैं सिर्फ पता चला कि पासपोर्ट-google-OAuth पैकेज निम्नलिखित निर्यात करता है:

exports.Strategy = 
exports.OAuthStrategy = OAuthStrategy; 
exports.OAuth2Strategy = OAuth2Strategy; 

जिसका अर्थ है, कि "डिफ़ॉल्ट" (। यानी रणनीति) बिल्कुल OAuth2 नहीं है ... तो तुम बेहतर स्पष्ट रूप से OAuth2Strategy का उपयोग करें। यह मेरे लिए काम किया। यह पता लगाने के लिए मुझे घंटों लग गए कि यह समस्या थी ...

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