मेरी कंपनी वर्तमान में एक जावा वेब एप्लिकेशन विकसित करती है। हमारे ग्राहकों के एक जोड़े में आंतरिक एसएएमएल सर्वर (पहचान प्रदाता) हैं और अनुरोध किया है कि हम उनके साथ एकीकृत करें। इसलिए हाल ही में मैं इस पर पढ़ रहा हूं और ओपनैम के साथ खेल रहा हूं। लगभग 3 दिनों के बाद, मुझे इसकी सामान्य समझ है, लेकिन मेरी जानकारी में अभी भी कुछ अंतराल हैं। मेरी आशा है कि कोई मेरे लिए यह स्पष्ट कर सकता है।
तो यहां बताया गया है कि मैं किस प्रकार लॉग इन करने वाले उपयोगकर्ता के वर्कफ़्लो की कल्पना करता हूं।
आइए हमारे ग्राहकों SAML सर्वर को https://their.samlserver.com के रूप में परिभाषित करते हैं । इसलिए एक उपयोगकर्ता हमारे वेब एप्लिकेशन पर एक संसाधन के लिए आता है जो सुरक्षित है। मान लीजिए कि URL http://my.app.com/something है ।
इसलिए यदि मैं सही हूं, तो my.app.com वही है जो एसएएमएल सेवा प्रदाता के रूप में परिभाषित करता है । हमारे एप्लिकेशन को पता चलता है कि इस उपयोगकर्ता को लॉग इन करने की आवश्यकता है। हम फिर उपयोगकर्ता के लिए इस तरह एक पृष्ठ प्रस्तुत करते हैं ...
<script>JQuery Script to auto submit this form on ready</script>
<form method="post" action="https://their.samlserver.com/Post/Servlet">
<input type="hidden" name="SAMLRequest" value="someBase64Data" />
<input type="submit" value="Submit" />
</form>
और यह इस का एन्कोडेड संस्करण someBase64Data
होना चाहिए base64
...
<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_1"
Version="2.0"
IssueInstant="2004-12-05T09:21:59Z"
AssertionConsumerServiceIndex="0">
<saml:Issuer>http://my.app.com</saml:Issuer>
<samlp:NameIDPolicy
AllowCreate="true"
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/>
</samlp:AuthnRequest>
तो मेरा पहला युगल प्रश्न।
आईडी मान क्या है ?
और मैं खुद को जारीकर्ता क्यों घोषित कर सकता हूं ?
क्या आइडेंटिटी प्रोवाइडर को मेरे बारे में पता है? हो सकता है कि यह OpenAM पर मुझे दिखाई दे रहा विश्वास का सर्कल है । और अगर यह मेरे बारे में जानता है, तो यह मेरे बारे में कैसे जानता है और इसे जानने की क्या जरूरत है?
इसलिए उपयोगकर्ता द्वारा उस पृष्ठ को अग्रेषित करने के बाद, उन्हें IDP https://their.samlserver.com द्वारा प्रदान किए गए पृष्ठ पर ले जाया जाता है । वे उस पेज को प्रमाणित करते हैं और आईडीपी प्रमाणीकरण को मान्य करने और उपयोगकर्ता को देखने के लिए जादू करता है। प्रमाणीकरण सफल होने के बाद, IDP यहाँ<samlp:Response>
परिभाषित वापस भेजता है ।
कुछ और सवाल।
सबसे पहले, <samlp:Response>
मैं अपने वेब एप्लिकेशन पर वापस कैसे आता हूं ताकि मैं इसकी जांच कर सकूं।
और उस प्रतिक्रिया को मान्य करने के लिए मुझे क्या देखना चाहिए जो सफल रहा? विफलता कैसी दिखती है?
हम वर्तमान में उपयोगकर्ताओं की पहचान करने के लिए ईमेल पते (LDAP) का उपयोग करते हैं, इसलिए हम संभवतः उस प्रतिक्रिया से हड़प लेंगे और उसी तरह से उपयोग करेंगे जो अब हम करते हैं। उस प्रतिक्रिया में मुझे और कुछ भी ध्यान में रखना चाहिए?
इसलिए अब हमने वैधता के लिए उस प्रतिक्रिया की जाँच कर ली है, हम उपयोगकर्ता को एक सत्र प्रदान कर सकते हैं जैसे हम वर्तमान में करते हैं। लेकिन जब वे लॉग आउट करना चाहते हैं, तो क्या इसके लिए कोई वर्कफ़्लो है? क्या मुझे आईडीपी को सूचित करना होगा जो उपयोगकर्ता ने छोड़ दिया है?
और अंत में, कुछ ऐसे विषय हैं जो मेरे पढ़ने में इधर-उधर फेंक दिए गए हैं और मुझे यकीन नहीं है कि वे इस वर्कफ़्लो में कैसे फिट होंगे। वे सर्किल ऑफ़ ट्रस्ट , टोकन और कलाकृतियाँ हैं ।
सभी की मदद के लिए धन्यवाद। मुझे पिछले कुछ दिनों में बहुत सारी जानकारी मिली है, और यह संभव है कि मैं थोड़ा और खेलने के बाद उन्हें एक साथ जोड़ सकता हूं। लेकिन मुझे अभी तक एक सीधा "यहां का पोस्ट" वर्कफ़्लो लेख अभी तक नहीं मिला है। शायद ऐसा इसलिए है क्योंकि मैं गलत हूं कि यह कैसे काम करता है। शायद यह इसलिए है क्योंकि यह उतना लोकप्रिय नहीं है। लेकिन मैं वास्तव में यह सुनिश्चित करना चाहता था कि मुझे वर्कफ़्लो मिला, इसलिए मैंने उपयोगकर्ता प्रमाणीकरण के रूप में महत्वपूर्ण रूप से महत्वपूर्ण कदम नहीं उठाया।