Amélioration du fonctionnement de la vérification par mail et comptes temporaires.
Tous les emails (de centrale nantes ou non) sont désormais stockés dans le champ email de User.
Le champ is_email_valid, False par défaut, permet de détecter qu'un utilisateur n'a pas validé son adresse email.
Lorsque l'email est vérifié il est mis à True est n'est plus jamais modifié.
Concernant les comptes temporaires, le champ invitation de User permet d'enregister la clé d'invitation utilisée. Le modèle Id registrations contient un champ expires_at qui donne la date d'expiration de l'invitation. Lorsque le compte devient permanent, le champ invitation passe à null.
Pour le changement de l'adresse email existante un champ email_next permet de stocker la nouvelle adresse tant que l'email n'est pas validée. Une fois l'email validée le champ email est remplacé par email_next
Definition of done
The ticket can be considered as done if all theses criteria are completed:
[ ] La vérification que l'email est valide se fait via un champ is_email_valid (et non plus is_active)
[ ] Les comptes temporaires sont détectés via un nouveau champ invitation
[ ] Ajouter la documentation sur l'authentification
Technical strategy
[ ] Ajout des champs is_email_valid, invitation et email_next au model User
[ ] Ajout du champ expires_at sur le modèle IDRegistration
[ ] Suppression du modèle TemporaryAccount avec les migrations nécessaires
[ ] Changement du backend d'authentification (suppression de EmailBackend)
Description
Amélioration du fonctionnement de la vérification par mail et comptes temporaires. Tous les emails (de centrale nantes ou non) sont désormais stockés dans le champ
email
deUser
. Le champis_email_valid
,False
par défaut, permet de détecter qu'un utilisateur n'a pas validé son adresse email. Lorsque l'email est vérifié il est mis àTrue
est n'est plus jamais modifié. Concernant les comptes temporaires, le champinvitation
deUser
permet d'enregister la clé d'invitation utilisée. Le modèle Id registrations contient un champexpires_at
qui donne la date d'expiration de l'invitation. Lorsque le compte devient permanent, le champinvitation
passe ànull
.Pour le changement de l'adresse email existante un champ
email_next
permet de stocker la nouvelle adresse tant que l'email n'est pas validée. Une fois l'email validée le champemail
est remplacé paremail_next
Definition of done
The ticket can be considered as done if all theses criteria are completed:
is_email_valid
(et non plusis_active
)invitation
Technical strategy
is_email_valid
,invitation
etemail_next
au model Userexpires_at
sur le modèle IDRegistrationTemporaryAccount
avec les migrations nécessaires