Tâche #9105
Distribution EOLE - Scénario #9028: Correctif 2.3.14 stable
Erreur de comportement introduite dans la dernière mise à jour (authentification OTP)
Restant à faire (heures):
0.0
Description
Problème remonté par Christophe Léon suite au passage du serveur Seshat de la réunion en version 2.3.14 :
Ce matin après MAJ du eole-sso la connexion OTP ne fonctionne plus après 4 heures de fouille... j'arrive à la conclusion suivante le pb ne vient pas de OTP, il me retourne bien AUTH SUCCESS Je dirais plutot de la fonction get_attribute_set de authserver.py Lors d'une connexion OTP Le trace me donne l'appel suivant Oct 1 09:46:25 seshat eolesso: [-] DEBUG -> entering get_attribute_set((<authserver.SSOSessionManager object at 0x3e2f790>, 'urn:fi:ac-reunion:et-seshat.ac-reunion.fr:1.0', 'ldap.ac-reunion.fr:o=gouv,c=fr'), {}) Ce dernier me retourne {'optional_attrs': {}, 'branch_attrs': {'UAI': 'ou', 'rne': 'ou', 'RNE': 'ou', 'ENTPersonStructRattach': 'ou'}, 'user_attrs': {'FederationKey': 'FederationKey', 'uid': 'uid'}} EN analysant le code AVANT if idp_ident == config.IDP_IDENTITY: # cas particulier : utilisation pour retrouver un utilisateur local # (si recherche suite à une méthode d'authentification non LDAP) return {'user_attrs':{'uid':'uid'}, 'branch_attrs':config.SEARCH_BASE_ATTRS, 'optional_attrs':{}} MAINTENANT il n'y a plus de return {'user_attrs':{'uid':'uid'}, 'branch_attrs':config.SEARCH_BASE_ATTRS, 'optional_attrs':{}} mais un calcul qui me retourne 'user_attrs': {'FederationKey': 'FederationKey', 'uid': 'uid'}} La ou ca coince c'est dans le authenticate_federated_user ou il y a ce test if search_attrs and (len(search_attrs) == len(attr_set['user_attrs'])): du coup search_attrs = {'uid': u'cleon'} et attr_set[ 'user_attrs' ] = {'FederationKey': 'FederationKey', 'uid': 'uid'} Pourquoi lors de OTP on va regarder les attributs de fédération SAML ?
Le return dans le cas où idp_ident == config.IDP_IDENTITY: a effectivement été oublié lors des corrections pour la gestion d'attributs de fédération 'externes' (cf demande liée)
Demandes liées
Révisions associées
Correction de get_attribute_set dans le cas d'une authentification OTP
Fixes #9105 @1h
Historique
#1 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit b15df81054c8b5987eb73ae2098e9c42bf7a72cd.
#2 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Description mis à jour (diff)
- Restant à faire (heures) changé de 1.0 à 0.5
#3 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) changé de 0.5 à 0.0
paquet compilé en version stable et validé par Christophe Léon.