2012-04-25 12 views
5

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

मैं इस तरह के समाधान के लिए एक समान वास्तुकला बनाने का तरीका जानने का प्रयास कर रहा हूं। मैं निम्नलिखित चीज़ के बारे में सोच रहा हूँ:

पंजीकरण:

  • मेरी उन युक्त एक डेटाबेस तालिका बनाएँ (तालिका इन क्षेत्रों होगा: आईडी, facebook_uid, firstname, lastname)
  • iPhone App लॉगिन परिदृश्य: फेसबुक के माध्यम से उपयोगकर्ता लॉग इन; मेरे ऐप के लिए अनुमति देने की अनुमति देने पर प्रेस; access_token (जो उसके फोन पर संग्रहीत है) के साथ ऐप पर लौटता है। उसके बाद इन जानकारी के साथ उपयोगकर्ता को पंजीकृत करने के लिए अपने स्वयं के एपीआई को कॉल करें (यदि डेटाबेस में अभी तक पंजीकृत नहीं है): facebook_uid, firstname और lastname।
  • वेबसाइट लॉगिन परिदृश्य: फेसबुक के माध्यम से उपयोगकर्ता लॉगिन; मेरी कॉन्फ़िगर किया गया वापसी यूआरएल पर रीडायरेक्ट और (डेटाबेस में अभी तक नहीं तो) उपयोगकर्ता पंजीकृत करता है इन मूल्यों के साथ facebook_uid, FirstName और अंतिम नाम

एक उत्पाद की समीक्षा

  • iPhone App पोस्ट करना: एक कॉल करें निम्नलिखित पैरामीटर इनपुट के साथ मेरे एपीआई में: review_text, facebook access_token। मेरा एपीआई फिर फेसबुक_यूआईडी प्राप्त करने के लिए फेसबुक पर एपीआई कॉल को सर्वर पर लाएगा। जब मैंने facebook_uid को पुनर्प्राप्त किया है, तो मैं डेटाबेस में इस फेसबुक उपयोगकर्ता के लिए समीक्षा रिकॉर्ड डालता हूं। (फेसकबुक access_token भेजने के बजाय मैं सीधे अपने एपीआई में facebook_यूआईडी वैल्यू भेज सकता था। लेकिन मैंने सोचा कि यह कम सुरक्षित हो सकता है, क्योंकि अगर कोई अन्य उपयोगकर्ता के व्यवहार पर समीक्षा कर सकता है तो वे अपने फेसबुक_यूआईडी को जानते हैं)

  • वेबसाइट: फेसबुक कनेक्ट PHP लाइब्रेरी एफबी लॉगिन सत्र की सहायता से उपलब्ध है, इसलिए मैं सत्रों को फेसबुक_यूआईडी पढ़कर सीधे सर्वर की तरफ समीक्षा कर सकता हूं।

क्या यह फेसबुक का उपयोग अपने प्लेटफ़ॉर्म के लिए लॉगिन के रूप में करने का एक सही और सुरक्षित तरीका है? या क्या कोई अन्य PHP मॉड्यूल/पुस्तकालय हैं जिनका उपयोग मैं इसे सरल बनाने के लिए कर सकता हूं?

उत्तर

0

फेसबुक यहाँ एक मौजूदा एपीआई http://developers.facebook.com/docs/guides/web/

पेज भी कैसे लागू करने के लिए इस

iPhone विशिष्ट फेसबुक लॉगइन के लिए कृपया यहाँ देखने https://developers.facebook.com/docs/mobile/ios/build/#implementsso

+0

मुझे फेसबुक एपीआई और पुस्तकालयों (जो मैं PHP एप्लिकेशन और आईफोन ऐप में उपयोग कर रहा हूं) से अवगत हूं। यहां बात यह है कि मैं अपने डेटाबेस में संग्रहीत अपनी इकाइयों/उत्पादों का पर्दाफाश करने के लिए अपना स्वयं का एपीआई बना रहा हूं। मेरा अपना एपीआई उत्पाद की समीक्षा लिखने या हमारे सर्वर पर उत्पाद फोटो अपलोड करने जैसी कार्यक्षमता प्रदान करता है। इसलिए मुझे फेसबुक उपयोगकर्ता को प्रमाणीकृत करने की आवश्यकता है। –

+0

ओह मैं देखता हूं। यह एक मुद्दा नहीं होना चाहिए। लॉगिन एपीआई उपयोगकर्ता को लॉग इन करेगा। वहां से आप अपने एपीआई में उपयोगकर्ता नाम आदि पास कर पाएंगे। फेसबुक एपीआई लॉग इन करने से संबंधित है। यही आपके प्रश्न से सही है? – Jamesp1989

+0

हां, इसलिए मुख्य बात यह थी कि यह एक सुरक्षित तरीका है; मेरे उपयोगकर्ता डेटाबेस तालिका में एक नया उपयोगकर्ता जोड़ने के लिए HTTPS पर अपने स्वयं के एपीआई पर फेसबुक ACCESS_TOKEN पास कर रहा है। और जब मैं अपनी खुद की एपीआई के माध्यम से एक समीक्षा पोस्ट कर रहा हूं या ACCESS_TOKEN को फिर से पास कर रहा हूं तो मेरा स्वयं का एपीआई स्वयं को हल कर सकता है जो facebook_uid है। –

0

मैं एक ऐसी ही में हूँ पर एक ट्यूटोरियल शामिल है परिदृश्य। फोन पर access_token रखना एक अच्छा विचार प्रतीत होता है, फिर अपने एपीआई के माध्यम से अपने डेटाबेस पर उपयोगकर्ता को सत्यापित करने के लिए इसे एक अच्छा विचार जैसा लगता है।

क्या यह access_token को एन्क्रिप्ट करने और इसे अपने डेटाबेस में संग्रहीत करने के लिए सुरक्षित नहीं होगा और इसके विपरीत जांचें कि फेसबुक एपीआई को लगातार पिंग करने के विरोध में i.e.:

  1. फेसबुक के माध्यम से लॉगिन करें, फेसबुक यूआईडी और access_token प्राप्त करें।
  2. एमडी 5/शा के माध्यम से एन्क्रिप्टेड आपके डेटाबेस में यूआईडी और/या access_token दोनों को स्टोर करें।
  3. प्रत्येक बार जब आपका एपीआई कॉल करता है, तो access_token पास करें और कॉल को सत्यापित करने के लिए संग्रहीत किए गए किसी के विरुद्ध जांचें?
संबंधित मुद्दे

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