¿Qué métodos podrían usarse para ocultar una ID de perfil usando Python, para proteger la identidad del perfil que se solicita?

¿Estás buscando algo similar a lo que CraigsList está haciendo? CraigsList crea una dirección de correo electrónico anónima _at_craigslist.com única y generada aleatoriamente para cada publicación realizada. El cartel original permanece completamente anónimo, pero el solicitante debe revelar su identidad (enviando un correo electrónico al cartel anónimo con su dirección de correo electrónico “real”).

No estoy seguro de si el anonimato bidireccional total funcionaría en el caso que está describiendo. ¿Por qué debería confiar en alguien que quiere conectarse conmigo si no sé quiénes son en realidad? Parece que una persona debería dar el primer paso y revelar su identidad.

Si la persona A quiere “conectarse” con la persona B sobre la base de una publicación con una dirección de correo electrónico aleatoria adjunta, la persona A debe revelar su identidad a la persona B antes de que la persona B revele su identidad a la persona A.

Generar tokens totalmente aleatorios o direcciones de correo electrónico para cada publicación anónima, y ​​mantener un mapeo estrictamente del lado del servidor, sería el camino a seguir aquí.

Si pudiera entrar en más detalles sobre cuánto anonimato espera, qué es exactamente lo que está diseñando, etc., sería más fácil sugerir una buena arquitectura para este sistema.

Esto me parece que está utilizando el secreto de las ID de perfil como medida de seguridad. Sin embargo, debe tener algún tipo de identificador que se pueda conectar con un usuario determinado para permitir que alguien solicite contacto con ellos. Lo que esto significa es que, en última instancia, solo está utilizando la oscuridad para proteger el acceso. Esa no es la mejor manera de hacer esto y está llena de muchos problemas.

Una mejor manera de hacer esto sería no preocuparse de que los ID de perfil estén expuestos en absoluto e implementar el control de acceso en los perfiles. Entonces, nadie puede ver la información asociada con un ID de perfil determinado hasta que su sistema les haya otorgado acceso. No importará si tienen el ID de perfil o no. Su sistema no les permitirá ver información para ese ID de perfil si no se les ha otorgado acceso.

Por lo tanto, para resolver su problema, permitiría que las ID de perfil estén en la página web para que pueda usarlas en el back-end para identificar quién solicita contacto con quién. El usuario A solicitaría contacto con el usuario B. Esta solicitud llegaría a su back-end como un ID de perfil solicitando contacto con otro ID de perfil. Haría lo que sea que haga su backend para notificar al usuario B que el usuario A está solicitando contacto. Cuando el usuario B aprueba esa solicitud, crearía el perfil del usuario B para permitir el acceso del usuario A y notificaría al usuario A que ahora pueden conversar con el usuario B. Si este es un proceso recíproco, también marcaría el perfil del usuario A para permitir la visualización por el usuario B.

Este es el verdadero control de acceso. Puede decidir qué información del usuario B está expuesta al usuario A e incluso qué información del usuario A está expuesta al usuario B. La belleza de usar el control de acceso verdadero en lugar del secreto de las ID de perfil es que el control de acceso se puede cambiar o revocar en en cualquier momento en el futuro

Por supuesto, deberá asegurarse de que la visualización de cualquier información de perfil imponga el control de acceso. Tendrá que verificar que el espectador conectado tenga el acceso apropiado a la información solicitada antes de entregar la información en una página web. Esto supone que tiene algún tipo de sistema de inicio de sesión al que puede conectar una cookie de inicio de sesión con el ID de perfil del usuario.

Un enfoque ingenuo: mantenga una tabla que asigne UUID o hash a una ID de perfil y envíe ese UUID o hash como código de invitación. (Probablemente necesitará alguna disposición para expirar invitaciones no utilizadas).