हमारे ग्राहकों में से एक यह अनुरोध कर रहा है कि हम एसएएमएल के माध्यम से एकल लॉगआउट (एसएलओ) लागू करें। एसएएमएल सेवा का उनका पक्ष पहचान प्रदाता है, जबकि हमारा सेवा प्रदाता है। सिंगल-साइनऑन (एसएसओ) क्लाइंट के आईडीपी के साथ उपयोगकर्ता के क्रेडेंशियल्स को सत्यापित करके काम करता है, फिर उपयोगकर्ता को एक और मंच पर एक लॉगिन पेज पर रीडायरेक्ट करता है, जिसमें टोकन होता है जो उन्हें सीधे लॉग इन करने देता है। वह प्लेटफ़ॉर्म SAML के बारे में बिल्कुल कुछ नहीं जानता है, और विशेष रूप से SimpleSAMLphp सत्र स्थिति साझा नहीं करता है।क्या कोई अच्छा SimpleSAMLphp एसएलओ उदाहरण है?
लॉगआउट, दो तरह से होने की जरूरत है, हालांकि: उपयोगकर्ता हमारे मंच पर प्रस्थान करें बटन हिट
हैं, तो उन्हें हमारी साइट से लॉग आउट करने की जरूरत है, और IdP के SLO सेवा मारा।
यदि उपयोगकर्ता क्लाइंट के पक्ष में लॉगआउट बटन या किसी अन्य सेवा प्रदाता के पक्ष पर हिट करता है, तो क्लाइंट आईडीपी हमारी एसपी की एसएलओ सेवा को हिट करेगा, जिसे उपयोगकर्ता को वापस रीडायरेक्ट करने से पहले उन्हें अपने वास्तविक मंच से लॉग आउट करने की आवश्यकता है एसपी के लॉगआउट प्रतिक्रिया पृष्ठ पर।
मैं अपने मंच को समझाने के लिए लॉग आउट करने पर एक मनमाना पेज के लिए उपयोगकर्ता अनुप्रेषित करने में सक्षम हूँ, इसलिए मुझे लगता है कि पहले भाग में एक पेज SimpleSAML_Auth_Simple::getLogoutURL()
का उपयोग करता है के द्वारा प्राप्त किया जा सकता है।
ऐसा पृष्ठ भी आईडीपी पक्ष से मारा जाने पर भी काम कर सकता है, लेकिन एसएएमएल चश्मा काफी जटिल हैं कि जब तक हम इसे आज तक सुनिश्चित नहीं कर सकते हैं। हालांकि, config/authsources.php
में एसपी कॉन्फ़िगरेशन SingleLogoutService
पैरामीटर स्वीकार नहीं करता है; /www/module.php/saml/sp/metadata.php/entityid
द्वारा उत्पादित मेटाडेटा अभी भी /www/module.php/saml/sp/saml2-logout.php/entityid
को एकलLogoutService स्थान के रूप में सूचीबद्ध करता है। यदि यह पृष्ठ SimpleSAMLphp सत्र को साफ़ करने के लिए आवश्यक है, तो यह ठीक है, लेकिन मुझे यह जानने की आवश्यकता है कि उपयोगकर्ता को हमारे प्लेटफ़ॉर्म से लॉग आउट करने के लिए आवश्यक अतिरिक्त रीडायरेक्ट में कैसे पर्ची करें।
मैंने उदाहरणों की खोज करने की कोशिश की है, लेकिन मुझे जो कुछ मिलता है वह एपीआई संदर्भ है। यह जानना भी अच्छा होगा कि मैं अपने स्वयं के आईडीपी को स्थापित किए बिना लॉगआउट का परीक्षण कैसे कर सकता हूं; क्या openidp.feide.no
जैसी कोई सेवा है जो एसएलओ के साथ-साथ एसएसओ को संभालती है?
[शिबोबोलेथ] (http://shibboleth.internet2.edu/) पर एक नज़र डालें। –
@ जेरेडफिशिश: सॉफ़्टवेयर जावा-आधारित प्रतीत होता है, जहां हमें अनुरोध किया गया है कि वह हिस्टोरिकल किशमिश के लिए PHP का उपयोग करें। यदि आप प्रोटोकॉल का मतलब है, तो यह ग्राहक द्वारा निर्धारित किया जाता है; दोनों संबंधित हैं, लेकिन मुझे यकीन नहीं है कि वे पूरी तरह से संगत हैं। ग्राहक की सेवा से बात करने के लिए एक सच्चे SAML पैकेज को पर्याप्त रूप से समझना मुश्किल था। – eswald