2017-05-18 1 views
0

J'apprends juste Shibboleth SP et j'ai rencontré un problème où je ne peux pas lire le NameID de la réponse SAML que je reçois de notre IdP d'entreprise. Le seul "attribut" qu'ils ont configuré pour moi est le NameID qui contient le nom d'utilisateur dans notre AD. Ils ne l'ajoutent pas comme un attribut, mais plutôt dans le sujet. Voici la partie de la réponse SAML contenant le NameID.Shibboleth SP - Carte d'attribut NameID

<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> 

Comment puis-je extraire cette valeur simple? Je n'ai pas trouvé d'exemple d'entrée dans l'attribut-map.xml qui semble correspondre à la facture. J'utilise IIS 8.5 et ColdFusion.

+0

Cela ressemble à un travail pour 'parsexml()'. Voir: https://helpx.adobe.com/coldfusion/cfml-reference/cfoldfusion-functions/functions-tz/xmlparse.html –

+0

Je suis familier avec l'analyse de documents XML avec CF (en fait, je le faisais avant d'essayer Shibboleth), mais je ne pense pas que ce soit la solution ici. Shibboleth intercepte la réponse SAML via un filtre ISAPI, donc je ne suis pas sûr de pouvoir obtenir le document XML par la suite. Je devrais pouvoir ajouter un élément au fichier attribute-map.xml pour récupérer la valeur. – user3178586

+0

Message original mis à jour avec ma solution. – user3178586

Répondre

2

J'ai finalement obtenu l'attribut à mapper en utilisant ce qui suit. Dans mon cas, j'avais remplacé SAML: 1.1 avec SAML2. Je suppose que le NameID fait partie de la spécification SAML: 1.1.

<Attribute name="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" id="NameID"> 
    <AttributeDecoder xsi:type="NameIDAttributeDecoder" formatter="$Name" defaultQualifiers="true"/> 
</Attribute>