Bug #44886
Les comptes désactivés ont une adresse email invalide
0%
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
Historique
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 ».
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.
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.
Mis à jour par Paul Marillonnet il y a presque 4 ans
- Fichier 0001-wip-idp_saml-ensure-users-are-active-when-performing.patch 0001-wip-idp_saml-ensure-users-are-active-when-performing.patch ajouté
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.
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
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
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)
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é
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().
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