मैं ओपनआईडी में नौसिखिया हूं। मैं सोचता हूं कि विभिन्न ओपनआईडी सक्षम खातों के साथ लॉगिन करने के लिए उपयोगकर्ता को पसंद करने के लिए सबसे अच्छा अभ्यास क्या है, यह सोचने में काफी समय लगता है।ओपनआईडी: एक उपयोगकर्ता को एकाधिक ओपनआईडी खातों को सर्वोत्तम तरीके से कैसे जोड़ा जाए?
(मुझे और यह स्पष्ट करना होगा कि मेरी प्रणाली एक ऐसी प्रणाली नहीं है जिसे ब्लॉग पोस्ट करने के लिए केवल एक सरल "ऑनटाइम प्रमाणीकरण" की आवश्यकता हो, बल्कि सोशलनेटवर्किंग साइट की तरह एक पूर्ण प्रणाली है, जहां उपयोगकर्ता हमेशा और जोड़ देगा जानकारी और "अपने व्यक्तिगत खाते" के लिए मौजूदा जानकारी को संपादित करें ... इसलिए सिस्टम को किसी भी प्रकार का "खाता" होना आवश्यक है जो उपयोगकर्ता द्वारा किए गए काम से जुड़ा होगा।)
इस मामले को देखते हुए कि मैं नहीं करता "mysite के लिए पासवर्ड और उपयोगकर्ता नाम के साथ समर्पित उपयोगकर्ता खाता" बनाएं और केवल ओपनआईडी लॉग इन पर भरोसा करें, मैं निम्नलिखित समस्या में भाग गया: जब उपयोगकर्ता "ए" लॉग इन करता है (पहली बार) "Google खाता" के माध्यम से तो वह जो भी करता है Google खाते से जुड़ा होगा। जब वह वापस आता है और "Google खाता साइनइन" पर क्लिक नहीं करता है बल्कि "याहू साइनइन" पर क्लिक नहीं करता है, तो उसे साइन इन किया जाएगा, लेकिन याहू के साथ एक नया खाता बनायेगा/प्राप्त करेगा। Google खाते के साथ उन्होंने जो भी किया वह सब खो गया प्रतीत होता है। बस मेरी साइट पर प्रत्येक उपयोगकर्ता को "ओपनआईडी इंडिपेंडेंट और अनन्य उपयोगकर्ता नाम" (पासवर्ड के बिना) जारी नहीं किया जाता है: जैसे लॉग इन करते समय मैं इस अद्वितीय उपयोगकर्ता नाम (पासवर्ड के बिना) पूछता हूं, हर कोई दूसरों के उपयोगकर्ता नाम का अनुमान लगा सकता है और ओपनआईडी को जोड़ सकता है उनके साथ। लेकिन अगर मुझे इस उपयोगकर्ता नाम के लिए पासवर्ड भी रखना है, तो मैं समाप्त होने के बाद जहां हम अतीत में थे ओपनआईडी के बिना: फिर मुझे उपयोगकर्ता को किसी प्रकार का "मास्टर अकाउंट" (यूरेनम और पासवार्ट के साथ) जारी करना होगा, सुविधा के लिए, किसी भी खुले आईडी खातों के साथ सहयोग करें। लेकिन इस मामले में मुझे किस तर्क के लिए ओपनआईडी है? चूंकि उपयोगकर्ता को "मेरा मास्टरपासवर्ड और यूजरिड" याद रखना है ...
=> क्या इसका मतलब यह है कि ओपनआईडी कई खातों के "मुफ्त विकल्प" का समर्थन नहीं करता है? यदि मैं चाहता हूं कि उपयोगकर्ता एक मनमानी ओपनआईडी उपयोगकर्ता-खाते के साथ लॉगिन (प्रत्येक एकल लॉगिन के लिए) सक्षम हो, तो इसे इस तरह से करने का एकमात्र तरीका है:
1.) उपयोगकर्ता "ज्ञात ओपनआईडी खाते के माध्यम से लॉग इन करता है "=> ठीक है कि कुछ भी नहीं किया जाना चाहिए
2.) उपयोगकर्ता" अज्ञात ओपनआईडी खाता "=>" अज्ञात "ओपनआईडी (उदाहरण के लिए याहू) के माध्यम से उपयोगकर्ता को" प्रमाणित "करता है लेकिन जब उपयोगकर्ता होता है मेरे पृष्ठ पर, उपयोगकर्ता को बताएं कि यह (याहू) ओपनआईडी खाता अज्ञात है (= इसके साथ कोई और काम नहीं किया गया है = यह एक नए खाते की तरह है) और पूछें, अगर वह किसी अन्य खाते के माध्यम से आखिरी बार लॉग इन हो सकता है और समर्थित ओपनआईडी खातों की सूची प्रदान करें। उपयोगकर्ता तब उन प्रदाताओं में से एक चुन सकता है जो उन्होंने पिछली बार उपयोग किया था (उदाहरण के लिए Google)। उसके बाद वह पहले से ही लॉगिन (याहू के साथ) के अलावा, उसे "पुराने" (Google) खाते में भी लॉगिन करना होगा, जिसे उन्होंने पिछली बार इस्तेमाल किया था। दोनों खाते तब "एक-दूसरे से जुड़े होते हैं" और पुराने (Google) खाते पर किसी भी काम को अब नए (याहू) ओपनआईडी खाते/लॉगिन के माध्यम से एक्सेस किया जा सकता है?
या क्या एक USERACCOUNT के लिए "एकाधिक ओपनआईडी खाते" का समर्थन करने का कोई अन्य तरीका है?
(कारण यह है कि मैं यह क्यों पूछ रहा हूं: ओपनआईडी अभी तक सामान्य एंडुसर्स के लिए इतना ज्यादा ज्ञात नहीं है। अगर मैं Google से लॉग इन के साथ एक बड़ी सूची मुद्रित करता हूं, याहू से फेसबुक में बहुत सारे उपयोगकर्ता होंगे जो Google के लिए Google का उपयोग करेंगे प्रारंभिक लॉगिन, लेकिन अगली बार जब वे वापस आएंगे तो शायद फेसबुक चुनें (क्योंकि उन्होंने फेसबुक साइट छोड़ दी है और फेसबुक आइकन पर क्लिक करने के लिए यह अधिक आकर्षक है)। इस तरह "पिछले 15 वर्षों" के लिए "वेबसाइटें काम करती हैं": वहां था लॉगिन करने का केवल एक ही तरीका: एक उपयोगकर्ता नाम-इनपुट-फ़ील्ड और एक पासवर्ड-इनपुट फ़ील्ड। अगर मैं अब खाते की एक बड़ी सूची प्रिंट करता हूं जहां उपयोगकर्ता के पास प्रत्येक के साथ खाता है, तो दिन से अलग-अलग खातों के साथ लॉगिन करने की क्षमता दिन की समस्या को समझने के लिए यह दिन नहीं होगा। इसलिए आदर्श दुनिया यह होगी कि कोई उपयोगकर्ता मेरी ओपनआईडी-प्रदाता सूची के मनमाने ढंग से खाते के माध्यम से लॉगिन कर सकता है और सभी खातों को एक दूसरे के साथ "संबद्ध" होगा ...
मुझे उम्मीद है कि मेरी समस्या क्या है इसका वर्णन करने में मुझे सक्षम था।
मैं सच में तुम्हारी मदद की और विचारों (mybe मैं पूरी तरह से यहाँ गलत समझा रहा हूँ कुछ)
आप ज्यादा सर्वेक्षण धन्यवाद सराहना करते हैं! जनवरी
हैलो जेरेमी, आपके उत्तर के लिए धन्यवाद। लेकिन मैं अभ्यास में कैसे एकाधिक खातों के साथ अद्वितीय पहचानकर्ता को जोड़ता हूं? ऐसा करने का एकमात्र तरीका या तो अद्वितीय पहचानकर्ता (=> के किसी भी प्रकार का पूर्ण मास्टरकाउंट होना) के लिए एक पासवर्ड जोड़ना होगा या इसे ऊपर वर्णित तरीके से करना होगा। लेकिन अगर मैं किसी प्रकार का "मास्टर अकाउंट" जारी करता हूं तो ओपनआईडी सिर्फ "मजाकिया गैजेट" है, क्योंकि उपयोगकर्ता को मेरी अनूठी पहचान और पासवर्ड याद रखना है। अन्यथा एक दूसरे के साथ "सुरक्षित रूप से" कई ओपनआईडी खातों को जोड़ने की कोई संभावना नहीं है। – jan
आपका प्रमाणीकरण मॉडल केवल यही होना चाहिए: _ _ प्रमाणीकरण मॉडल_। यह निर्धारित नहीं करना चाहिए कि आप उपयोगकर्ताओं को कैसे प्रबंधित करते हैं, केवल आप उन्हें प्रमाणित कैसे करते हैं। आपको एक अद्वितीय पहचानकर्ता (यूआईडी) की आवश्यकता है जो आपको यह निर्धारित करने की अनुमति देता है कि कौन सा उपयोगकर्ता सिस्टम से कनेक्ट है। यहां तक कि एसओ भी उत्पन्न यूआईडी का उपयोग करता है (उदाहरण के लिए 65228), और वे ओपनआईडी और उनके यूआईडी के बीच एक कनेक्शन स्टोर करते हैं। जिस समस्या में आप चल रहे हैं वह इसलिए है क्योंकि आप ओपनआईडी को यूआईडी के रूप में उपयोग कर रहे हैं। आज फेसबुक का उपयोग कर उपयोगकर्ता को जानने का एकमात्र तरीका वही है जिसने कल Google का उपयोग किया था, उन्हें पहले Google के साथ लॉग इन करना है। –