Project

General

Profile

Développement #45276

commande de resynchronisation des utilisateurs

Added by Frédéric Péters almost 5 years ago. Updated over 2 years ago.

Status:
En cours
Priority:
Normal
Category:
-
Target version:
-
Start date:
20 July 2020
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

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


Files


Related issues

Related to Authentic 2 - Développement #57564: étendre l’API de synchronisationFermé04 October 2021

Actions
Related to Authentic 2 - Développement #57567: ajouter un paramètre full à l’api de synchronisationFermé04 October 2021

Actions

History

#1

Updated by Paul Marillonnet over 3 years ago

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

#2

Updated by Benjamin Dauvergne over 3 years ago

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

Updated by Paul Marillonnet over 3 years ago

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

Updated by Paul Marillonnet over 3 years ago

#5

Updated by Paul Marillonnet over 3 years ago

#6

Updated by Frédéric Péters over 2 years ago

  • Status changed from Solution proposée to En cours

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

Also available in: Atom PDF