2011-12-16 13 views
13

मैं का उपयोग कर गूगल से कैलेंडर डेटा हो रही OmniAuth पर काम कर रहा हूँ और गूगल-OAuth -2 रणनीति का प्रयोग।OmniAuth गूगल OAuth 2 रणनीति गुंजाइश विफलता

यदि मैं दायरे के क्षेत्र में कुछ भी नहीं डालता तो यह ठीक काम करता है और मुझे ऑथ/विफलता संदेश के बिना डिफ़ॉल्ट जानकारी मिलती है और मैं सामान्य रूप से ऐप का उपयोग कर सकता हूं।

हालांकि जिस क्षण मैं एक दायरा जोड़ता हूं, जैसा कि नीचे दिए गए उदाहरण में है, मुझे "auth/fail? Message = invalid_credentials" मिलता है।

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :google_oauth2, ENV['TEST_KEY'], ENV['TEST_SECRET'], { :scope => 'https://www.google.com/calendar/feeds/' } 
end 

क्या मुझे कुछ याद आ रहा है या मुझे कुछ बदलना चाहिए?

आप प्रोफ़ाइल कार्यक्षेत्रों में शामिल नहीं है, यह प्रमाणित करने के लिए विफल रहता है:

+0

Omniauth सिर्फ प्रमाणीकरण के लिए है। प्रमाणीकरण टोकन प्राप्त करने के बाद आप कैलेंडर डेटा कैसे प्राप्त करते हैं? – Sharj

उत्तर

23

गूगल-OAuth -2 रणनीति लेखक की ओर से एक त्वरित ई-मेल निम्नलिखित बताया।

अल्पविराम के लिए (कैलेंडर गुंजाइश के साथ) userinfo.email और userinfo.profile जोड़ कर :scope सूची मैं इस समस्या को ठीक करने में सक्षम था अलग कर दिया।

उदाहरण:

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :google_oauth2, ENV['TEST_KEY'], ENV['TEST_SECRET'], 
      { :scope => 'userinfo.email, userinfo.profile, https://www.googleapis.com/auth/calendar' } 
end 
+0

विषम, मुझे यह त्रुटि मिल रही है: 'कुछ अनुरोधित स्कोप अमान्य थे। {वैध = [https://www.googleapis.com/auth/calendar, https://www.googleapis.com/auth/userinfo.email], अमान्य = [https://www.googleapis.com/auth/ ]} 'क्या आप इसमें भाग गए थे? –

+0

क्या आप अपना: स्कोप फ़ील्ड पेस्ट कर सकते हैं? – y4ku

+0

आपके दायरे के समान ही। –

11

अजीब बात है, यह मेरे लिए काम नहीं किया। मैं यह काम कर पा रहा था, दायरे से अल्पविराम को हटाने:

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :google_oauth2, ENV['TEST_KEY'], ENV['TEST_SECRET'], 
    { :scope => 'https://www.googleapis.com/auth/docs https://www.googleapis.com/auth/userinfo.profile' } 
end 
+0

यह मेरे लिए भी काम करता है। अल्पविराम निकालें और पूर्ण यूआरएल का उपयोग करें। धन्यवाद। – rmw

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