Ich lerne gerade Shibboleth SP und ich bin auf ein Problem gestoßen, wo ich nicht die NameID aus der SAML Antwort lesen kann, die ich von unserem Unternehmen IdP erhalte. Das einzige "Attribut", das sie für mich konfiguriert haben, ist die NameID, die den Benutzernamen in unserem AD enthält. Sie fügen es nicht als Attribut, sondern eher in das Subjekt ein. Unten ist der Teil der SAML-Antwort, der die NameID enthält.Shibboleth SP - NameID Attribut Karte
<Subject>
<NameID>XXXXXX</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<SubjectConfirmationData InResponseTo="_cbedab7210959e0d00294c557c648eb5"
NotOnOrAfter="2017-05-18T21:15:24.776Z"
Recipient="https://xxxxxx.com/Shibboleth.sso/SAML2/POST"
/>
</SubjectConfirmation>
</Subject>
Wie kann ich diesen einfachen Wert extrahieren? Ich habe keinen Beispieleintrag in der attribute-map.xml gefunden, der zur Rechnung passt.
Ich verwende IIS 8.5 und ColdFusion.
Dies sieht aus wie ein Job für 'parsexml()'. Siehe: https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-tz/xmlparse.html –
Ich bin vertraut mit dem Parsen von XML-Dokumenten mit CF (tatsächlich tat ich das vor dem Versuch, Shibboleth auszuprobieren)), aber ich denke nicht, dass das die Lösung ist. Shibboleth fängt die SAML-Antwort über einen ISAPI-Filter ab, so dass ich mir nicht sicher bin, ob ich das XML-Dokument danach bekommen kann. Ich sollte in der Lage sein, der attribute-map.xml-Datei ein Element hinzuzufügen, um den Wert abzurufen. – user3178586
Aktualisierter Originalbeitrag mit meiner Lösung. – user3178586