22

मैं एक शुद्ध JSON रेल के लिए फेसबुक, ट्विटर, और ईमेल/पासवर्ड प्रमाणीकरण लागू करने के लिए सबसे अच्छा तरीका शोध कर रहा हूं 4.1 एप्लिकेशन जो रेल-एपीआई का उपयोग करता है। रेल ऐप में कोई विचार नहीं है और केवल एंड्रॉइड और आईफोन अनुप्रयोगों के बीच जेएसओएन की सेवा करता है, हाइब्रिड देशी ऐप्स (वे आयनिक ढांचे का उपयोग करते हैं जो मूल अनुप्रयोग में संकलित एक कोणीय अनुप्रयोग है)।रेल जेएसओएन एपीआई ओथ प्रमाणीकरण

अतीत में मैंने मूल प्रमाणीकरण लागू किया है जहां ऑथ में निर्मित रेलों का उपयोग करके किसी भी मुद्दे के साथ क्लाइंट ऐप्स से एक ऐड_टोकन पास नहीं किया जाता है, लेकिन इस बार मुझे फेसबुक और ट्विटर I के साथ एकीकृत करने की आवश्यकता है। मैं एक समाधान की तलाश में हूं जो ओथ का उपयोग करता है।

मैंने तैयार किया है, लेकिन यह शुद्ध JSON एपीआई के साथ अच्छी तरह से खेलना प्रतीत नहीं होता है। इसी तरह, omniauth & रीडायरेक्ट पर भरोसा करता है। इसके अतिरिक्त, ओपेरो और डोरकीपर आपके स्वयं के ओथ प्रदाता होने के लिए बहुत अच्छे लगते हैं लेकिन मुझे नहीं लगता कि वे फेसबुक और ट्विटर जैसी तीसरी पार्टियों को कैसे संभालेंगे।

रेल में शुद्ध JSON API ऐप के लिए बहु-प्रदाता oauth प्रमाणीकरण लागू करने वाले लोग कैसे हैं?

+2

मेरी इच्छा है कि मैं आपको 1 से अधिक अपवोट दे सकता हूं :)। यह * बिल्कुल * समस्या है जो मेरे पास है। हर कोई टोकन प्रमाणीकरण के बारे में बात कर रहा है, लेकिन कोई भी तृतीय पक्ष प्रमाणीकरण करने के तरीके पर बात नहीं कर रहा है। मेरा वर्तमान समाधान यह था कि क्लाइंट मेरे एपीआई पर रीडायरेक्ट करता है, मैं OmniAuth के साथ प्रमाणीकरण का ख्याल रखता हूं, कुकी में एक प्रमाणीकरण टोकन संग्रहीत करता हूं, और उसके बाद क्लाइंट को रीडायरेक्ट करता हूं। लेकिन यह काम करता है क्योंकि मेरे पास एकमात्र ग्राहक ब्राउज़र है, और मुझे एहसास हुआ कि मैं इसे और अधिक सामान्य बनाना चाहता हूं। क्षमा करें, वास्तव में मदद नहीं की :) :) –

+0

@ जॉन हे, आप अंत में प्रमाणीकरण को कैसे कार्यान्वित करते हैं? –

+1

@PaulFitzgerald ने इसे खोला https://github.com/johnkelly/heavenly। मूल रूप से फेसबुक लेख जो प्रमाणीकरण के बाद टोकन ऑथ बन जाता है। – John

उत्तर

3

मैंने उगने का उपयोग करके एक बहुत ही समान JSON एपीआई बनाया। प्रमाणीकरण ने Google, facebook, ट्विटर के खिलाफ प्रमाणीकरण के लिए कस्टम सेवा कक्षाओं का उपयोग किया। फेसबुक के लिए सर्विस क्लास को फेसबुक टोकन की आवश्यकता होती है और फेसबुक से जानकारी लाने और सामाजिक पहचान को पॉप्युलेट करने के लिए Koala gem का उपयोग किया जाता है। यदि आवश्यक हो तो यह एक नया उपयोगकर्ता बनाया गया है या यह एक मौजूदा यूजर या ईमेल के साथ मौजूदा उपयोगकर्ता के साथ सामाजिक पहचान से जुड़ा हुआ है।

इस तरह हमारे पास पूर्ण प्रमाणीकरण प्रक्रिया पर कस्टम बढ़िया नियंत्रण था।

हमने एपीआई दस्तावेज करने के लिए swagger का उपयोग किया और फ्रंटेंड का परीक्षण करने में आसान प्रदान किया।

4

this ब्लॉग पर देखें। यहां लेखक ने कुछ अच्छे आरेखों के साथ रेल बैकएंड के साथ एंड्रॉइड में google oauth2 को लागू करने के लिए समझाया है। उम्मीद है कि यह मदद करेगा।

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