2015-02-20 28 views
15

Bu hata yalnızca Heroku'da (üretimde) gerçekleşir, yerelde değil. Hem çalıştık:Node.js/Passport kullanarak Google kimlik doğrulaması geri aramada eksiklik hatası.

passport.authenticate('google', { scope: 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/analytics.readonly' }) 

Ve

passport.authenticate('google', { scope: ['profile', 'email'] })

kapsamı bir dizi ya da bir boşlukla ayrılmış dize olup olmadığı.

Google kimlik doğrulama bağlantısına gittiğimde, URL kapsamındaki kapsamı IS. Canlı yapım uygulamasında oluşturulanda bir fark yok.

Ama hala alıyorum:

Error 400 

Error: invalid_request 

Missing required parameter: scope 
+3

Google Uygulamanıza Google Geliştirici Konsolu'nda bakmayı denediniz mi? Üretim uygulamanız için orada yetkili bir Yönlendirme URI'si sağlamayacağınızı tahmin ediyorum (yerel olarak çalıştığını varsayarsak, bu en olası senaryodur). Bazen Google tarafından verilen hatalar yanlış/belirsizdir (bunu zor yoldan öğrendim). – rdegges

cevap

6

Sana Pasaport Google OAuth, sadece Pasaport Google'da (OpenId) modülünü kullanan götürün?

OAuth pasaportunu kullanıyorsanız, Google ile kimlik doğrulaması fazladan kapsam parametresi gerektirir. bir dize olarak

Geçiş, sen mesela 1 kelime olarak 'OpenID' geçmelidir: Örneğin, bir kullanıcının Google Drive'a dosya başına erişimini istiyorsa,

openid profile email https://www.googleapis.com/auth/drive.file 

Kaynak (lar) : hata mesajı için

https://developers.google.com/identity/protocols/OpenIDConnect#scope-param https://developers.google.com/+/api/oauth#login-scopes

+0

https://github.com/jaredhanson/passport-google-oauth vs https://github.com/jaredhanson/passport-google – Sharry

+0

Burada da güzel cevap: http://stackoverflow.com/questions/24352975/passport -google-oauth-on-localhost? lq = 1 – Sharry

0

Error 400 
Error: invalid_request 
Missing required parameter: scope 

Formunuza

<input type="hidden" name="scope" value="https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo#email https://www.googleapis.com/auth/plus.me https://www.googleapis.com/auth/tasks https://www-opensocial.googleusercontent.com/api/people https://www.googleapis.com/auth/plus.login" /> 

linkedin, facebook, twitter ile spring social login bakın ve google Lütfen sağlayıcıları örnek uygulama içinde kapsamları eklemeniz gerekir.

+1

Lütfen birden fazla soruya aynı cevapları göndermeyin. İyi bir cevap verin, sonra diğer soruları kopya olarak kapatmak için oy/bayrak kullanın. Eğer soru bir kopya değilse, * cevaplarınızı soruya göre düzenleyin. * Kendi dış çalışmalarınıza tekrar tekrar bağlanırken, bu gerçeğe dikkat etmeden daha doğru olanı. –

+0

Aslında iki yayın da aynı hata mesajıyla ve sorunla ilgilidir. Yukarıdaki sorunu gidererek bu sorunu çözdüğümden, çözümümüzü başkalarıyla paylaşıyorum. Mesajlarımı buradan sonra çoğaltmayacağım. –

İlgili konular