2014-10-06 2 views
11

У меня есть следующий код узла с использованием паспортных Google-OAuth ...Passport-Google-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 (« callback »);' выполнена? – xShirase

+0

Также как выглядит вы/подпись? Также необходимо, чтобы обратный вызов был получен или отправлен. Я думаю, что это обычно почта. –

+0

Возможно, ваша проблема в GoogleStrategy. Попробуйте следующее: var GoogleStrategy = require ('паспорт-google-oauth'). OAuth2Strategy; – Dyrk

ответ

1

я только что узнал, что паспорт Google-OAuth пакет экспортирует следующие:

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

, что означает, что «по умолчанию» (т. Е стратегия) не oauth2 вообще ... Так что лучше используйте OAuth2Strategy явно. это сработало для меня. Взял у меня часы, чтобы узнать, что это была проблема ...

Смежные вопросы