Escuchar la User API Key revocada por MessageBus?

Estoy creando una aplicación móvil usando React Native impulsada por Discourse (comunicándose a través de la API REST).

Utilizo el flujo de Claves de API de Usuario para realizar solicitudes autenticadas y el MessageBus para escuchar diferentes eventos (implementado con éxito, afortunadamente).

En este momento, estoy implementando el caso en el que la Clave de API es revocada, y así decirle al usuario algo similar a “Tu sesión ha expirado”.

Para ello, intenté suscribirme a /logout/${current_user.id} (parece ser lo que Discourse usa en el frontend), sin ningún éxito.

¿Es posible que deba suscribirme a otro canal o es que ese tipo de información no se transmite actualmente a través de MessageBus?

Código relevante:

const messageBus = MessageBus.getInstance();
/* Añadir la cabecera User-Api-Key al message bus */
messageBus.setToken(currentAccount.apiKey);

messageBus.subscribe(`/logout/${currentAccount.id}`, () => {
  console.log(`Cerrando sesión de la cuenta ${currentAccount.username}`);
  alert("Tu sesión ha expirado. Por favor, inicia sesión de nuevo.");
  signOut({ reason: REASON_SESSION_EXPIRED });
  /* Cuando se revoque, solo elimina los datos de la cuenta del almacenamiento */
});

¡Gracias! :slight_smile:

revocar una clave no cerrará todas las sesiones. Creo que necesitarás cerrar la sesión explícitamente para que reciban ese mensaje.