5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-15 01:51:41 +00:00
panel/doc/autenticacion.md

46 lines
1.8 KiB
Markdown
Raw Normal View History

2019-07-03 19:57:16 +00:00
# Autenticación de usuaries
Estamos pasando de un modelo integrado donde Usuarias son usuaries de
una red IMAP e Invitadxs son usuaries locales de la plataforma, a una
más "monolítica" donde las cuentas se gestionan desde la plataforma
misma.
Entonces, Usuaria e Invitadx se fusionan y su diferencia es solo de
privilegios sobre un sitio (puede hacer todo / solo puede cargar
artículos y modificar los propios).
No nos gusta la idea de implementar todo un sistema de privilegios,
primero porque queremos que Sutty sea una plataforma democrática y
segundo porque en nuestra experiencia nadie los usa y prefieren usar una
cuenta de administración.
La migración a Devise nos va a permitir tener recuperación de
contraseñas, registro independiente, correos de bienvenida y varias
cosas más.
Planeamos que Sutty también sea un proveedor de oAuth, para poder
integrarla con otras plataformas comunitarias
(rocket.chat/mattermost.com principalmente).
2019-07-03 22:04:50 +00:00
## Base de datos
Los Sitios tienen una contraparte física, de archivos, pero también se
crean en la base de datos para establecer relaciones con Usuaries.
Une Usuarie puede tener muchos Sitios y viceversa. En Rails esto se
llama "tiene y pertenece a muchos" (HABTM en inglés).
Sin embargo también queremos saber qué rol tienen, con lo que
necesitamos dos tablas de HABTM, una de Invitades y otra de Usuaries.
De lo contrario necesitamos establecer roles y ya entramos en las
dificultades que decíamos más arriba.
No podemos saber desde cuándo se creo la relación, a menos que tengamos
2019-07-04 16:23:43 +00:00
una tabla de actividades por separado.
Podemos saber quién es invitade ingresando a un sitio y fijándonos si
está en su lista de invitade. Lo mismo para usuaries.
Les usuaries pueden bloquear invitades y a otres usuaries, y sumar
usuaries e invitades a su sitio (via correo de invitación).