Le SSO sera responsable des credentials de l'utilisateur et des audiences associés => provider
Le Portail sera responsable de l'identité de l'utilisateur (spécifique au portail)
Si demain le Rezal venait à utiliser le SSO, le Rezal serait responsable de l'identité de l'utilisateur spécifique au Rezal
L'ajout d'utilisateurs se fera via le SSO, qui créera alors côté portail la fiche identité minimale de l'utilisateur via un webhook.
Il faut ainsi créer une route de création d'utilisateurs, accessible uniquement par des superusers (à défaut d'autoriser seulement le service SSO).
Un pré requis est d'enlever les contraintes non null sur tous les champs optionnels du model User côté portail.
Existant
Il n'existe aucune route sur le portail pour créer des utilisateurs (autre qu'en utilisant l'interface admin Django)
Strat
Lever les contraintes non null sur les champs non requis du model User (cf. les champs requis qui suivent)
Créer un serializer CreateUserSerializer avec les champs requis id, first_name, last_name et email (les autres sont optionnels)
Dans la view associé à la route /users/users, modifier get_serializer pour utiliser CreateUserSerializer à l'action "create"
Acceptance
POST /users/users avec en body les infos requises
Vérifier que l'utilisateur est créé en base
(il faut être connecté ETQstaff)
Why
Le SSO sera responsable des credentials de l'utilisateur et des audiences associés => provider Le Portail sera responsable de l'identité de l'utilisateur (spécifique au portail) Si demain le Rezal venait à utiliser le SSO, le Rezal serait responsable de l'identité de l'utilisateur spécifique au Rezal
L'ajout d'utilisateurs se fera via le SSO, qui créera alors côté portail la fiche identité minimale de l'utilisateur via un webhook.
Il faut ainsi créer une route de création d'utilisateurs, accessible uniquement par des superusers (à défaut d'autoriser seulement le service SSO). Un pré requis est d'enlever les contraintes non null sur tous les champs optionnels du model User côté portail.
Existant
Il n'existe aucune route sur le portail pour créer des utilisateurs (autre qu'en utilisant l'interface admin Django)
Strat
Acceptance
POST /users/users avec en body les infos requises Vérifier que l'utilisateur est créé en base (il faut être connecté ETQstaff)