2012-12-13 32 views
5

मैं उन बहु-प्रदाता प्रमाणीकरण ढांचे में से एक का उपयोग करने जा रहा हूं ओपथ या हाइब्रिडाथ (यह नहीं पता कि कौन सा सबसे अच्छा है लेकिन मुझे दूसरे के लिए थोड़ा वरीयता थी) इसलिए परिणाम यह है कि मुझे बहु खाता प्रबंधित करना है ।मेरी वेबसाइट में बहु-प्रदाता (फेसबुक, ट्विटर) से उपयोगकर्ता खाते का प्रबंधन कैसे करें?

वास्तव में मेरे पास पहले से ही मेरा खाता प्रबंधन (लॉगिन + पासवर्ड + ईमेल) है और मेरे पास पिछले साल फेसबुक उपयोगकर्ता थे। अब मुझे ट्विटर अकाउंट, लिंकिन अकाउंट इत्यादि से निपटना होगा ... तो सवाल आसान है: उपयोगकर्ता नाम कैसे प्रबंधित करें? उदाहरण के लिए, जॉन मेरी साइट पर खाता बनाते हैं। तो "जॉन" लॉगिन/उपयोगकर्ता नाम लिया जाता है। लेकिन अगर फेसबुक से एक और जॉन ट्विटर पर आता है, तो मुझे क्या करना है? स्टैक ओवरफ्लो (या अन्यत्र) में, अभ्यास क्या है?

मैं नहीं चाहता कि जॉन किसी अन्य जॉन की तरफ से लिख ले। आज अपने सिस्टम के साथ, मैं सत्यापित करता हूं कि लॉगिन (उपयोगकर्ता नाम) अद्वितीय है। यदि नहीं, तो मैं उपयोगकर्ता को अस्वीकार करता हूं। पर अब ?

मैंने सोचा कि मैं ईमेल देख सकता हूं लेकिन ... मैंने सीखा है कि ट्विटर का कारण ईमेल पता नहीं हो सकता है जो आपको यह नहीं देता है।

आशा मैं काफी स्पष्ट :)

संबंध

उत्तर

0

तुम कहो यह सिर्फ विभिन्न स्रोतों से उपयोगकर्ता नाम वापस प्राप्त करने के लिए और बस की दुकान संभव नहीं है हूँ। मुझे नहीं पता कि यह स्टैक ओवरफ्लो में कैसे किया जाता है लेकिन यदि आप नाम पंजीकृत करने का प्रयास करते हैं तो वैकल्पिक है, इसलिए शायद यह एक अनूठी कुंजी नहीं है। मैं यहां ट्विटर के साथ लॉगिन करने का तरीका नहीं देख सकता, इसलिए मैं शर्त लगाता हूं कि ईमेल एक अनूठी कुंजी है।

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

आप उन (या gmail चहचहाना ...) फेसबुक के साथ रजिस्टर करने तो आप अगले तरीकों का उपयोग कर सकते हैं (मुझे यकीन है कि वहाँ कुछ और कर रहे हैं हूँ) की अनुमति देते हैं:

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

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

  3. आप पहले दृष्टिकोण का उपयोग कर सकते हैं और उपयोगकर्ता को अन्य उपयोगकर्ता (आपके मामले में नाम) के साथ संघर्ष में बदलाव करने के लिए कह सकते हैं या यहां तक ​​कि गुम होने के बारे में पूछने के लिए भी पूछ सकते हैं कि वे किस सोशल नेटवर्क पर हस्ताक्षर करने के लिए उपयोग कर रहे हैं यदि आप अपने उपयोगकर्ता की पहचान करने के लिए स्टोर करना चाहते हैं तो आप कॉलिशन संभावना को कम करने के लिए नाम के रूप में नाम + उपनाम का उपयोग कर सकते हैं।

आशा इस मदद करता है

+0

मदद के लिए धन्यवाद @LuisClemente। वास्तव में, मुझे अद्वितीय आईडी के प्रबंधन में कोई समस्या नहीं है। प्रत्येक प्रदाता यूनिकिटी को इतनी गैर समस्या का प्रबंधन करता है। मेरा सिस्टम इसे भी प्रबंधित करता है लेकिन ईमेल + लॉगिन पर आधार। सवाल यह है कि जॉन और जॉन के बीच अंतर जानने के लिए जब जॉन उदाहरण के लिए एक समाचार टिप्पणी करता है। मैंने अभी देखा है कि स्टैक ओवरफ्लो यूआरएल में एक अद्वितीय आईडी जोड़ता है। मैंने सभी "पियरोट" और 2 मौजूद हैं :) ==> SO.com/users/ ** 985357 **/pierrot – Pierrot

+0

@Pierrot तो आपका उत्तर है। जैसा कि यहां लगता है कि नाम को डुप्लिकेट किया जा सकता है (इसलिए अनूठी कुंजी) और यदि आप उनकी प्रोफ़ाइल देखते हैं (या उनके पास अलग अवतार या कुछ एक्सडी है) तो आप केवल अंतर बता सकते हैं। जैसा कि मैंने कहा है कि यह पूरी तरह से आपके उपयोगकर्ताओं के लिए इच्छित अनुभव पर निर्भर करता है और आपकी साइट के काम के लिए महत्वपूर्ण क्या है। – LuisClemente

+0

हां @LuisClemente, आप सही हैं। मुझे अपनी वेबसाइट के व्यवहार को पूरक रूप से बदलना है। लेकिन मुझे लगता है कि यह सबसे अच्छा है और जैसा कि मैंने [janrain.com] (http://janrain.com) पर पढ़ा है, मैं ओपनआईडी खाता प्रबंधन के साथ अधिक सदस्य खींचने में सक्षम हूं। बहुत बहुत धन्यवाद। चीजों को स्पष्ट देखने में मदद पर चर्चा करें :)। – Pierrot

0

HybridAuth आप एक शानदार तरीका सामाजिक मीडिया के साथ अपनी साइट को एकीकृत करने देता है ...

http://hybridauth.sourceforge.net/

यह भी मदद करनी चाहिए ...