Projet

Général

Profil

Evolution #4950

Ajouter la possibilité de rechercher des attributs dans une source de données alternative en cas de fédération

Ajouté par Bruno Boiget il y a environ 11 ans. Mis à jour il y a plus de 10 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
Echéance:
29/03/2013
% réalisé:

100%

Temps passé:
Distribution:
EOLE 2.3

Description

Suite à la réunion avec différentes académies de la mutualisation Envole, il a été décidé d'apporter des modifications pour permettre d'effectuer une fédération depuis les téléservices vers Seshat.

Dans cette cinématique, il faudrait pouvoir retrouver un utilisateur à partir du vecteur FrEduVecteur. Comme cette donnée n'est pas présente dans l'annuaire Seshat, on pourrait envisager de faire la recherche dans une base de données (équivalent inversé de la base IntegrTeleservices.db sur seshat).

FrEduVecteur.py Voir (3,31 ko) Bruno Boiget, 11/03/2013 17:22


Demandes liées

Lié à seshat-backend - Evolution #4951: Evolution du script gen_freduvecteur.py Fermé 25/02/2013 01/03/2013
Lié à EoleSSO - Evolution #5032: ajout de fonctions pour détecter la provenance de l'utilisateur en fonction de ses attributs Fermé 15/03/2013
Lié à EoleSSO - Tâche #7828: jeu d'attribut non mis à jour en cas d'utilisation d'attributs externe (mode fournisseur de service) Fermé

Révisions associées

Révision 08551382 (diff)
Ajouté par Bruno Boiget il y a environ 11 ans

ajout de la gestion d'attributs de fédération externes (ref #4950)

Révision 77994c9e (diff)
Ajouté par Bruno Boiget il y a environ 11 ans

finalisation de la gestion des attributs de fédération externes (ref #4950)

Révision 084d44a4 (diff)
Ajouté par Bruno Boiget il y a environ 11 ans

suppression ligne de debug (fixes #4950)

Révision 271a84ca (diff)
Ajouté par Bruno Boiget il y a presque 11 ans

ajout de la gestion d'attributs de fédération externes (ref #4950)

Conflicts:

i18n/fr/LC_MESSAGES/eolesso.mo

Révision a4666131 (diff)
Ajouté par Bruno Boiget il y a presque 11 ans

finalisation de la gestion des attributs de fédération externes (ref #4950)

Révision 8e17e55e (diff)
Ajouté par Bruno Boiget il y a presque 11 ans

suppression ligne de debug (fixes #4950)

Historique

#1 Mis à jour par Bruno Boiget il y a environ 11 ans

  • Echéance changé de 08/03/2013 à 01/03/2013

#2 Mis à jour par Luc Bourdot il y a environ 11 ans

  • Echéance changé de 01/03/2013 à 08/03/2013

#3 Mis à jour par Luc Bourdot il y a environ 11 ans

  • Echéance changé de 08/03/2013 à 15/03/2013

#4 Mis à jour par Bruno Boiget il y a environ 11 ans

fonctionnement retenu:

un peu à la façon des attributs calculés, il est possible d'ajouter des sources d'attributs externes pour la fédération dans le répertoire /usr/share/sso/external_attrs.

Chaque fichier doit comporter une classe ExtAttr comportant une fonction get_local_attrs(values). Celle-ci prend en paramètre la liste des valeurs de l'attribut externe (définies dans la réponse SAML initiant la fédération) et renvoie un dictionnaire d'attributs (clé:valeurs).

le nom du fichier (sans .py) définit le nom de l'attribut 'externe'. Lors d'une fédération, si un attribut correspondant à un de ces fichiers est reçu dans le vecteur de fédération, eolesso va appeler la fonction get_local_attrs et fusionner les attributs retournés aux attributs du vecteur de fédération.

voir l'exemple fourni en pièce jointe dans le cas d'une fédération depuis le guichet ATEN.

Dans cet exemple, une base de données FrEduVecteur -> intid est créée au préalable depuis les données de l'annuaire fédérateur (script lancé journalier sur Seshat).

- Si l'utilisateur est un responsable d'élèves, L'attribut externe (FrEduVecteur) va renvoyer l'identifiant ENT (intid) correspondant, ainsi que la liste des établissement associés (en tant que nouvel attribut: ENTStructRattachId).
- Dans le cas d'un élève, intid et son établissement de rattachement sont directement pris dans le vecteur.

Le jeu d'attribut suivant est défini (teleservices.ini) et associé au fournisseur d'identité du guichet ATEN. Il permettra de retrouver l'utilisateur une fois intid récupéré et de lui associer la liste des établissements de l'utilisateur :

[user_attrs]
intid = intid  --> le fournisseur d'identité fournira donc FrEduVecteur, intid sera calculé
                   avant la recherche de l'utilisateur dans le référentiel du fournisseur de service.

[optional]
ENTStructRattachId = ENTStructRattachId  --> attributs ajoutés aux attributs ldap de l'utilisateur local trouvé.

Ces informations permettront ensuite de proposer à l'utilisateur le choix de l'établissement sur lequel il veut se connecter par l'intermédiaire de l'application dispatcher.

Rqe: Dans le cas d'un parent d'élève accédant à Seshat par fédération depuis le guichet ATEN, on utilisera sur seshat un seul des comptes correspondants (un parent peut en avoir dans plusieurs établissements), mais on conservera la liste de tous les établissements accessibles. Le fait que l'attribut intid soit identique sur tous les établissement permettra d'accéder à n'importe lequel de ses comptes par fédération après choix de l'établissement à atteindre.

#5 Mis à jour par Bruno Boiget il y a environ 11 ans

#6 Mis à jour par Joël Cuissinat il y a environ 11 ans

  • Echéance 15/03/2013 supprimé

#7 Mis à jour par Bruno Boiget il y a environ 11 ans

  • Statut changé de Nouveau à Résolu
  • % réalisé changé de 0 à 100

#8 Mis à jour par Redmine Admin il y a environ 11 ans

  • Echéance mis à 29/03/2013

#9 Mis à jour par Bruno Boiget il y a environ 11 ans

Après éclaircissements de Christophe sur la question des responsables, il semble qu'on ne puisse pas compter sur l'attribut intid pour les retrouver sur l'ensemble des établissements (il semble qu'ils possèdent un intid spécifique par établissement).

Il faut envisager une autre solution pour retrouver faire la fédération vers l'établissement. Quelques pistes:

- trouver un autre vecteur de fédération qui soit identique sur tous les établissements.
- avoir un mécanisme dans eolesso qui permette à l'utilisateur de choisir un établissement lors de la fédération sur seshat (intégrer le dispatcher dans eole-sso)
- autre ?

#10 Mis à jour par Bruno Boiget il y a environ 11 ans

  • Statut changé de Résolu à À valider
  • % réalisé changé de 100 à 60

#11 Mis à jour par Bruno Boiget il y a environ 11 ans

  • Version cible changé de Mises à jour 2.3.9 à Mises à jour 2.3.10

#12 Mis à jour par Bruno Boiget il y a presque 11 ans

  • Statut changé de À valider à Résolu
  • % réalisé changé de 60 à 100

#13 Mis à jour par Joël Cuissinat il y a plus de 10 ans

  • Statut changé de Résolu à Fermé

Formats disponibles : Atom PDF