मैं वर्तमान में रेल बैकएंड के साथ एक आईफोन ऐप बना रहा हूं। मैं आईफोन पर पूरी तरह से फेसबुक के सिंगल साइन ऑन (एसएसओ) का उपयोग कर रहा हूं और प्रमाणीकरण क्लाइंट एंड पर बहुत अच्छा काम करता है। मैं रेलवे पर बैकएंड के रूप में उपयोग कर रहा हूं।फेसबुक से access_token के साथ रेल प्रमाणीकरण
नोट मैं Design for Facebook authentication in an iOS app that also accesses a secured web service पहले से ही
सलाह ली मुझे लगता है कि वसीयत कुछ token_authenticable कहा जाता है जो मूलतः "टिकट" है कि धागे के चरण 5 में वर्णित है। {: एक्स ACCESS_TOKEN}
- उपयोगकर्ता संकेत देख फेसबुक एसएसओ को
- उपयोगकर्ता के साथ myserver.com/sessions/fb_sso को फोन करेगा है (SessionsController # fb_sso पर, मैं ACCESS_TOKEN के साथ फेसबुक के लिए एक API कॉल
- तो ACCESS_TOKEN मान्य है, जाँच उपयोगकर्ता db में मौजूद है, तो कर देगा। उपयोगकर्ता मौजूद नहीं है, तो
- अब हम {लौट सकते हैं एक नया उपयोगकर्ता बनाने user_id: X, devise_auth_token: Y} कॉल पर वापस 1)
यह बहुत सीधे आगे है। हालांकि, मेरे पास कुछ प्रश्न हैं:
- devise_auth_token के साथ, क्या इसका मतलब है कि मुझे अब साइन_इन ("उपयोगकर्ता", संसाधन) को तैयार करने के लिए कॉल नहीं करना है? (यहां पाया गया http://jessewolgamott.com/blog/2012/01/19/the-one-with-a-json-api-login-using-devise/)
- कोड को 3-4 के लिए रखने का सबसे अच्छा स्थान कहां होगा?
- मुझे इस विषय के बारे में Google पर बहुत कुछ नहीं लगता है। एक प्रक्रिया के लिए वहां इतने कम ट्यूटोरियल क्यों हैं? क्या मुझे कुछ स्पष्ट रूप से स्पष्ट याद आ रही है?
आप फेसबुक कनेक्टिविटी के लिए Omniauth मणि का उपयोग कर रहे के माध्यम से जाना जा सकता है? मस्तिष्क और सर्वव्यापी संयोजन आपके लिए 3 और 4 का ख्याल रखता है! – MBHNYC
@MBHNYC: अगर मैं गलत हूं तो मुझे सही करें, लेकिन यह केवल उस मामले के लिए है जब उपयोगकर्ता वेबसाइट के माध्यम से साइन इन करता है। ओपी के मामले में, उपयोगकर्ता आईफोन ऐप के माध्यम से लॉग इन करता है। वेबसाइट प्रवाह नहीं देखती है। –
हां, लेकिन आप अभी भी फेसबुक पर एक ही जानकारी उत्तीर्ण कर रहे हैं और कॉलबैक को किसी भी विचार (या जो भी आईओएस ऐप की आवश्यकता है) प्रस्तुत करने के लिए संशोधित किया जा सकता है, यदि आप सभी devise + omniauth नियंत्रकों/विचारों को उत्पन्न/ओवरराइड करते हैं, अनुरोध को पूरा करने के लिए ओपी के पास सभी प्रोग्रामेटिक टूल्स होना चाहिए। – MBHNYC