User API Key über MessageBus widerrufen?

Ich erstelle eine mobile Anwendung mit React Native, die von Discourse (Kommunikation über REST-API) angetrieben wird.

Ich verwende den User API Keys Flow, um authentifizierte Anfragen zu stellen, und den MessageBus, um verschiedene Ereignisse zu überwachen (glücklicherweise erfolgreich implementiert).

Im Moment implementiere ich den Fall, dass der API-Schlüssel widerrufen wird, und sage dem Benutzer etwas Ähnliches wie „Ihre Sitzung ist abgelaufen“.

Dafür habe ich versucht, mich für /logout/${current_user.id} anzumelden (es scheint das zu sein, was Discourse im Frontend verwendet), ohne Erfolg.

Ist es möglich, dass ich mich für einen anderen Kanal anmelden sollte oder werden diese Informationen derzeit nicht über MessageBus übertragen?

Relevanter Code:

const messageBus = MessageBus.getInstance();
/* Füge den User-Api-Key-Header zum Message Bus hinzu */
messageBus.setToken(currentAccount.apiKey);

messageBus.subscribe(`/logout/${currentAccount.id}`, () => {
  console.log(`Logging out account ${currentAccount.username}`);
  alert("Ihre Sitzung ist abgelaufen. Bitte melden Sie sich erneut an.");
  signOut({ reason: REASON_SESSION_EXPIRED });
  /* Wenn widerrufen, lösche nur die Kontodaten aus dem Speicher */
});

Danke! :slight_smile:

Das Widerrufen eines Schlüssels wird nicht alle Sitzungen abmelden. Ich denke, Sie müssen die Leute explizit abmelden, damit sie diese Nachricht erhalten.