Tener un pequeño problema actualmente. Tengo un sistema de administración de usuarios configurado donde puede iniciar sesión y etc. usando firebase. Actualmente, tenemos la persistencia de Firebase establecida en local, por lo que puede abrir nuevas pestañas y seguir conectado en la nueva pestaña. Sin embargo, tengo un caso de uso en el que quiero cerrar la sesión de un usuario una vez que se cierran todas las pestañas.
Caso 1: el usuario inicia sesión, abre una nueva pestaña está conectado en ambas pestañas
Caso 2: el usuario cierra la sesión en la pestaña nueva y todavía está conectado en la pestaña original (también cierre el original e inicie sesión en la pestaña nueva)
Caso 3: El usuario cierra todas las pestañas o cierra el navegador. Al volver a la aplicación web, deben cerrar la sesión.
Probé la persistencia de Firebase configurada en sesión, sin embargo, esto no permite nuevas pestañas, ya que se cerrará la sesión al abrir una nueva pestaña.
¿Alguna idea o sugerencia sobre un método para evitar esto?
Gracias
¿Intentó usar localStorage para almacenar como un contador de pestañas abiertas? Mientras se cierra si este contador es 1, realice una devolución de llamada antes de cerrar (por ejemplo, en ganchos, en useState, se llama a return mientras el componente se está destruyendo), luego borre el almacenamiento local, llame a la API para revocar el token.