2013-08-20 5 views
10

हमारे पास एक आईओएस ऐप है जो देशी फेसबुक लॉगिन का उपयोग करता है ठीक है।क्या सिर्फ एक वेब पेज (वेब ​​ऐप नहीं) से देशी आईओएस फेसबुक लॉगिन संवाद को कॉल करना संभव है?

फिर हमारे पास एक वेबसाइट भी है (ऐप मूल रूप से इसके लिए एक अनुकूलित ग्राहक है) जहां लोग फेसबुक के माध्यम से भी लॉगिन कर सकते हैं। जब वे मोबाइल सफारी में हमारी वेबसाइट खोलते हैं, तो उन्हें वहां फेसबुक प्रमाणीकृत करने के लिए निर्देशित किया जाता है और यह काम करता है, लेकिन .. यह अभी भी मूल से बहुत दूर है और उपयोगकर्ताओं को पहले से ही आईओएस में होने वाले प्रमाण-पत्रों को फिर से टाइप करना होगा।

तो क्या किसी भी तरह से किसी वेब पेज के लिए सिस्टम एफबी प्रमाणीकरण लॉन्च करना संभव हो सकता है (हो सकता है कि कुछ चालाक यूआरएल स्कीमा का उपयोग कर रहे हों?) और वेब पर वापस टोकन दें?

+0

का उपयोग करने का बेहतर प्रयास करें आप अपने मोबाइल ऐप द्वारा अधिग्रहित टोकन का उपयोग कर सकते हैं सर्वर पक्ष (इसलिए यदि वे पहले से ही आपके मोबाइल ऐप के माध्यम से लॉग इन हैं तो उन्हें लॉग इन करने की आवश्यकता नहीं है)। –

+0

हम्म, मोबाइल सफारी खुद को उसी ऐप के रूप में कैसे पहचान सकता है जो हमारे पास ऐप में है? :/ – Artem

+0

आपकी वेबसाइट क्या करती है जिसके लिए प्रमाणीकरण की आवश्यकता होती है? क्या यह ग्राफ एपीआई अनुरोध करता है? यदि ऐसा है, तो यह मोबाइल ऐप से प्राप्त एक ही एक्सेस टोकन का उपयोग कर सकता है। –

उत्तर

0

