2012-06-22 12 views
6

मुझे और मेरे सहयोगी एक आवेदन विकसित कर रहे हैं (दोनों वेब एप्लिकेशन और मोबाइल ऐप (आईफोन & एंड्रॉइड)), जिसमें एक लॉगिन प्रक्रिया शामिल है। वर्तमान में, हमारे पास अपना लॉगिन तंत्र है (जहां उपयोगकर्ताओं ने हमारे ऐप पर एक खाते के लिए हस्ताक्षर किए हैं, और हमारी जानकारी को हमारे डेटाबेस में संग्रहीत किया है)। हम oAuth को एकीकृत करने और उपयोगकर्ताओं को फेसबुक, ट्विटर, लिंक्डइन और Google के साथ लॉगिन करने की अनुमति दे रहे हैं।उपयोगकर्ताओं को याद रखने के लिए ओथ के साथ मानक क्या है?

अब, जब उपयोगकर्ता इनमें से किसी के साथ लॉग इन करते हैं, क्योंकि मुझे लगता है कि लॉगिन प्रक्रिया हमारे आवेदन के बाहर होती है और मूल रूप से केवल अपने संसाधनों तक पहुंचने की अनुमति प्राप्त होती है।

मेरा प्रश्न यह है: ओएथ के माध्यम से, हम उपयोगकर्ताओं को कैसे याद करते हैं? यानी, लॉगिन करने वाले उपयोगकर्ता ने विशेषाधिकार पढ़े/लिखते हैं और प्राथमिकताएं हैं। हम उन लोगों को कैसे याद करते हैं जब वे वास्तव में हमारे ऐप के माध्यम से साइन अप नहीं करते हैं .. क्या हम अपने ईमेल पते को हमारे "उपयोगकर्ता" तालिका में संग्रहीत कर सकते हैं ??

ऐसे परिदृश्य में सर्वोत्तम प्रथाओं क्या हैं?

किसी भी जानकारी के लिए धन्यवाद जो आप प्रदान कर सकते हैं।

उत्तर

11

कुछ अलग ओथ-सक्षम वेबसाइटों के लिए प्रमाणीकरण डेटाबेस बनाने के बाद, मैं कह सकता हूं कि मैंने कुछ चीजें सीखी हैं जिन्हें आपको ध्यान में रखना चाहिए।

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

प्रतिक्रिया के लिए धन्यवाद !! कुछ प्रश्न: - बिंदु # 1 के संबंध में, यह उन मामलों के लिए है जब उपयोगकर्ता विभिन्न OAuth खातों (फेसबुक, ट्विटर, ...) के साथ लॉग इन करते हैं, लेकिन वे अभी भी एक वास्तविक खाते के रूप में जुड़े हुए हैं और उन्हें माना जाता है? - बिंदु # 2 के संबंध में, आपका अपग्रेड का क्या मतलब है? क्या आप इस उपयोग-मामले को स्पष्ट कर सकते हैं। - बिंदु # 3 के संबंध में, सिस्टम/डेटाबेस द्वारा उत्पन्न "स्थानीय उपयोगकर्ता आईडी" है या यह अंतिम उपयोगकर्ता द्वारा निर्दिष्ट है? – mustang888

+0

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

+0

यह ट्विटर के साथ कैसे काम करेगा क्योंकि वे ईमेल प्रदान नहीं करते हैं? यह जानने का कोई तरीका कैसे है कि ट्विटर उपयोगकर्ता ईमेल उपयोगकर्ता की तरह अद्वितीय पहचान के बिना फेसबुक उपयोगकर्ता जैसा ही है? – CMCDragonkai

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

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