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