2010-07-07 13 views
12

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

परिदृश्य # साइट पर 1
उपयोगकर्ता रजिस्टरों साइट के प्रमाणीकरण का उपयोग।
उपयोगकर्ता फिर फेसबुक कनेक्ट का उपयोग कर साइट पर/रजिस्ट्रार पर हस्ताक्षर करता है।
उपयोगकर्ता ट्विटर का उपयोग कर साइट पर/रजिस्टरों पर हस्ताक्षर करता है।

मैं इन सभी को एक खाते में कैसे एकीकृत कर सकता हूं?

स्पष्ट रूप से उपयोगकर्ता पंजीकृत होने के बाद, वे खाता सेटिंग पृष्ठों में अन्य सोशल नेटवर्क संघ जोड़ सकते हैं। लेकिन अगर मैं अन्य सोशल नेटवर्क के माध्यम से पंजीकरण करता हूं तो याद नहीं है कि वे पहले से ही सेटअप कर रहे हैं।

मेरे सामान्य विचार "उपयोगकर्ता नाम" का उपयोग करने के लिए एक तरीका जानने का प्रयास कर रहे हैं या ईमेल को कोशिश करने और अनुमान लगाने और उपयोगकर्ता को वहां खातों को गठबंधन करने का एक तरीका प्रस्तुत करने का प्रयास कर रहे हैं।

किसी के पास कोई विचार है? जैसा कि आप वर्णित)

ज्यादा, मैं योजना बना रहा हूँ,

अपने उपयोगकर्ताओं को याद करता है, तो नहीं कर सकते कि वे पहले से अच्छी तरह से साइन अप किया है, भाग्य का सबसे अच्छा करने के लिए उन्हें सामान्य रूप में -

उत्तर

4

निम्नलिखित उपयोगकर्ताओं को एक या दूसरे माध्यम से साइन इन करने के बाद अतिरिक्त खातों को जोड़ने का विकल्प देने पर।

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

यह भी गारंटी नहीं है कि उपयोगकर्ता ने प्रत्येक सोशल नेटवर्क खाते के लिए समान ईमेल पता का उपयोग किया है, इसलिए यदि आप कोई पता पुनर्प्राप्त करने का प्रबंधन करते हैं तो यह आपके लिए किसी भी प्रकार का उपयोग हो सकता है या नहीं।

आखिरकार, यदि आपको इस तरह के माध्यम से मेल खाने वाले ईमेल पते मिलते हैं, तो सलाह दी जा सकती है कि उपयोगकर्ता को खातों को लिंक करने के लिए संकेत दें कि वह यह स्वचालित रूप से करना चाहता है। कुछ लोग कई व्यक्तित्व बनाए रखना पसंद करते हैं। यानी ऐसा लगता है कि आप ट्विटर के साथ भी साइन अप हैं - क्या आप अपने खातों को लिंक करना चाहते हैं? इससे आपके जीवन को लायक लगेगा। "

आप उपयोगकर्ता खातों को जोड़ने या ईमेल पता प्रदान करने के लिए प्रोत्साहन प्रदान करने पर विचार कर सकते हैं (यह जानने के लिए कि आपकी वेबसाइट की कार्यक्षमता के आधार पर ये क्या हो सकता है)।

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

मेरे (मानसिक/वास्तविक) नामस्थान में जो उपयोगकर्ता पुराने तरीके से पंजीकृत होता है, उसके पास 'मानक' खाता होता है और जो सोशल नेटवर्क का उपयोग करता है, उसका 'उपनाम' खाता होता है। तो लक्ष्य यह निर्धारित करने के लिए होता है कि उपनाम कहां इंगित करना है, यानी लुकअप बनाएं जैसे कि के माध्यम से बाद में लॉगिन का अर्थ दोनों खातों के लिए प्रासंगिक जानकारी पुनर्प्राप्त करता है ('मानक' के लिए व्यक्तिगत डेटा प्रदर्शित करने के लिए प्राथमिकता के साथ) लेखा)।

बीटीडब्ल्यू मुझे पता चला कि मेरी आखिरी पोस्ट के बाद ट्विटर ओएथ व्यवहार कैसे करें - यदि आप रुचि रखते हैं तो आप विवरण के लिए मेरे अन्य उत्तरों देख सकते हैं।

जेबी

हाय मैट,

मैं एक ही समस्या सही पर काम कर रहा हूँ।

उपयोगकर्ता संभालने नियमित साइट खाते में या तो OAuth (जो नहीं जरूरी अगर वह देखता ग्रहण करने के लिए सुरक्षित सभी सुंदर बटन !!! "XXX नेटवर्क से जुड़ने के"), आप उपयोग कर सकते हैं के साथ शुरू होता या जावास्क्रिप्ट एपीआई (फेसबुक कनेक्ट या @anywhere - ने बाद में को पूरी तरह से नहीं देखा है और मुझे यकीन नहीं है कि मैं इसे के रूप में अनुशंसा करता हूं, मुझे नहीं लगता कि यह एपीआई समृद्ध समेत बैकएंड पुस्तकालयों के रूप में प्रदान करता है) अन्य साइटों पर लॉगिन करें।

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

उपयोगकर्ता साइट पर वापस जब, आप तो

