spring - SAMLException: NameID element must be present as part of the Subject in the Response message, please enable it in the IDP configuration -
Iam का उपयोग spring-saml कार्यान्वयन वर्ग WebSSOProfileConsumerImpl में, मैं जो SAML प्रतिसाद के दावे में nameId लिए जाँच करता है कोड के निम्नलिखित लाइनों मिल सकता है कोड के आधार पर, यह स्पष्ट है कि नाम आईडी विषय का हिस्सा होना चाहिए। लेकिन आईडीपी में से अधिकांश जिनमें मैं उल्लेख कर रहा हूं कि नाम आईडी विषय / विशेषता का भाग हो सकता है ऐसा लगता है कि कुछ ऐसे लागूकरण हैं जो विषय में नाम आईडी स्वीकार करते हैं जैसे कि SimpleSAMLPHP । विषय जो मैं प्राप्त कर रहा हूं वह इस प्रकार है और इसमें नहीं है नाम आईडी संलग्न है हालांकि, एक विशेषता है जिसमें नाम आईडी इसकी विशेषता मान है। क्यों नहीं कर सकते इस इस विषय में एक के बजाय इस्तेमाल किया जा स्प्रिंग- saml कार्यान्वयन में विषय का हिस्सा होने के कारण nameId के पीछे कारण समझा सकता है? @vschafer वहाँ अनुकूलित करने का एक रास्ता है securityContext.xml का चयन करने के लिए nameId जो एक विशिष्ट का हिस्सा है विशेषता और विषय "post-text" itemprop = "text"> स्प्रिंग SAML से वर्तमान में
NameID nameID। if (! subject.getEncryptedID () = नल) {Assert.notNull (context.getLocalDecrypter (), "NameID डिक्रिप्ट नहीं कर सकता, कोई decrypter संदर्भ में सेट किया गया है"); NameID = (NameID) context.getLocalDecrypter ()। डिक्रिप्ट (subject.getEncryptedID ()); } और {nameID = subject.getNameID (); }
& lt; saml2: विषय & gt; & Lt; saml2: विषय विन्यास विधि = "कलश: ओएसिस: नाम: टीसी: SAML: 2.0: सेमी: वाहक" & gt; & LT; SAML2: SubjectConfirmationData पता = "91.XXX" InResponseTo = "XXXX" NotOnOrAfter = "2014-10-10T10: 34: 26.619Z" प्राप्तकर्ता = "http: // localhost: 8080 / XXXX / saml / एसएसओ" / & gt ; & Lt; / SAML2: SubjectConfirmation & gt; & Lt; / SAML2: विषय & gt;
<कोड> & lt; SAML2:। गुण FriendlyName = "testID" नाम = "कलश: OID: 1.3.6.1 .4.1.5 923.1.1.1.10 "नेमफॉर्मेट =" कलश: ओएसिस: नाम: टीसी: एसएएमएल: 2.0: एट्रीनाम-प्रारूप: यूरी "& gt; & LT; SAML2: AttributeValue & gt; & LT; SAML2: NameID स्वरूप = "कलश: नखलिस्तान: नाम: टीसी: SAML: 2.0: nameid प्रारूप: लगातार" NameQualifier = "https: // XXXX / IDP / किसी समूह का चिह्न" SPNameQualifier = "कलश: XX: XX: XX" & Gt; XXXXXXXXXXXXXXXXX = & lt; / saml2: NameID & gt; & Lt; / SAML2: AttributeValue & gt; & Lt; / SAML2: गुण & gt;
NameID < / कोड> उपस्थित होना चाहिए इसे बदलने के लिए कोड परिवर्तन की आवश्यकता होगी और वर्तमान में केवल कॉन्फ़िगरेशन के साथ नहीं किया जा सकता है कृपया इसे बदलने के लिए एक सुविधा अनुरोध खोलने में संकोच न करें।
Comments
Post a Comment