Projet

Général

Profil

Development #45276

commande de resynchronisation des utilisateurs

Ajouté par Frédéric Péters il y a plus de 3 ans. Mis à jour il y a plus d'un an.

Statut:
En cours
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
20 juillet 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Les messages de provisionning peuvent échouer et des utilisateurs supprimés persister dans les modules, il faudrait régulièrement pouvoir utiliser l'API de synchronisation d'authentic pour ajuster ça.

https://doc-publik.entrouvert.com/dev/api-authentic/approvisionner-et-deprovisionner-les-uti/#exemple-de-script


Fichiers


Demandes liées

Lié à Authentic 2 - Development #57564: étendre l’API de synchronisationFermé04 octobre 2021

Actions
Lié à Authentic 2 - Development #57567: ajouter un paramètre full à l’api de synchronisationFermé04 octobre 2021

Actions

Historique

#1

Mis à jour par Paul Marillonnet il y a plus de 2 ans

En transposant un peu le script de la doc mentionné dans la description de ticket, cela pourrait être quelque chose comme ça.

#2

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

Plusieurs choses :

1. Si le but est d'obtenir les rôles nouveaux d'un utilisateur ça ne marchera pas, modified n'est pas mis à jour sur un changement de rôles. Idéalement on aurait une colonne created/modified sur le modèle Role.members.through et RoleParenting et que modified_gt prenne ça aussi en compte, mais on a pas, un contournement ce serait de taper dans le journal, de regarder tous les objets users impliqués dans une action du journal ces n dernière minutes (mais donc faut du code coté authentic)

2. Il y a une API synchronization qui est d'abord pensé pour le deprovisionning (créée pour GLC) mais on pourrait l'étendre pour prendre un timestamp, et rapporter les uuid disparues (depuis DeletedUser) et les usagers qui ont reçu une action dans le journal, ensuite on taperait dans /api/users/ qui pourrait recevoir une extension pour pouvoir requêter une liste d'UUID plutôt que de les récupérer un par un (ou alors on s'arrange pour que synchronization le fasse).

Sans tout ça la commande me paraît un peu bancal à l'usage, aussi je ne mettrai pas le code de tout ça directement dans la commande mais dans hobo/provisionning/utils.py, parce que c'est souvent plus facile à tester/réutiliser ainsi.

#3

Mis à jour par Paul Marillonnet il y a plus de 2 ans

2. Il y a une API synchronization qui est d'abord pensé pour le deprovisionning (créée pour GLC) mais on pourrait l'étendre pour prendre un timestamp, et rapporter les uuid disparues (depuis DeletedUser) et les usagers qui ont reçu une action dans le journal

Ok, #57564.

ensuite on taperait dans /api/users/ qui pourrait recevoir une extension pour pouvoir requêter une liste d'UUID plutôt que de les récupérer un par un (ou alors on s'arrange pour que synchronization le fasse).

Ok, #57567.

Sans tout ça la commande me paraît un peu bancal à l'usage, aussi je ne mettrai pas le code de tout ça directement dans la commande mais dans hobo/provisionning/utils.py, parce que c'est souvent plus facile à tester/réutiliser ainsi.

Ok, commencé à y réfléchir, visible dans la branche.

#4

Mis à jour par Paul Marillonnet il y a plus de 2 ans

#5

Mis à jour par Paul Marillonnet il y a plus de 2 ans

  • Lié à Development #57567: ajouter un paramètre full à l’api de synchronisation ajouté
#6

Mis à jour par Frédéric Péters il y a plus d'un an

  • Statut changé de Solution proposée à En cours

(j'ai l'impression que ça n'est plus formellement proposé)

Formats disponibles : Atom PDF