1 सामाजिक नेटवर्क सेवाओं (विभिन्न योजनाओं द्वारा निर्धारित कुकीज़ आम तौर पर एक हस्ताक्षर सत्यापित करने के लिए, अपने आवेदन की SHA1 या MD5 हैश पर आधारित सत्यापित कर सकते हैं डेटा - जिसके द्वारा मेरा डेटा मिलता है जब आप अपने ऐप को ट्विटर/फेसबुक के साथ पंजीकृत करते हैं, आमतौर पर उपभोक्ता कुंजी, एप्लिकेशन आईडी इत्यादि - प्राप्त कुकीज़ के साथ) ताकि आप उपयोगकर्ता के साथ लॉग इन कर सकें सामाजिक नेटवर्क

2 के रूप में अपने उपयोगकर्ता लॉगिन

3 ऊपर वर्णित अपने डेटाबेस प्रविष्टि संघ खोजने के लिए मैन्युअल रूप से पर धारणा है कि फेसबुक/ट्विटर कनेक्शन सुरक्षित है आधारित।

चेतावनी: यह केवल के रूप में अपने कार्यान्वयन के रूप में सुरक्षित (या के रूप में सुरक्षित के रूप में फेसबुक/ट्विटर के कार्यान्वयन है, अगर आप चाहें तो ... http://dev.twitter.com/pages/auth

सौभाग्य:)

हालांकि चहचहाना का OAuth नहीं वर्तमान में ठीक से काम करने लगते हैं करता है, उनके प्रक्रिया का सामान्य विवरण सुंदर जानकारीपूर्ण है।

जम्मू

+0

जे, इस मुद्दे पर काम करने वाले किसी और को देखने में खुशी हुई। मुझे लगता है कि मैंने आपके द्वारा वर्णित परिदृश्य प्राप्त किया है, जहां उपयोगकर्ता पहले साइट खाता पंजीकृत करता है, और फिर अन्य सोशल नेटवर्क खातों को संलग्न करना चाहता है, आदि मेरा मुख्य मुद्दा अन्य परिदृश्य को समझ रहा है, जब उपयोगकर्ता पहले " एक साइट खाता के बिना, XXX "बटन के साथ साइन-इन करें। जाहिर है, मुझे स्वचालित रूप से एक खाता उत्पन्न करने की आवश्यकता है, लेकिन जब वे साइट पर वापस आते हैं तो क्या होता है, और "XXX के साथ साइन-इन" बटन का उपयोग करते हैं? क्या मुझे ईमेल के आधार पर जांच करनी चाहिए? मुझे उपयोगकर्ता को क्या दिखाना चाहिए? मैट – Matt

+0

मूर्खतापूर्ण योजना ढूंढना मुश्किल है। एक बात - वास्तव में एक यूएक्स समाधान के रूप में एक प्रोग्रामेटिकल नहीं है - मैंने देखा है कि साइट्स के पास प्रोफाइल पेज है (और कभी-कभी उपयोगकर्ता को 'अपनी प्रोफ़ाइल को पूरा करने' के लिए किसी भी तरीके से प्रोपेट करें) जहां कोई अतिरिक्त या 'लिंक' दर्ज कर सकता है 'सोशल नेटवर्क सेटिंग्स। एक बार आपके पास यह डेटा हो जाने पर आप लॉजिकल निष्कर्ष सर्वर-साइड खींच सकते हैं और अपने उपयोगकर्ता डीबी में उपयुक्त लिंक बना सकते हैं। – jsh

1

मैं अपने अनुप्रयोग के लिए अमेरिकन प्लान प्रमाणन जोड़ने पर विचार कर दिया है, लेकिन हम जानते हैं कि हमारे लौटने वाले उपयोगकर्ताओं के लिए यह और एक नया आइटम के लिए पूर्ण चेकआउट क्लिक कर सकता है कि, और उसके बाद के किसी भी नहीं देख कर हैरान हो उनके मौजूदा आदेश इस का समाधान करने के लिए, जब कोई उपयोगकर्ता आइटम 'Facebook के साथ लॉग इन' पर क्लिक करता है, हम उस का उपयोग कर रहे दो विकल्पों के साथ एक ड्रॉपडाउन मेनू आग पर क्लिक करें:

mockup

[फेसबुक के साथ लॉगिन]
[नया खाता बनाएँ ]
[मेरे पास एक खाता है]

यदि उपयोगकर्ता 'मेरे पास खाता है' पर क्लिक करता है तो हम उन्हें एफबी ऑथ पर भेजते हैं और एफबी से हमारे ऐप पर ईमेल वापस भेजते हैं। हम उस ईमेल की तुलना हमारे मौजूदा उपयोगकर्ताओं से करते हैं। यदि हम मेल खाते हैं, तो हम उपयोगकर्ता को एफबी क्रेडिट जोड़ते हैं। यदि कोई मिलान नहीं है, तो हम एक चेतावनी फेंकते हैं:

आपके पास एफबी के साथ ईमेल हमारे किसी भी खाते से मेल नहीं खाता है। अपने मौजूदा खाते में लॉग इन करने के लिए, नीचे अपने ईमेल से लॉगिन करें, या अपने फेसबुक खाते में ईमेल अपडेट करें

यह उपयोगकर्ता को एक नया खाता बनाने की अनुमति देता है, अगर वे उन्हें अलग रखना चाहते हैं, बिना किसी आवश्यकता के नई ईमेल सेवा। हालांकि यह एक बढ़त मामला है, यह एक विशेषता है।

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