2009-07-20 12 views
6

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

उत्तर

5

लाभ

आप एक एकल साइन-ऑन जो यहाँ और वहाँ बहुत से खाते के लोगों के लिए वास्तव में बहुत अच्छा है, विशेष रूप से की है।

ओपनिड सर्वर उपयोगकर्ता के बारे में मूल जानकारी प्रदान करता है, हर बार सामान्य मूल जानकारी लिखने की आवश्यकता को बचाता है। इस अर्थ में आप अपने उपयोगकर्ताओं को परेशानी बचाते हैं।

यह पारंपरिक उपयोगकर्ता/पास तंत्र को बहुत अच्छी तरह से बढ़ाता है। एक ही समय में दोनों सिस्टम प्रदान करने के आसपास कई साइटें हैं।

एकाधिक पार्टियों से ईमानदारी का विश्वास केवल एक तक चलता है। फिलहाल, मुझे नहीं पता कि साइट पर पंजीकृत किसी भी साइट को मेरा पासवर्ड चोरी करने के लिए स्पष्ट टेक्स्ट में दर्ज किया गया है और यह मानने के लिए अन्य साइटों पर इसका उपयोग करने का प्रयास करता है कि मेरे पास एक ही पासवर्ड है।

प्रतिनिधिमंडल का तकनीकी लाभ। आपको एक ही प्रदाता का उपयोग करने के लिए मजबूर नहीं किया जाता है। आप स्विच कर सकते हैं।

नुकसान

आप अभी भी जो लोग नए प्रतिमान समझ में नहीं आता के लिए उपयोगकर्ता/पासवर्ड प्रदान करने के लिए है या वे एक openid (शायद वे यह है, लेकिन वे पता नहीं है) की जरूरत नहीं है । यदि यह लोगों की एक विस्तृत श्रृंखला है जिसे आप संबोधित करने की कोशिश कर रहे हैं, तो आप उन्हें डरा सकते हैं।

इसके अलावा, मैं इसे किसी भी गंभीर के लिए उपयोग नहीं करता। मैं अपने बैंक पर भरोसा नहीं करता कि मुझे अपने ओपनिड के साथ लॉगिन करने के लिए कहा जाए, लेकिन कई ई-कॉमर्स साइटें भी। महत्वहीन चीजों के लिए यह ठीक है।

ओपनिड प्रदाता उपयोगकर्ता की आदतों को ट्रैक कर सकता है, क्योंकि उन्हें सभी ऑथ अनुरोध प्राप्त होते हैं। यही कारण है कि मैंने अपने व्यक्तिगत प्रदाता को तैनात किया।

अंत में, जहां तक ​​मैंने देखा, ओपनिड सर्वर के कई मामले पासवर्ड को cleartext में ले जाते हैं, लेकिन यह मेरी समझ है और मैं गलत हो सकता हूं। मैंने अपना खुद का ओपनिड प्रदाता तैनात किया, और मैं बहुत सौदा कर गया ताकि पासवर्ड को https के माध्यम से पहुंचाया जा सके, भले ही मेरा ओपनिड http

1

मुख्य लाभ जो मैं देखता हूं, हालांकि आपके मामले में जरूरी नहीं है अपने मौजूदा सिस्टम को रखना चाहते हैं, यह है कि मुझे पासवर्ड संग्रहीत करने की चिंता करने की ज़रूरत नहीं है।

बहुत से लोग सब कुछ के लिए एक ही पासवर्ड (या पासवर्ड का एक छोटा सा सेट) का उपयोग करते हैं, इसलिए यदि मेरी साइट पर समझौता किया गया था (और मुझे उम्मीद है कि मैं इसे रोकने के लिए पर्याप्त कुशल था, लेकिन सुरक्षा एक बहु परत है जानवर, इसलिए मेरी पुस्तक में अतिरिक्त सुरक्षा जोड़ने के लिए कुछ भी अच्छा है) तो हमलावर पासवर्ड पकड़ नहीं पाया।

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

1

अच्छी तरह से एसओ को एक उदाहरण के रूप में लेना यह दोनों का समर्थन करता है। मैं ओपनआईडी के माध्यम से अपने Google खाते का उपयोग कर लॉगिन करता हूं लेकिन मुझे अभी भी अपने ओपनआईडी से लिंक करने के लिए खाता/उपयोगकर्ता नाम होना चाहिए।मुझे लगता है कि आप केवल ओपनआईडी के माध्यम से लॉग इन की अनुमति दे रहे हैं, लेकिन आपके उपयोगकर्ताओं के लिए ओपनआईडी सर्वर के रूप में आपकी साइट का उपयोग करके लॉगिन नहीं करना है।

तो चीजों को साफ़ करने के लिए; आप अपने बहुत से लॉगिन/लॉगआउट कोड का उपयोग कर सकते हैं और आपको इसकी आवश्यकता होगी क्योंकि केवल अंतर यह है कि आप अपने डेटाबेस के बजाय किसी तृतीय-पक्ष के माध्यम से प्रमाणित करते हैं। छद्म कोड में यह कल्पना करें:

authenticate_from_db(String username, String password) 
{ 
     fetch username and password where username = username 
     if username = username and password = hash_of(password) 
     { 
      return true; 
     } 
     else 
     { 
      return false; 
     } 
} 

authenticate_from_openid(String openId_provider) 
{ 
    provider = contact_openID_provider(openID_provider) 
    if(provider) 
    { 
     login.username = map(returned_user, your_db) 
     return true 
    } 
    else 
    { 
     return false; 
    } 
} 

तो आप देखते हैं, ज्यादातर प्रमाणीकरण प्रक्रिया बदल जाती है जबकि आपका स्वयं भी उपयोग होता है।

लाभ बहुत स्पष्ट है:

  • उपयोगकर्ताओं को अपने OpenID प्रदाता के माध्यम से मौजूदा खातों के साथ प्रवेश करने की अनुमति दे।

    • प्रतिकूल OpenID प्रदाताओं (? स्पैम) उनके spambots के सत्यापन आदि
    • अन्य सुरक्षा:
    • आपका मौजूदा उपयोगकर्ताओं को अपने OpenID प्रदाता

    नुकसान (मैं कल्पना कर सकता) कर रहे हैं के माध्यम से लॉगिन वैकल्पिक सकता है किसी तृतीय पक्ष को आपके उपयोगकर्ताओं को प्रमाणीकृत करने की अनुमति देकर


मैं रेखांकित करना चाहता हूं कि ओपनआईडी को आपके मौजूदा उपयोगकर्ताओं के लिए कुछ भी नहीं बदला जाना चाहिए।

ओपनआईडी उपयोगकर्ताओं को अभी भी एक खाता होना चाहिए, वे सिर्फ एक तृतीय पक्ष के माध्यम से प्रमाणित हैं।

+0

वास्तव में, ओपनआईडी प्रमाणीकरण तत्व (वे कौन हैं) बनाते हैं। आपके एप्लिकेशन में उपयोगकर्ता खाता प्राधिकरण तत्व को परिभाषित करता है (वे क्या कर सकते हैं)। –

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