Ascoltare User API Key revocata tramite MessageBus?

Sto creando un’applicazione mobile utilizzando React Native con Discourse (comunicando tramite REST Api).

Utilizzo il flusso User API Keys per effettuare richieste autenticate e MessageBus per ascoltare diversi eventi (implementato con successo fortunatamente).

Al momento sto implementando il caso in cui la API Key viene revocata, e quindi informare l’utente con qualcosa di simile a “La tua sessione è scaduta”.

Per questo ho provato a sottoscrivermi a /logout/${current_user.id} (sembra essere ciò che Discourse utilizza nel frontend), senza alcun successo.

È possibile che debba sottoscrivermi a un altro canale o che quel tipo di informazione non venga attualmente trasmesso tramite MessageBus?

Codice pertinente:

const messageBus = MessageBus.getInstance();
/* Aggiungi l'header User-Api-Key al message bus */
messageBus.setToken(currentAccount.apiKey);

messageBus.subscribe(`/logout/${currentAccount.id}`, () => {
  console.log(`Logging out account ${currentAccount.username}`);
  alert("La tua sessione è scaduta. Per favore, accedi di nuovo.");
  signOut({ reason: REASON_SESSION_EXPIRED });
  /* Quando revocata, elimina solo i dati dell'account dallo storage */
});

Grazie! :slight_smile:

revocare una chiave non disconnetterà tutte le sessioni. Penso che dovrai disconnettere esplicitamente le persone affinché ricevano quel messaggio.