Parcours de suppression de compte à l’aide du numéro de téléphone (#72615) #95
Loading…
Reference in New Issue
No description provided.
Delete Branch "wip/72615-phone-based-account-deletion"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
0b3a6a95a0
to133451f524
133451f524
to6d1e1fc4e6
6d1e1fc4e6
to0daa1bd88c
0daa1bd88c
tof6781c06af
f6781c06af
tobaa5cbc752
baa5cbc752
to63aaf4dc10
63aaf4dc10
to98d30d8353
98d30d8353
to43eb59ac5b
43eb59ac5b
to148499bab7
148499bab7
to7a87c06ebc
7a87c06ebc
tob03c9cec50
WIP: Parcours de suppression de compte à l’aide du numéro de téléphone (#72615)to WIP: Parcours de suppression de compte à l’aide du numéro de téléphone (#72615)b03c9cec50
toffaf4b75d1
ffaf4b75d1
tof23ccc6b5f
f23ccc6b5f
tobc30e6267e
bc30e6267e
to764978701a
764978701a
tod9397dbf37
2769d936c1
to2e13264fc5
2e13264fc5
to79ebd29a96
79ebd29a96
tode072747d4
WIP: Parcours de suppression de compte à l’aide du numéro de téléphone (#72615)to Parcours de suppression de compte à l’aide du numéro de téléphone (#72615)Je pense qu’on pourrait déjà dans un premier temps passer ce parcours assez simple : la désactivation à l’aide du numéro de téléphone opérée uniquement lorsque celui-ci est connu et vérifié alors que le courriel ne l’est pas.
Pour info, en testant en local j'ai été bloqué par #79865 (le compte que j'ai créé par numéro de tel n'a pas d'email mais email_verified est vrai). J'ai corrigé dans un shell et le parcours fonctionne bien pour moi.
@ -2021,2 +2063,4 @@
ctx = super().get_context_data(**kwargs)
ctx['email'] = self.request.user.email
user_ct = ContentType.objects.get_for_model(get_user_model())
atvs = models.AttributeValue.objects.filter(
Pourquoi pas la même requête que plus haut, avec with_owner ?
D'ailleurs cette requête est tellement courante désormais dans le code que ça donne bien envie de factoriser, avec genre un
user.get_phone_number(self.authenticator.phone_identifier_field)
.Oui tu as raison, c’est le moment d’en faire une méthode dédiée. Je vais revoir cela.
@ -2060,0 +2111,4 @@
token = kwargs['deletion_token'].replace(' ', '')
if token:
try:
with atomic():
Ici j'imagine que le comportement souhaité c'est 1/ utiliser le token 2/ si il y a une erreur pendant l'utilisation, échouer mais réactiver le token.
Je pense que c'est inutile de chercher à faire ça, si le token est mauvais autant l'invalider (c'est comme ça partout ailleurs dans le code).
Concrètement ça veut juste dire enlever le bloc atomique, et revenir à une gestion normale des exceptions.
Oui tu as raison, pas besoin d’atomicité ici en fait. Je vais faire revoir cela.
Oui, j’avance de ce côté-ci et je gérerai ce souci de vérification abusive du courriel ensuite. Merci pour la relecture.
de072747d4
to8c3e9c8320
8c3e9c8320
to4a5490cef4
9259d22e9d
toc5e56d5970
Voilà, tes deux commentaires ont été inclus. Nouvelle version bonne pour relecture :)
Top
@ -542,0 +543,4 @@
@property
def phone_identifier(self):
if field := get_password_authenticator().phone_identifier_field:
atvs = (
Peut-être que ça marche de faire direct
return AttributeValue.objects.with_owner(...).first()
, dans ce cas la requête serait j'imagine un peu plus performante, mais c'est du détailÇa me va de laisser comme cela, il n’est pas censé y avoir des tonnes de lignes renvoyées, si c’est le cas c’est qu’il y a un problème ailleurs.