Tâche #30187
Distribution EOLE - Scénario #30256: Traitement express MEN (25-27)
problème de valeurs au chargement de fichiers de métadonnées
100%
Description
Bonjour
En configurant Eole-SSO comme fournisseur d'identité pour une solution de travail collaboratif (OnlyOffice), il s'avère que cette plateforme n'inclus par par défaut "index" et "isDefault" dans son fichier de métadonnées :
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://rectorat.oo.pp.ac-dijon.fr/sso/metadata">
<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://rectorat.oo.pp.ac-dijon.fr/sso/slo/callback"/>
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://rectorat.oo.pp.ac-dijon.fr/sso/slo/callback"/>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
<AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://rectorat.oo.pp.ac-dijon.fr/sso/acs" index="0"/>
<AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://rectorat.oo.pp.ac-dijon.fr/sso/acs" index="1"/>
<AttributeConsumingService>
<RequestedAttribute FriendlyName="mail" Name="urn:oid:0.9.2342.19200300.100.1.3" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
<RequestedAttribute FriendlyName="givenName" Name="urn:oid:2.5.4.42" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
<RequestedAttribute FriendlyName="sn" Name="urn:oid:2.5.4.4" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
<RequestedAttribute FriendlyName="mobile" Name="urn:oid:0.9.2342.19200300.100.1.41" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
<RequestedAttribute FriendlyName="title" Name="urn:oid:2.5.4.12" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
<RequestedAttribute FriendlyName="l" Name="urn:oid:2.5.4.7" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
</AttributeConsumingService>
</SPSSODescriptor>
</EntityDescriptor>
Cela se manifeste pas l'erreur suivante au moment de relancer le service eole-sso :
"Erreur de récupération des metadonnées SAML pour rectorat-oo-pp : (int() argument must be a string or a number, not 'NoneType')"
En modifiant la balise AttributeConsumingService, le service se lance correctement :
<AttributeConsumingService index="1" isDefault="true">
Même si cet attribut est normalement requis par la norme (https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf), cela est assez surprenant pour l'utilisateur :
serait-il possible soit de considérer une valeur par défaut pour l'attribut, soit de produire un message d'erreur plus explicite ?
Merci
Guillaume Laville et Samuel Morin
Associated revisions
Assign index 1 to AttributeConsumingService if missing
Ref: #30187
History
#1 Updated by Bruno Boiget 11 months ago
On peut effectivement envisager une des 2 solutions.
Soit considérer qu'il n'y a qu'un seul AttributeConsumingService si l'index n'est pas spécifié et lui attribuer un index de 1
Soit déclencher une exception avec un message clair au chargement si l'index manque
Dans les 2 cas, la correction serait à faire dans la fonction get_metadata de saml_utils.py :
for attr_serv in find_tag(desc_node, 'AttributeConsumingService'):
index = attr_serv.get('index') --> remonter une erreur ou remplacer par attr_serv.get('index', 1)
#2 Updated by Gilles Grandgérard 11 months ago
- Tracker changed from Demande to Scénario
- Start date deleted (
05/27/2020)
#3 Updated by Gilles Grandgérard 11 months ago
- Due date set to 06/12/2020
- Target version set to sprint 2020 22-24 Equipe MENSR
- Start date set to 05/25/2020
#4 Updated by Joël Cuissinat 10 months ago
- Assigned To set to Bruno Boiget
- Release set to EOLE 2.7.1.3
- Story points set to 1.0
#5 Updated by Joël Cuissinat 10 months ago
- Release changed from EOLE 2.7.1.3 to EOLE 2.6.2.2
#6 Updated by Gilles Grandgérard 10 months ago
- Target version changed from sprint 2020 22-24 Equipe MENSR to sprint 2020 25-27 Equipe MENSR
#7 Updated by Joël Cuissinat 10 months ago
- Assigned To changed from Bruno Boiget to Joël Cuissinat
- Parent task set to #30256
#8 Updated by Joël Cuissinat 10 months ago
# dpkg -S saml_utils.py eole-sso-server: /usr/share/sso/saml_utils.py
#9 Updated by Joël Cuissinat 10 months ago
- Status changed from Nouveau to En cours
Est-ce que la proposition de Bruno (attribution d'un index de 1 si il n'est pas spécifié) vous convient ?
Si oui, sur quelle version d'EOLE avez-vous impérativement besoin de cette modification ?
#10 Updated by samuel morin 10 months ago
oui la proposition d'attribuer un index à 1 conviendrait.
Notre seshat est en 2.7 mais peut-être cela pourrait-être intéressant de le proposer sur la 2.6 également.
Merci
#11 Updated by Joël Cuissinat 10 months ago
Merci pour la réponse, nous allons diffuser cette correction pour EOLE >= 2.6.2.
#12 Updated by Joël Cuissinat 10 months ago
- Status changed from En cours to Résolu
- % Done changed from 0 to 100
#13 Updated by Joël Cuissinat 9 months ago
- Status changed from Résolu to Fermé
- Remaining (hours) set to 0.0
Paquets diffusés le 01/07/2020.