Projet

Général

Profil

Bug #44886

Les comptes désactivés ont une adresse email invalide

Ajouté par Thomas Noël il y a presque 4 ans. Mis à jour il y a presque 4 ans.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
07 juillet 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non
Club:
Non

Description

Lorsque Authentic désactive un compte, il y a, depuis #41930, un # ajouté dans son adresse email :

+    def mark_as_deleted(self, timestamp=None, force=True, save=True):
+        self.is_active = False
+        self.email_verified = False
+        if self.email and '#' not in self.email:
+            self.email += '#%d' % random.randint(1, 10000000)

Cela a pour effet d'envoyer dans les SP (wcs, combo, ...) des adresses email invalides, et on arrive à des erreurs SMTP

  type = '<class 'smtplib.SMTPDataError'>', value = '(550, b'header syntax')'

quand l'adresse email se retrouve dans la liste des destinataires (et alors tout le mail est annulé, jamais reçu par les autres destinataires).


Fichiers


Demandes liées

Lié à Authentic 2 - Development #44892: comptes "deleted" : ajouter un suffixe #deleted#nnn dans l'adresse email au lieu de juste #nnnRejeté07 juillet 2020

Actions

Historique

#1

Mis à jour par Thomas Noël il y a presque 4 ans

Mon idée : regarder si on peut patcher nos applications pour ne pas envoyer de mail quand l'adresse comporte un "#" ? Faut regarder pour wcs et combo (et autres ?).

Et pour que les choses soient plus explicites, perso j'aimerais qu'Authentic pose carrément un suffixe « #deleted#nnn » au lieu de l'actuel « #nnn ».

#2

Mis à jour par Serghei Mihai il y a presque 4 ans

Thomas Noël a écrit :

Mon idée : regarder si on peut patcher nos applications pour ne pas envoyer de mail quand l'adresse comporte un "#" ? Faut regarder pour wcs et combo (et autres ?).

Cela pourrait être une app email dans hobo qui serait chargée partout et qui se chargerait de la logique d'envoi de mails.

Et pour que les choses soient plus explicites, perso j'aimerais qu'Authentic pose carrément un suffixe « #deleted#nnn » au lieu de l'actuel « #nnn ».

Yep, +1.

#3

Mis à jour par Paul Marillonnet il y a presque 4 ans

Ça veut quand même dire qu'à un moment donné du SSO, authentic envoie une assertion concernant un utilisateur désactivé, non ? C'est peut-être ça le problème.

Edit: Ce qui n'empêche pas de fournir un suffixe plus clair comme celui proposé ici.

#4

Mis à jour par Paul Marillonnet il y a presque 4 ans

J'ai poussé dans une branche le commit dans le patch ci-joint, parce que l'absence de vérificatino sur user.is_active lors du sso me semble être un bogue, et possiblement le bogue qui conduit à la construction d'assertion pour des usagers désactivés, comme s'ils ne l'étaient pas.

Je regarde, en testant dans mon devinst, si c'est bien de ça qu'il s'agit.

#5

Mis à jour par Thomas Noël il y a presque 4 ans

Serghei Mihai a écrit :

Thomas Noël a écrit :

Mon idée : regarder si on peut patcher nos applications pour ne pas envoyer de mail quand l'adresse comporte un "#" ? Faut regarder pour wcs et combo (et autres ?).

Cela pourrait être une app email dans hobo qui serait chargée partout et qui se chargerait de la logique d'envoi de mails.

En fait y'a pas de possibilité de jouer dans les settings pour dire à Django d'utiliser autre chose que django.core.mail donc il faut patcher les applis et ne jamais mailer aux adresses qui contiennent un "#". Je n'aime pas tellement ça non plus, mais je vois pas comment faire autrement (si on modifie d'abord Authentic pour gérer un #deleted# alors on sera plus à l'aise, le patch sera plus facile à lire àmha).

Et pour que les choses soient plus explicites, perso j'aimerais qu'Authentic pose carrément un suffixe « #deleted#nnn » au lieu de l'actuel « #nnn ».

Yep, +1.

J'ai fait #44892 pour ça

#6

Mis à jour par Thomas Noël il y a presque 4 ans

Paul Marillonnet a écrit :

J'ai poussé dans une branche le commit dans le patch ci-joint, parce que l'absence de vérificatino sur user.is_active lors du sso me semble être un bogue, et possiblement le bogue qui conduit à la construction d'assertion pour des usagers désactivés, comme s'ils ne l'étaient pas.

Je regarde, en testant dans mon devinst, si c'est bien de ça qu'il s'agit.

(stp c'est à envoyer dans projet Authentic et dans un ticket à part "ne pas accepter le sso sur les comptes désactivés", et par ailleurs il y a l'attribut is_active mais aussi deleted... have fun)

#7

Mis à jour par Thomas Noël il y a presque 4 ans

  • Lié à Development #44892: comptes "deleted" : ajouter un suffixe #deleted#nnn dans l'adresse email au lieu de juste #nnn ajouté
#8

Mis à jour par Benjamin Dauvergne il y a presque 4 ans

Paul Marillonnet a écrit :

Ça veut quand même dire qu'à un moment donné du SSO, authentic envoie une assertion concernant un utilisateur désactivé, non ? C'est peut-être ça le problème.

Edit: Ce qui n'empêche pas de fournir un suffixe plus clair comme celui proposé ici.

Non ça peut venir du (de-)provisionning aussi.

Paul Marillonnet a écrit :

J'ai poussé dans une branche le commit dans le patch ci-joint, parce que l'absence de vérificatino sur user.is_active lors du sso me semble être un bogue, et possiblement le bogue qui conduit à la construction d'assertion pour des usagers désactivés, comme s'ils ne l'étaient pas.

Je regarde, en testant dans mon devinst, si c'est bien de ça qu'il s'agit.

Il y a un test is_active qui est fait déjà mais ça peut manquer dans les Backend.get_user().

#9

Mis à jour par Thomas Noël il y a presque 4 ans

  • Statut changé de Nouveau à Rejeté

Je rejette mon ticket, c'est comme ça depuis "longtemps" et le plan complet est à finir, cf #26907

Formats disponibles : Atom PDF