2014-05-08 6 views
9

मेरे पास एक मोबाइल ऐप है जो बैकएंड सर्वर के साथ काम कर रहा है, मैं समझना चाहता हूं कि सर्वोत्तम अभ्यास क्या हैं लॉग इन करने के लिए फेसबुक का उपयोग करना (खाता बनाएं) और फिर पूरे सिस्टम को सिंक में बनाए रखने के लिए।मोबाइल ऐप के लिए फेसबुक लॉगिन करने का सही तरीका क्या है (node.js/passport.js सर्वर के साथ)

यहां तक ​​कि मैं अब तक समझता हूं: - मोबाइल ऐप डिवाइस पर लॉगिन कर सकता है और access_token प्राप्त कर सकता है - एक्सेस टोकन को सर्वर पर स्थानांतरित किया जा सकता है। मैंने कुछ api.myhost.com/auth/facebook मार्ग पर लगाए गए पासपोर्ट-फेसबुक-टोकन का उपयोग करके अवधारणा का सबूत किया, और ऐसा लगता है कि मैं उपयोगकर्ता को प्रमाणीकृत कर सकता हूं और उसका एफबी डेटा पुनर्प्राप्त कर सकता हूं। इसलिए मैं या तो अपने डेटाबेस में मौजूदा उपयोगकर्ता से मिलान कर सकता हूं या एक नया रिकॉर्ड बना सकता हूं।

मुझे क्या समझ में नहीं आता: 1) क्या मुझे अपने सर्वर पर एफबी टोकन स्थानांतरित करने के लिए https का उपयोग करना चाहिए?

2) मैं अपने अन्य अनुरोधों के लिए क्या करता हूं जिन्हें प्रमाणित किया जाना चाहिए। मुझे नहीं लगता कि हर अनुरोध के लिए एफबी में जाना एक विकल्प है। एक विकल्प जो दिमाग में आता है वह एक और (मेरा स्वयं का) पहुंच टोकन उत्पन्न करना और एफबी प्रमाणीकरण के परिणामस्वरूप इसे वापस करना है।

पासपोर्ट-फेसबुक-टोकन सत्रों का उपयोग करके ऐसा करने का सबसे आसान तरीका है (ताकि कुकी सत्र आईडी को क्रमबद्ध किया जा सके और उपयोगकर्ता आईडी में डी-सीरियलाइज्ड किया जा सके)। लेकिन इसका मतलब है कि मुझे सत्रों के लिए कुछ केवी स्टोरेज बनाए रखना होगा।

एक और तरीका उस उपयोगकर्ता के लिए अपना खुद का यादृच्छिक टोकन उत्पन्न करेगा, इसे सफल लॉगिन पर उपयोगकर्ता आईडी के साथ वापस कर दें, इसे उपयोगकर्ता रिकॉर्ड में संग्रहीत करें और क्लाइंट से प्रत्येक एपीआई कॉल इस आईडी/टोकन जोड़ी प्रदान करें और उन्हें पुनः सत्यापित करें प्रत्येक बार पासपोर्ट पर भरोसा किए बिना मैन्युअल रूप से। या फिर पासपोर्ट स्थानीय रणनीति पर भरोसा कर सकते हैं?

कौन सा बेहतर है? प्रत्येक के पेशेवर/विपक्ष क्या हैं?

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

क्या वहां कहीं भी काम करने वाली योजना की एक कुकबुक है जो अच्छी तरह से काम करती है?

धन्यवाद!

+0

क्या आपने कभी यहां कुछ उपयोगी पाया है? – SJoshi

उत्तर

0

फेसबुक टोकन सुरक्षा

टोकन आप अपना मोबाइल एप्लिकेशन क्लाइंट पर बनाई है, जिसे कि आप प्रमाणीकरण में करने के लिए आईडी दे दिया है अपने Facebook अनुप्रयोग के लिए है। इंटरनेट या किसी अन्य अस्थिर जानकारी पर टोकन को संचारित करते समय मैं हमेशा HTTPS का उपयोग करता हूं।

फेसबुक टोकन & समाप्त हो रही

ताज़ा जब आप अपने मोबाइल एप्लिकेशन में प्रमाणीकरण करते हैं तो आप अक्सर टोकन के माध्यम से जवाब में टोकन का समाप्त हो रही समय मिल जाएगा। टोकन समाप्ति Facebook API में समझाया गया है।

मूल निवासी मोबाइल फेसबुक के SDKs का उपयोग कर लंबे समय तक रहा पहुंच टोकन, के बारे में 60 दिनों के लिए अच्छा मिल जाएगा क्षुधा।इन टोकन प्रति दिन एक बार ताज़ा हो जाएंगे जब आपके ऐप का उपयोग करने वाला व्यक्ति फेसबुक के सर्वर से अनुरोध करता है। यदि कोई अनुरोध नहीं किया जाता है, तो टोकन लगभग 60 दिनों के बाद समाप्त हो जाएगा और व्यक्ति को नया टोकन प्राप्त करने के लिए फिर से लॉगिन प्रवाह से गुजरना होगा।

टोकन ताज़ा बारे में:

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

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

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