Estoy intentando cerrar sesión en la cuenta de un usuario en varios dispositivos en los que está activa.
Para esto, en mi backend, estoy haciendo:
async function deleteAccount(userId) { // Close all the current active sessions await closeAllUserActiveSessions(userId); return auth.deleteUser(userId); } async function closeAllUserActiveSessions(userId) { await auth.revokeRefreshTokens(userId); const userRecord = await auth.getUser(userId); const timestamp = new Date(userRecord.tokensValidAfterTime).getTime() / 1000; functions.logger.log(`Tokens revoked at: ${timestamp}`); } Supuse que, después de llamar a auth.revokeRefreshTokens(userId) , la cuenta se cerraría automáticamente en todos los dispositivos, pero ese no es el caso.
¿Es posible cerrar sesión en todas las sesiones? ¿Cuál es el uso de auth.revokeRefreshTokens (userId)?
Solo intento cerrar sesión en mi cuenta de usuario (desde todos los dispositivos) cuando el usuario cambia su contraseña o elimina su cuenta... ¿Alguna idea?
El comportamiento que está viendo es el esperado: los tokens de identificación son tokens al portador y no se pueden revocar una vez que se acuñan.
Si desea que se rechacen los tokens de ID existentes después de revocar el token de actualización , deberá detectar la revocación en cada servicio de back-end que use los tokens de ID para establecer la identidad de la persona que llama.
No hay una notificación directa a los otros clientes cuando un usuario cambia su contraseña, por lo que deberá enviar dicha notificación usted mismo.