Hola a todos, estoy tratando de descubrir cómo puedo deshabilitar y cerrar la sesión de un usuario correctamente.
Después de investigar descubrí que de esa manera deshabilitamos al usuario.
const user = await admin.auth().updateUser(userUid, { disabled: true, });Pero la pregunta que tengo es, ¿qué sucede si el usuario todavía está conectado a la aplicación? Probé y no pasó nada, el usuario aún puede usar la aplicación después de deshabilitarla. Entonces, ¿qué podemos hacer al respecto? Estaba pensando en cerrar la sesión del usuario con la función firebase. Mi aplicación está escrita en flutter backend es firebase.
Iniciar sesión en Firebase se basa en un token de ID. De forma predeterminada, dicho token es válido durante una hora desde el momento en que se acuñó, y el token en sí no se puede invalidar durante ese tiempo.
El usuario permanecerá autenticado (hasta una hora) hasta que sea necesario actualizar su token de ID. En ese momento, se cerrará la sesión y no podrá volver a iniciar sesión.
Si desea bloquear su acceso antes de que se actualice el token de ID, deberá hacerlo a través de algún otro mecanismo, por ejemplo, manteniendo una lista de UID deshabilitados y comprobando eso.
Recomiendo revisar la documentación de Firebase sobre la administración de sesiones de usuario , específicamente la sección sobre detección de revocación de token de ID .
Este tema se ha tratado antes, por lo que recomiendo consultar: