मुझे आश्चर्य है कि मुझे CAS प्रोटोकॉल या OAuth + एकल साइन-ऑन के लिए कुछ प्रमाणीकरण प्रदाता का उपयोग करना चाहिए।सीएएस या ओएथ के साथ एसएसओ?
उदाहरण परिदृश्य:
- एक उपयोगकर्ता एक संरक्षित संसाधन का उपयोग करने की कोशिश करता है, लेकिन प्रमाणीकृत नहीं है।
- एप्लिकेशन उपयोगकर्ता को एसएसओ सर्वर पर रीडायरेक्ट करता है।
- यदि प्रमाणीकृत मधुमक्खी उपयोगकर्ता को एसएसओ सर्वर से टोकन मिलता है।
- एसएसओ मूल आवेदन पर रीडायरेक्ट करता है।
- मूल एप्लिकेशन एसएसओ सर्वर के खिलाफ टोकन की जांच करता है।
- यदि टोकन ठीक है, तो एक्सेस की अनुमति होगी और एप्लिकेशन उपयोगकर्ता आईडी के बारे में जानता है।
- उपयोगकर्ता लॉग-आउट करता है और एक ही समय में सभी जुड़े हुए एप्लिकेशन से लॉग आउट होता है (एकल साइन-आउट)।
जहां तक मैं समझता हूं कि सीएएस का आविष्कार किया गया था। सीएएस ग्राहकों को प्रमाणीकरण सेवा का उपयोग करने के लिए सीएएस प्रोटोकॉल को लागू करना होगा। अब मैं क्लाइंट (उपभोक्ता) साइट पर सीएएस या ओएथ का उपयोग करने के बारे में सोच रहा हूं। ओएथ सीएएस के उस हिस्से के लिए एक प्रतिस्थापन है? क्या ओएथ को एक नए डी-फैक्टो मानक के रूप में प्राथमिकता दी जानी चाहिए? उपयोगकर्ता नाम/पासवर्ड, ओपनआईडी, टीएलएस प्रमाण पत्र जैसे विभिन्न तरीकों का समर्थन करने वाले सीएएस के प्रमाणीकरण भाग के लिए उपयोग करने में आसान है (सूर्य ओपनएसएसओ नहीं!) ...?
प्रसंग:
- विभिन्न अनुप्रयोगों SSO सर्वर के प्रमाणीकरण पर भरोसा करना चाहिए और कुछ सत्र की तरह इस्तेमाल करना चाहिए।
- एप्लिकेशन जीयूआई वेब एप्लिकेशन या (आरईएसटी) सर्विसेज हो सकते हैं।
- एसएसओ सर्वर एक उपयोगकर्ता आईडी प्रदान किया जाना चाहिए, जो उपयोगकर्ता के बारे में अधिक जानकारी प्राप्त करने के लिए आवश्यक है जैसे भूमिका, ईमेल और केंद्रीय उपयोगकर्ता सूचना स्टोर से।
- सिंगल साइन-आउट संभव होना चाहिए।
- अधिकांश क्लाइंट जावा या PHP में लिखे गए हैं।
मेरे पास discovered WRAP है, जो ओएथ उत्तराधिकारी बन सकता है। यह माइक्रोसॉफ्ट, Google और याहू द्वारा निर्दिष्ट एक नया प्रोटोकॉल है।
परिशिष्ट
मुझे लगता है कि OAuth प्रमाणीकरण भी यह एसएसओ को लागू करने के लिए इस्तेमाल किया जा सकता है के लिए नहीं बनाया गया था, लेकिन केवल एक साथ OpenID की तरह एक SSO सेवा के साथ सीखा है।
ओपनआईडी मुझे "नया सीएएस" लगता है। सीएएस में कुछ विशेषताएं ओपनआईडी मिस (जैसे सिंगल साइन-आउट) हैं, लेकिन किसी विशेष परिदृश्य में लापता हिस्सों को जोड़ना मुश्किल नहीं होना चाहिए। मुझे लगता है कि ओपनआईडी की व्यापक स्वीकृति है और ओपनआईडी को एप्लिकेशन या एप्लिकेशन सर्वर में एकीकृत करना बेहतर है। मुझे पता है कि सीएएस ओपनआईडी का भी समर्थन करता है, लेकिन मुझे लगता है कि सीएएस ओपनआईडी के साथ व्यवहार्य है।
सिंगल साइन-आउट एक एंटी-फीचर है। सभी उपयोगकर्ता अध्ययनों से मुझे पता है कि इसमें शामिल है, यह संकेत दिया है कि यह कहीं भी हल्के से नौसिखिया और बिजली उपयोगकर्ताओं को समान रूप से भ्रमित करने के लिए कहीं भी है। मुझे व्यक्तिगत रूप से ऐसी प्रणाली का उपयोग करना पड़ता है जो दैनिक आधार पर एकल साइन-आउट का उपयोग करता है, और मुझे यह अविश्वसनीय रूप से परेशान लगता है। यह लगभग कभी भी व्यवहार नहीं चाहता है। –
इस बात से सहमत न हों कि एकल साइन-आउट एक एंटीफेचर है। यह सब प्रश्न में अनुप्रयोगों पर निर्भर करता है। वेब अनुप्रयोगों के लिए जो किसी भी तरह से एक दूसरे से संबंधित हैं, यानी Google मेल और Google कैलेंडर, यह समझ में आता है कि यदि आप स्पष्ट रूप से लॉग आउट करते हैं, तो आप दूसरे के लॉगआउट करते हैं। उन ऐप्स के मामले में जहां कोई स्पष्ट "रिश्ते" नहीं है, मैं बॉब से सहमत हूं। – ashwoods
ध्यान दें कि OAuth 2.0 को पेश करने से पहले यह प्रश्न मूल रूप से पूछा गया था, इसलिए OAuth से संबंधित जानकारी अब सही नहीं हो सकती है। – Andrew