नहीं, यह अभी तक संभव नहीं सीधे देशी फेसबुक App के माध्यम से उपयोगकर्ता को प्रमाणित करने के लिए है, लेकिन यह एक कस्टम URL योजना है जिसमें जो तब प्रमाणीकरण प्रवाह संभालती अपनी मूल IOS अनुप्रयोग खोलता है का उपयोग कर उपयोगकर्ता को प्रमाणित करने के लिए संभव है:

  1. उपयोगकर्ता आपके आईओएस ऐप के साथ मूल रूप से प्रमाणीकृत करता है। फिर आप अपने ऐप में उपयोगकर्ता लॉगिन ( पासवर्ड) स्टोर करते हैं (यानी NSUserDefaults का उपयोग करके)।

  2. तब उपयोगकर्ता मोबाइल सफारी में अपना वेब पेज खोलता है। आप उपयोगकर्ता को अपने ऐप पर एक कस्टम यूआरएल योजना के माध्यम से रीडायरेक्ट करते हैं (यानी myapp: // प्रमाणीकरण का उपयोग कर)। को लागू करने कस्टम URL को योजनाओं पर एप्पल प्रलेखन: click

  3. अब, अगर आप अपने iOS एप्लिकेशन में एक सक्रिय अमेरिकन प्लान सत्र है, तो आप या तो सीधे उपयोगकर्ता वापस मोबाइल सफारी में अपने लैंडिंग पृष्ठ रीडायरेक्ट कर सकते हैं, यूआरएल के माध्यम से पहुँच टोकन गुजर पैरामीटर प्राप्त करें या आप पहले उपयोगकर्ता नाम को पूर्व-प्रमाणित करते हुए उपयोगकर्ता नाम को पुनः प्रमाणित करते हैं, जिसे आपने पहले अपने आईओएस ऐप में (चरण 1) में संग्रहीत किया है और फिर उपयोगकर्ता को अपने लैंडिंग पृष्ठ पर रीडायरेक्ट किया है, फिर से सभी सत्र राज्य और आपकी सुरक्षा आवश्यकताओं।

+0

प्रश्न एफबी ऐप (सफारी-> एफबी ऐप-> सफारी) के साथ उपयोगकर्ता को प्रमाणीकृत करने के बारे में बात कर रहा है, उपयोगकर्ता ऐप के माध्यम से नहीं (सफारी -> उपयोगकर्ता ऐप -> एफबी ऐप -> सफारी)। हो सकता है कि इसका उत्तर न दें कि हम खोज रहे हैं। –

+0

@ लुइगी सैगज़ीज राइट। सिर्फ "नहीं, यह संभव नहीं है" के जवाब देने के बजाय वैकल्पिक विकल्प प्रदान करना चाहता था। मैंने खुद को स्पष्ट करने के लिए अपना जवाब अपडेट कर लिया है। – borisdiakur

+0

मैंने एक संभावित समाधान जोड़ा है लेकिन हमें पुनर्निर्देशन समस्या के आसपास एक काम खोजने के लिए गहरा जाना चाहिए। –

-1

मैं बिल्कुल आपके प्रश्न को नहीं है, लेकिन मुझे लगता है कि आपके सवाल का प्रति के रूप में आप सफारी में या अपने कस्टम वेब दृश्य में बनाने के लिए अमेरिकन प्लान एप्लिकेशन लॉग इन करना चाहते हैं।

यह सही है?

मेरे ज्ञान वेब दृश्य के अनुसार अलग-अलग चीज है और मूल ऐप अलग-अलग चीज है।

यदि आप वेब व्यू में लॉग इन हैं तो किसी भी टोकन या अन्य चीज़ की जांच करने की आवश्यकता नहीं है क्योंकि यह आपको लॉगआउट चीज़ देगा।

लेकिन यदि आप अपने आवेदन में लॉगिन कर रहे हैं तो "developer.facebook.com" निश्चित रूप से आपकी सहायता करेगा।
और हां, आप मूल ऐप के रूप में अपने ऐप में अधिकांश चीजें करेंगे।

आशा है कि यह मदद ....

3

मुश्किल रास्ता के रूप में यहाँ वर्णित http://aaronparecki.com/articles/2012/07/29/1/oauth2-simplified#mobile-apps आप यूआरएल स्कीम एप्लिकेशन प्राधिकरण के लिए देशी iOS एप्लिकेशन को गति प्रदान करने मिल सकता है:

fbauth://authorize?redirect_uri=[redirect_uri]&client_id=[client_id]&response_type=token 

लेकिन अगर आप फोन उस लिंक को पुनर्निर्देशन करना संभव नहीं है। आप उस पुनर्निर्देशन को हैक करने की कोशिश कर सकते हैं लेकिन शायद आपको कोई रास्ता नहीं मिल सका।

एक सुरक्षित तरीका कि समस्या को हल करने के लिए अपने अनुप्रयोग पर उपयोगकर्ता को प्रमाणित करने जब वह में लॉग एक एसएसओ टोकन का उपयोग करना है, और सफारी पर अगले एक पुनर्निर्देशन ले, कि सेतु के रूप में करते हैं, अपना एपीपी के लिए एक कस्टम यूआरएल, साथ आपके एपीपी में संग्रहीत टोकन के माध्यम से एफबी ऐप तक। एफबी प्रमाणीकरण के बाद आप सीधे सफारी में उपयोगकर्ता को अपने लैंडिंग पृष्ठ पर रीडायरेक्ट कर सकते हैं। जैसा कि @ लेगो ने कहा है, यह प्रमाणीकरण को निर्देशित करने का एक वैकल्पिक तरीका है जिसे एफबी द्वारा उपयोग किए जाने वाले कस्टम यूआरएल पर गहराई से बनाया जा सकता है।

+1

यह एक दिलचस्प विचार है, नानको! निश्चित रूप से केवल उन लोगों के लिए जिनके पास अपना स्वयं का ऐप इंस्टॉल है, लेकिन हे, यह इंस्टॉल करने का एक और कारण है :) फिर मुझे आश्चर्य है कि अगर मैप के लिए हैंडलर है तो वेब पेज के जावास्क्रिप्ट से जांचना संभव है:// सिस्टम में मौजूद .. शायद जांचना संभव नहीं है, लेकिन शायद हम दो जावास्क्रिप्ट अनुरोधों को आग लगा सकते हैं: एक myapp: // और एक और एक वेब लॉगिन करने के लिए। myapp: // बस ओवरराइड होगा। – Artem

+2

ऐसा लगता है कि मैंने जो भी यूआरएल रीडायरेक्ट_री को सेट किया है, मुझे फेसबुक एप में यूआईवेब व्यू में एक श्वेत पृष्ठ मिलता है। – achow

+0

क्या आपको रीडायरेक्ट पर समाधान मिल गया है? –

0

फेस बुक ऐप खोलने के लिए आप कस्टम यूआरएल योजना का उपयोग कर सकते हैं। लेकिन मुझे यकीन नहीं है कि क्या आप इससे उपयोगकर्ता को प्रमाणित कर सकते हैं। यदि आप भी कर सकते हैं तो यह उस एफबी खाते तक ही सीमित होगा जो पहले से ही उस डिवाइस ऐप पर कॉन्फ़िगर किया गया है। इसलिए फेस बुक एपीआई या कुछ

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