Problème : SAML, utilisateur anonymisé et bloqué

Steps to reproduce:

  • User A, a SAML user exists
  • Admin want, that User A is no longer able to use discourse
  • Admin uses the “anonymize user” function for user A (all entries are no anonymized => thats good)
  • Admin want to block further access of user A and therefore want to block him (block user function)

Note: the user was not removed from SAML server and is still active

Expected:
Even that the user does still exist on SAML server, the user should not be able to log in because he/she is blocked.

Current behavior:
The user is able to log in.

Have you tried suspending the user account within Discourse?

sorry, Instead of “block” I mean “suspend”.
Yes, I tried this.

The issue is, that the user gets anonymized and therefore the username changes. I guess, saml doesn’t recognize this and adds a new user because saml can not find the user with its username (= because the user was anonymized before).

I guess, discourse-saml tries to find the user based on the username at https://github.com/discourse/discourse-saml/blob/230a58b2d86465ec8aa75fb755558d4fdda73773/lib/saml_authenticator.rb#L96

I think there need to be a way to match a anonymized user with the saml user data. Does someone know how and which attribute to validate?

Désolé pour ce déterrage, mais nous rencontrons exactement ce problème.

  • Les utilisateurs ne se connectent que via le fournisseur sso.
  • L’utilisateurA est bloqué du forum, mais pas du sso.
  • L’utilisateurA demande la suppression de ses données utilisateur, nous anonymisons donc le compte.
  • L’utilisateurA est capable de créer un nouveau compte en utilisant la connexion sso.

Existe-t-il un moyen de suspendre manuellement un e-mail sans compte ?

Juste suspendre le nouveau compte ?

1 « J'aime »

Ouais, vous ne voulez pas que l’utilisateur ait la possibilité d’interagir avec le forum, et vous ne voulez pas surveiller constamment qui sont les nouveaux utilisateurs.

Il devrait y avoir un moyen de suspendre les e-mails, de la même manière que vous pouvez bloquer les adresses IP.

Il semble que vous ne compreniez pas comment gérer les suppressions demandées par l’utilisateur et quand/où cela ne s’applique pas.

Lorsqu’un utilisateur s’inscrit sur votre site, vous avez le droit de traiter les informations qu’il fournit (e-mail et nom d’utilisateur) dans le but de l’enregistrement. Ce traitement ne prend pas fin lorsqu’il est suspendu et tente de partir, en emportant ses jouets avec lui.

Vous n’êtes pas obligé de supprimer l’e-mail d’un utilisateur banni ou suspendu. Le droit à l’oubli ne supplante pas le but du traitement.

Et comment cela est-il compatible avec le RGPD et le droit des utilisateurs de demander la suppression de leurs données ?

Si vous conservez leur compte, celui-ci reste associé à leurs données et vous conservez leurs informations même lorsqu’ils ont demandé la suppression de leurs données utilisateur.

Je pose la question honnêtement, je ne suis pas un expert juridique.

L’utilisateur peut retirer son consentement au traitement des données personnelles, mais le consentement n’est qu’un des motifs qui peuvent rendre le traitement des données légal en vertu du RGPD.

Un autre motif peut être l’intérêt légitime du responsable du traitement (article 6.1, f : le traitement est nécessaire aux fins des intérêts légitimes poursuivis par le responsable du traitement). Un tel intérêt légitime peut être de s’assurer que l’utilisateur ne peut pas créer un nouveau compte. Sinon, l’utilisateur pourrait abuser du RGPD pour faire effacer tous les enregistrements, y compris le fait qu’il s’est mal comporté.

Article 17 du RGPD, emphase ajoutée.

  1. La personne concernée a le droit d’obtenir du responsable du traitement l’effacement, dans les meilleurs délais, de données à caractère personnel la concernant et le responsable du traitement a l’obligation d’effacer, dans les meilleurs délais, des données à caractère personnel lorsque l’un des motifs suivants s’applique : (…)
    le consentement sur lequel est fondé le traitement est retiré par la personne concernée (…) et lorsqu’il n’existe pas d’autre fondement juridique au traitement ;

Ce qui signifie essentiellement : oui, le forum doit supprimer les données de l’utilisateur à sa demande, mais comme le forum a suspendu l’utilisateur, il a besoin d’un moyen de s’assurer que l’utilisateur ne crée pas de nouveau compte, il a donc une bonne raison de conserver l’adresse e-mail de l’utilisateur suspendu, malgré la demande de l’utilisateur.

Une façon de faire cela dans Discourse est d’anonymiser l’utilisateur (déjà suspendu) puis de rétablir l’adresse e-mail anonymisée à son adresse e-mail réelle. Vous pourriez également vouloir conserver leur adresse IP d’enregistrement, sur la base du même motif, et l’ajouter à la liste de blocage.