Problema: SAML, usuario anonimizado y bloqueado

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?

Disculpe por revivir el tema, pero estamos enfrentando exactamente este problema.

  • Los usuarios solo inician sesión a través del proveedor de SSO.
  • El UsuarioA está bloqueado del foro, pero no del SSO.
  • El UsuarioA solicita la eliminación de datos del usuario, por lo que anonimizamos la cuenta.
  • El UsuarioA puede crear una nueva cuenta usando el inicio de sesión de SSO.

¿Hay alguna forma de suspender manualmente un correo electrónico sin una cuenta?

¿Solo suspender la cuenta nueva?

1 me gusta

No quieres que el usuario tenga la oportunidad de interactuar con el foro, y no quieres monitorizar constantemente quiénes son los nuevos usuarios.

Debería haber una forma de suspender correos electrónicos, de la misma manera que puedes bloquear IPs.

Parece que no entiendes cómo manejar las eliminaciones solicitadas por el usuario y cuándo/dónde no se aplica.

Cuando un usuario se registra en tu sitio, tienes el derecho de procesar la información que proporciona (correo electrónico y nombre de usuario) con el fin del registro. Ese procesamiento no termina cuando son suspendidos e intentan irse, llevándose sus juguetes con ellos.

No estás obligado a eliminar el correo electrónico de un usuario prohibido o suspendido. El derecho al olvido no anula el propósito del procesamiento.

¿Y cómo es eso compatible con el RGPD y el derecho de los usuarios a solicitar la eliminación de sus datos?

Si conservas su cuenta, esta sigue asociada a sus datos y conservas su información incluso cuando han solicitado la eliminación de datos de usuario.

Lo pregunto sinceramente, no soy un experto legal.

El usuario puede retirar su consentimiento para el procesamiento de datos personales, pero el consentimiento es solo uno de los motivos que pueden hacer que el procesamiento de datos sea legal según el RGPD.

Otro motivo puede ser el interés legítimo del responsable del tratamiento (artículo 6.1, f: el tratamiento es necesario para los fines de los intereses legítimos perseguidos por el responsable del tratamiento). Dicho interés legítimo puede ser asegurarse de que el usuario no pueda crear una nueva cuenta. De lo contrario, el usuario podría hacer un mal uso del RGPD para que se borren todos los registros, incluido el hecho de que se ha portado mal.

Artículo 17 del RGPD, énfasis mío.

  1. El interesado tendrá derecho, sin dilación indebida, a obtener del responsable del tratamiento la supresión de los datos personales que le conciernan, y este tendrá la obligación de proceder a su supresión sin dilación indebida cuando concurra alguna de las circunstancias siguientes: (…)
    retire el consentimiento en que se base el tratamiento (…) y esta no se base en otro fundamento jurídico para el tratamiento;

Lo que básicamente significa: sí, el foro tiene que eliminar los datos del usuario a petición de este, pero como el foro ha suspendido al usuario, necesita una forma de asegurarse de que el usuario no cree una nueva cuenta, por lo que tienen una buena razón para conservar la dirección de correo electrónico del usuario suspendido, a pesar de la solicitud del usuario.

Una forma de hacerlo en Discourse es anonimizar al usuario (ya suspendido) y luego cambiar la dirección de correo electrónico anonimizada de nuevo a su dirección de correo electrónico real. También puede que desee conservar su IP de registro, basándose en el mismo motivo, y añadirla a la lista de bloqueo.