Parcours de suppression de compte à l’aide du numéro de téléphone (#72615) #95

Merged
pmarillonnet merged 2 commits from wip/72615-phone-based-account-deletion into main 2023-08-03 12:18:03 +02:00
Owner
No description provided.
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 0b3a6a95a0 to 133451f524 2023-07-12 17:17:42 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 133451f524 to 6d1e1fc4e6 2023-07-12 17:45:38 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 6d1e1fc4e6 to 0daa1bd88c 2023-07-13 09:34:57 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 0daa1bd88c to f6781c06af 2023-07-13 10:01:46 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from f6781c06af to baa5cbc752 2023-07-13 17:06:56 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from baa5cbc752 to 63aaf4dc10 2023-07-17 14:13:44 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 63aaf4dc10 to 98d30d8353 2023-07-17 16:05:34 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 98d30d8353 to 43eb59ac5b 2023-07-18 15:50:53 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 43eb59ac5b to 148499bab7 2023-07-19 17:05:13 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 148499bab7 to 7a87c06ebc 2023-07-19 17:17:51 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 7a87c06ebc to b03c9cec50 2023-07-19 17:34:02 +02:00 Compare
pmarillonnet changed title from 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) 2023-07-19 17:35:52 +02:00
pmarillonnet changed target branch from wip/72614-phone-identifier-modification-ui to main 2023-07-19 17:35:53 +02:00
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from b03c9cec50 to ffaf4b75d1 2023-07-20 10:41:10 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from ffaf4b75d1 to f23ccc6b5f 2023-07-20 10:41:27 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from f23ccc6b5f to bc30e6267e 2023-08-01 10:58:51 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from bc30e6267e to 764978701a 2023-08-01 11:15:50 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 764978701a to d9397dbf37 2023-08-01 13:19:59 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 2769d936c1 to 2e13264fc5 2023-08-01 13:42:06 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 2e13264fc5 to 79ebd29a96 2023-08-01 13:50:27 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 79ebd29a96 to de072747d4 2023-08-01 14:55:08 +02:00 Compare
pmarillonnet changed title from 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) 2023-08-01 14:57:56 +02:00
Author
Owner

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.

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.
vdeniaud requested changes 2023-08-02 15:31:35 +02:00
vdeniaud left a comment
Owner

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.

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(
Owner

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).

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)`.
Author
Owner

Oui tu as raison, c’est le moment d’en faire une méthode dédiée. Je vais revoir cela.

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():
Owner

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.

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.
Author
Owner

Oui tu as raison, pas besoin d’atomicité ici en fait. Je vais faire revoir cela.

Oui tu as raison, pas besoin d’atomicité ici en fait. Je vais faire revoir cela.
Author
Owner

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.

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.

> 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. 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.
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from de072747d4 to 8c3e9c8320 2023-08-03 11:05:08 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 8c3e9c8320 to 4a5490cef4 2023-08-03 11:25:35 +02:00 Compare
pmarillonnet force-pushed wip/72615-phone-based-account-deletion from 9259d22e9d to c5e56d5970 2023-08-03 11:40:40 +02:00 Compare
Author
Owner

Voilà, tes deux commentaires ont été inclus. Nouvelle version bonne pour relecture :)

Voilà, tes deux commentaires ont été inclus. Nouvelle version bonne pour relecture :)
pmarillonnet requested review from vdeniaud 2023-08-03 11:41:16 +02:00
vdeniaud approved these changes 2023-08-03 12:02:25 +02:00
vdeniaud left a comment
Owner

Top

Top
@ -542,0 +543,4 @@
@property
def phone_identifier(self):
if field := get_password_authenticator().phone_identifier_field:
atvs = (
Owner

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

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
Author
Owner

Ç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.

Ç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.
pmarillonnet merged commit c5e56d5970 into main 2023-08-03 12:18:03 +02:00
pmarillonnet deleted branch wip/72615-phone-based-account-deletion 2023-08-03 12:18:03 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/authentic#95
No description provided.