Project

General

Profile

Development #30535

imports d'attributs quelconques d'un LDAP

Added by Thomas Noël 9 months ago. Updated 9 months ago.

Status:
Solution déployée
Priority:
Normal
Category:
-
Target version:
-
Start date:
11 Feb 2019
Due date:
% Done:

100%

Patch proposed:
Yes
Planning:
No

Description

Pour l'instant populate_user_attributes ne gère que email, first_name, last_name

On voudrait se donner la possibilité d'importer n'importe quoi d'autre, genre :

sn: HUIT
givenName: Utilisateur
mail: utilisateur.huit@culture.gouv.fr
gender: h
roomNumber: 8008
telephoneNumber:: MDEgMjMgNDUgNjcgODgg
l: Bons Enfants
MCCOuBis: AC/SG/Service/HUIT

Pour cela, on définit dans le profil utilisateur des attributs qui vont recevoir les informations, et dans la configuration LDAP on ajoute un mapping du genre :

   ...
   "import_attributes": {
       "l": "locality",
       "telephoneNumber": "phone",
       "roomNumber": "room",
       "MCCOuBis": "MCCOuBis" 
   },
   ...

0002-ldap-allow-provisionning-of-all-user-attributes-fixe.patch View (4.73 KB) Benjamin Dauvergne, 11 Feb 2019 05:14 PM

0001-tests-PEP8ness-and-style-on-test_ldap-30535.patch View (9.86 KB) Benjamin Dauvergne, 11 Feb 2019 05:14 PM

0002-ldap-allow-provisionning-of-all-user-attributes-fixe.patch View (5.03 KB) Benjamin Dauvergne, 12 Feb 2019 09:50 AM

0001-tests-PEP8ness-and-style-on-test_ldap-30535.patch View (9.56 KB) Benjamin Dauvergne, 12 Feb 2019 09:50 AM

Associated revisions

Revision 9d96274c (diff)
Added by Benjamin Dauvergne 9 months ago

tests: PEP8ness and style on test_ldap (#30535)

Revision d28a6bba (diff)
Added by Benjamin Dauvergne 9 months ago

ldap: allow provisionning of all user attributes (fixes #30535)

History

#1 Updated by Thomas Noël 9 months ago

(assigné à Benjamin pour avis... ou plus... ;) )

#2 Updated by Benjamin Dauvergne 9 months ago

Faut déterminer si on veut pouvoir mapper un même attribut LDAP sur plusieurs attributs A2, ou plusieurs attributs LDAP sur un même attribut A2 (si un est absent on prend l'autre) ou les deux, dans les deux premiers cas on peut se satisfaire d'un dico simple, dans le dernier cas faut penser plutôt à une liste de 2-tuple ou de dicos :

   'user_attributes': [
       { 'from_ldap': 'l', 'to_user': 'locality' },
   ]

explicite étant better qu'implicit je pense m'orienter vers cette dernière forme, qu'on appliquera dans l'ordre.

#3 Updated by Benjamin Dauvergne 9 months ago

Un premier patch de nettoyage du code des tests (j'essaie de faire ça à chaque
fois maintenant, je ne suis pas encore passé sur backend_ldap.py, ce serait
long).

Un deuxième avec la fonctionnalité et les tests.

#4 Updated by Benjamin Dauvergne 9 months ago

  • déplacé l'ajout des 'locality' dans le deuxième patch

#5 Updated by Thomas Noël 9 months ago

  • Status changed from Solution proposée to Solution validée

#6 Updated by Thomas Noël 9 months ago

  • Status changed from Solution validée to Résolu (à déployer)
commit d28a6bba2548798048d0a4e36fa3e8ecc7a10b73 (HEAD -> master, origin/master, origin/HEAD)
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Mon Feb 11 17:13:12 2019 +0100

    ldap: allow provisionning of all user attributes (fixes #30535)

commit 9d96274c7b742748fcb8a62cdeb302b497367edb
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Mon Feb 11 17:12:39 2019 +0100

    tests: PEP8ness and style on test_ldap (#30535)

#7 Updated by Benjamin Dauvergne 9 months ago

  • % Done changed from 0 to 100

#8 Updated by Frédéric Péters 9 months ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF