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! ![]()