J'utilise WSO2 Identity Server 5.3Comment générer une assertion SAML2 d'attributs à valeurs multiples à l'aide de WSO2 Identity Server 5.3?
Je dois produire une assertion SAML2 avec certains attributs à valeurs multiples du profil utilisateur.
Disons que j'ai séparés par des virgules liste de valeurs pour une demande particulière et je dois organiser ces attributs à l'aide de la structure suivante dans ma SAML réponse d'assertion:
<saml2:Attribute Name="attribute1">
<saml2:AttributeValue>value1</saml2:AttributeValue>
<saml2:AttributeValue>value2</saml2:AttributeValue>
<saml2:AttributeValue>value3</saml2:AttributeValue>
<saml2:AttributeValue>value4</saml2:AttributeValue>
</saml2:Attribute>
configuré à un client STS pour obtenir l'affirmation SAML2 et les revendications d'un utilisateur particulier que je configure avec une réclamation à valeurs multiples.
Mon problème est que je reçois la réponse d'assertion SAML comme la structure suivante:
<saml2:Attribute Name="attribute1">
<saml2:AttributeValue>value1,value2,value3,value4</saml2:AttributeValue>
</saml2:Attribute>
je configurer une instance de l'application travelocity sur un tomcat, testé à nouveau et je suis l'assertion SAML comme prévu après la connexion à l'application et en choisissant le flux SAML. Je pourrais le vérifier en regardant le fichier journal du serveur Identity. J'ai également utilisé le client STS [1] pour obtenir l'assertion SAML mais ce que j'ai obtenu quand il s'agit d'un attribut à valeurs multiples est une valeur séparée par des virgules pour cet attribut particulier. En utilisant l'interface utilisateur SOAP comme client mais la réponse SAML était exactement le même cas que je l'ai dit auparavant, l'attribut à valeurs multiples se présente sous la forme de valeurs séparées par des virgules pour cet attribut particulier
Je suis allé directement vers le service d'administration https://localhost:9443/services/wso2carbon-sts?wsdl en utilisant l'interface utilisateur SOAP comme client.
Voici un échantillon de ce que je reçois dans la section Déclaration d'attributs:
<saml2:AttributeStatement>
<saml2:Attribute Name="http://wso2.org/claims/im" NameFormat="http://wso2.org/claims/im">
<saml2:AttributeValue
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">jairo_fernandezr,jb_fernandez
</saml2:AttributeValue>
</saml2:Attribute>
<saml2:Attribute Name="http://wso2.org/claims/emailaddress" NameFormat="http://wso2.org/claims/emailaddress">
<saml2:AttributeValue
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">[email protected]
</saml2:AttributeValue>
</saml2:Attribute>
<saml2:Attribute Name="http://wso2.org/claims/givenname" NameFormat="http://wso2.org/claims/givenname">
<saml2:AttributeValue
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Jairo
</saml2:AttributeValue>
</saml2:Attribute>
</saml2:AttributeStatement>
Maintenant, je voudrais vous demander s'il y a un autre moyen d'obtenir une assertion SAML avec attributs à plusieurs valeurs structurées comme des valeurs uniques au lieu de valeurs séparées par des virgules en utilisant le service d'administration https://localhost:9443/services/wso2carbon-sts?wsdl ou une autre approche sans configurer l'application travelocity.
[1] https://github.com/wso2/product-is/tree/5.x.x/modules/samples/sts
Tout commentaire sera grandement appréciée.
Merci
En effet, l'utilisation de valeurs séparées est la manière par défaut dont wso2is gère les attributs à valeurs multiples. Je crois que vous pourriez implémenter votre propre classe qui crée la réponse saml (remplacer la méthode créant des attributs à partir des revendications) et la configurer dans le fichier api-manager.xml (je ne me souviens pas exactement de l'interface, je peux vérifier bureau lundi).la prochaine chose que vous devez écraser est votre propre gestionnaire de sinistres (c'est la carte clé/valeur de création de sinistres) mais je vérifierais comment la signature fonctionnerait avec votre propre implémentation. – gusto2
Quel est votre magasin d'utilisateur? Est-ce le LDAP par défaut? – farasath
J'ai un LDAP externe en tant que magasin principal de l'utilisateur et j'ai aussi un AD en tant que magasin de l'utilisateur secondaire. –