2015-10-30 7 views
5

मेरे पास एक वेब ऐप पर काम कर रहे 3-पैर वाले ऑथ फ्लो हैं।मोबाइल ऐप पर तीन पैर वाले ओथ प्रवाह

  • उपयोग गूगल के साथ कनेक्ट क्लिक करता है
  • वे OAuth संवाद पर स्वीकार गूगल प्रदान करता है कि
  • पेज एक कोड पैरामीटर जो मैं भेजने के साथ अपने बैकएंड के/OAuth/गूगल अंतबिंदु पर पुन: निर्देशित हो जाता है: यह इस प्रकार है Google को refresh_token प्राप्त करने के लिए, इसलिए मैं उनकी ओर से डेटा (जैसे कैलेंडर जानकारी) तक पहुंच सकता हूं
  • मैं URL में अपना स्वयं का जेडब्ल्यूटी टोकन पास करने वाले वेब ऐप पर वापस रीडायरेक्ट करता हूं।
  • जब भी वेब एप्लिकेशन api.mybackend.com/me की तरह एक अनुरोध करता है कि वे जेडब्ल्यूटी टोकन मुझे लगता है मैं एक मोबाइल एप्लिकेशन में कुछ इसी तरह पूरा करने के लिए कोशिश कर रहा हूँ

प्रदान की का उपयोग करें। ऐसा करने का स्वीकार्य तरीका क्या है? क्या यह एक ही तर्क है?

यदि यह मदद करता है, तो मेरा बैकएंड रेल पर रूबी है और मैं स्विफ्ट में मोबाइल ऐप लिख रहा हूं।

धन्यवाद!

उत्तर

3

आप HTTP अनुरोध बनाने के लिए NSURLSession उपयोग कर रहे हैं, तो see this for information about handling redirects.

गूगल भी कुछ पहले से बने Google साइन-इन iOS और Android के लिए है कि आप अपने अनुप्रयोग में शामिल कर सकते हैं से मिलता-जुलता संकुल, है आपका वेब क्लाइंट मैंने कभी उनका उपयोग नहीं किया है, इसलिए मैं नहीं जानता कि वे आपके ऐप के साथ वास्तव में कैसे एकीकृत होंगे।

वैकल्पिक रूप से आप अपने बैकएंड में एक प्रमाणीकरण समापन बिंदु सेट कर सकते हैं जो पूरी चीज को संभालता है, ऐप केवल आपके सर्वर पर एक अनुरोध करता है और आपके सर्वर को Google के साथ संचार संभालता है। तो, उदाहरण के लिए, आप उपयोगकर्ता को/oauth/मोबाइल पर अनुरोध सबमिट कर सकते हैं। सर्वर तब Google को प्रमाणीकरण अनुरोध सबमिट करता है और पहुंच टोकन और रीफ्रेश टोकन प्राप्त करता है। फिर आप सर्वर से अपना ऐप का टोकन वापस कर सकते हैं। Google has some documentation on Google Sign-In for server-side apps that may be relevant.

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