Cuando alguien administra a una persona (le cambia el rol o los permisos, edita sus datos, la desactiva, restablece su MFA o su acceso) o esa persona cambia o recupera su contraseña, la API avisa por su canal personal. Lo mismo pasa con todos los miembros de un rol cuando se edita ese rol. El mensaje no trae datos: el navegador vuelve a pedir /auth/me y la respuesta decide qué pasa.
Paso a paso
- AdministraciónCambia rol, permisos o estado de una persona
- Base de datosGuarda el cambio y su registro
Al desactivar, restablecer el MFA o el acceso, también borra todos sus tokens de sesión. Todo queda en
admin_actions. - APIEnvía session.changed a su canal personal
Puerto compartido
SessionSignals; el aviso sale cuando la transacción se confirma. Si se editó un rol, va a todos sus miembros. - ReverbLo entrega a cada pestaña abierta
- Persona afectadaSu pantalla pide GET /auth/me
- API¿Su sesión sigue valiendo?
- Persona afectadaMenú y botones se ajustan a sus permisos nuevos
El menú del dock, los botones de cada pantalla y los canales de tiempo real (entra a los nuevos, sale de los que ya no aplican).
Cambiar la contraseña desde Mi cuenta también envía este aviso: las otras sesiones de la persona se cierran al instante, y la pestaña desde la que la cambió sigue abierta porque su token no se revocó.
Dónde está en el código
ChangeUserRole,ChangeUserPermissions,ChangeUserStatus,ResetUserAccess,UpdateUseryUpdateRole: quién envía el aviso.SessionSignalsyBroadcastSessionSignals.useRealtimeNotices: pide/auth/meal recibirlo.- Explicación: Módulo Realtime.