2017-03-08 7 views
12

मेरे पास Ionic2 ऐप है जो मैं GooglePlus Authentication को जोड़ना चाहता हूं।कोणीय/आयनिक के साथ Google OAuth क्लाइंट: मैं redirect_uri कैसे ढूंढूं?

enter image description here

जहां तक ​​मैं समझता हूँ, क्योंकि मैं एक redirect_uri सेट नहीं किया है:

मैं निम्नलिखित त्रुटि मिलती है।

प्रश्न

क्या redirect_uri (Authorized redirect URIs) मैं एक Ionic2 अनुप्रयोग के लिए इस्तेमाल करना चाहिए? मैं उसे कहाँ ढूँढू?

enter image description here

Facebook लॉगिन के साथ निम्न काम करता है।

enter image description here

अद्यतन

these निर्देशों का पालन करना, मैं निम्नलिखित प्रारूप करने के लिए REVERSED_CLIENT_ID बदल दिया है:

"com.googleusercontent.apps.uniqueId" 

तो मुझे लगता है मैं प्रगति की है।

मैं अब iOS में निम्न त्रुटि मिलती है:

enter image description here

here पढ़ने से, इसका मतलब है कि credentials एक Web Applicationhere के लिए नहीं बनाया जाना चाहिए। लेकिन अगर मैं इसे iOS के लिए बना देता हूं, तो यह Android के लिए कैसे काम करेगा? या Android वैसे भी इन प्रमाण-पत्रों का उपयोग नहीं करते हैं?

Android के लिए, जब मैं लॉग इन करने का प्रयास करता हूं, तो मुझे undefined त्रुटि संदेश के साथ अपवाद मिलता है।

तो मैं दो सवाल कृपया:

  1. मैं iOSग्राहक आईडीhere बजाय एक Web application बनाने की जरूरत है?

enter image description here

  1. मैं कैसे Android के लिए इस कॉन्फ़िगर या डिबग करते हैं?

अद्यतन

iOS के लिए मैं एक iOS Client Id जोड़ा गया है और मेरी उलट ग्राहक आईडी से मेल करने के लिए बदल गया है, और Android साथ की तरह, यह मुझे मेरे Google खाते में प्रवेश करने के लिए प्रेरित किया। तो यह आगे की प्रगति की तरह दिखता है।

हालांकि, एक बार जब मैं साइन इन करता हूं, Android के साथ अब मुझे undefined के रूप में संदेश के साथ अपवाद मिलता है। Xcode सांत्वना तथापि में, मैं निम्नलिखित मिलता है:

com.google.HTTPStatus error 400.

these के बाद, मैं अब iOS और Android दोनों के लिए साख बनाई है।

enter image description here

मैं नए आईडी में Android और iOS आईडी कॉन्फ़िगर किया है।

मैं पर दोनों Androidand आईओएस undefined के रूप में संदेश के साथ एक अपवाद मिलता है।

अद्यतन

iOS के लिए काम मिल गया। webClientId विकल्प जब आप login पर कॉल करते हैं तो उल्टा क्लाइंट आईडी नहीं बल्कि क्लाइंट आईडी होना चाहिए।

 GooglePlus.login({ 
      'webClientId': 'xxxxx.apps.googleusercontent.com', 
      'offline': true 
     }).then(googleData => { 

अब यह पता लगाने के लिए कि Android क्यों काम नहीं करता है।

एंड्रॉइड में अब मुझे error = 12501 मिलता है (जो कि मेरे कीस्टोर के साथ कुछ गड़बड़ का परिणाम है)।

अद्यतन

मैं कुंजीस्टोर उत्पन्न करते हैं। these निर्देशों के अनुसार, मैं SHA1 को Signing-certificate fingerprint पर कॉपी करता हूं। लेकिन अभी भी error = 12501 प्राप्त करें।

enter image description here

+0

जोश Morony के लिए एक लेख यहां इस पर निर्माण के दौरान लिखा

Signing-certificate fingerprint करने के लिए SHA1 कॉपी करें। शायद यह आपके लिए कुछ प्रकाश डाल सकता है: https://www.joshmorony.com/implementing-google-plus-sign-in-with-oauth-2-0-in-ionic-2/ – JGFMK

उत्तर

0

आप आईओएस काम कर गया के रूप में, यहाँ Android के लिए समाधान है।

अपने अनुप्रयोग के APK बिल्ड और फिर से चलाने के लिए इस कमान

keytool -list -printcert -jarfile app.apk 

उत्पादन Signature, Certificate fingerprints (MD5, SHA1 and SHA256) और APK के Extensions का पता चलता है। ग्राहक आईडी एंड्रॉयड

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