Cycle de vie des profils

Définition des états

Les profils hiboo disposent d’un champ status correspondant à l’état du profil. Les états définis sont :

  • ACTIVE : le profil est actif, état nominal ;
  • UNCLAIMED : le profil est importé d’une application historique mais pas récupéré par un utilisateur ;
  • REQUEST : le profil est demandé par l’utilisateur mais pas validé par l’administrateur ;
  • BLOCKED : le profil est bloqué par l’administrateur ;
  • DELETED : le profil est supprimé, mais les données pas nécessairement purgées ;
  • PURGED : le profil est supprimé et les données purgées.

Machine à états

Les transitions définies entre profils sont décrites dans la machine à états suivante.

Un profil peut être créé selon trois processus :

  • profile registration, nominal, où l’utilisateur inscrit un nouveau profil lors du premier accès au service ;
  • profile request, sur un service modéré, où l’utilisateur inscrit une demande de profil lors du premier accès au service ;
  • external imort, lorsque l’administrateur importe un profil externe, typiquement un profil existant sur une application lors de la migration vers hiboo.

Les principales transitions sont les suivantes :

  • activate, l’administrateur active un profile demandé par l’utilisateur ;
  • claim, l’utilisateur récupère un profil importé, typiquement à partir du mot de passe historique ;
  • block, l’administrateur bloque un profil de l’utilisateur (déblocable par unblock) ;
  • delete, l’administrateur ou l’utilisateur supprime le profil (ou delete-blocked depuis un profil bloqué) ;
  • purge, l’administrateur ou l’utilisateur supprime le profil en demandant la suppression des données associées (ou purge-blocked ou purge-deleted depuis un profil bloqué ou supprimé).

Déroulement d’une transition

La transition d’un état à l’autre comprend elle-même une machine à état minimale, assurant la logique interne de transition.

Les états définis sont :

  • PREPARE, validant la validité de la transition et la préparant ;
  • AUTO, exécutant les actions et modifiant d’autres états que la transition ;
  • MANUAL, attendant une confirmation manuelle de l’exécution ;
  • FINALIZE, finalisant la transition en modifiant l’état du profil.

Les transitions sont décrites dans la machine à états suivante.

La phase de préparation peut abandonner la transition sous conditions, et déclencher un déroulement manuel ou automatique de la transition. Le délenchement manuel n’effectue pas d’action complémentaire mais attend de l’administrateur une confirmation que les actions sont exécutées (par exemple un profil supprimé dans le service). Le déclenchement automatique effectue les actions automatiquement après un délai défini par transition, par exemple en appelant l’API du service.

Les applications (voir l’architecture) peuvent déclarer des hooks sur chaque état de chaque transition pour effectuer des actions, par exemple :

  • sur PREPARE de delete et purge afin de notifier l’utilisateur ;
  • sur AUTO de delete afin de supprimer le compte utilisateur ;
  • sur AUTO de purge afin de supprimer les données de l’utilisateur ;
  • sur FINALIZE de delete et purge afin de notifier l’utilisateur.
Dernière modification January 1, 0001