MessageBus経由で失効したUser API Keyを受信する?

Discourse(REST API経由で通信)を搭載したReact Nativeモバイルアプリケーションを作成しています。

認証されたリクエストを行うためにUser API Keysフローを使用し、さまざまなイベントをリッスンするためにMessageBusを使用しています(幸いにも正常に実装できました)。

現在、APIキーが取り消された場合のケースを実装しており、「セッションが期限切れました」のようなメッセージをユーザーに表示しようとしています。

そのために、/logout/${current_user.id}にサブスクライブしようとしましたが(Discourseがフロントエンドで使用しているもののようです)、成功しませんでした。

別のチャネルにサブスクライブする必要がありますか、それともその種の情報は現在MessageBus経由で送信されていませんか?

関連コード:

const messageBus = MessageBus.getInstance();
/* メッセージバスにUser-Api-Keyヘッダーを追加 */
messageBus.setToken(currentAccount.apiKey);

messageBus.subscribe(`/logout/${currentAccount.id}`, () => {
  console.log(`Logging out account ${currentAccount.username}`);
  alert("Your session has expired. Please log in again.");
  signOut({ reason: REASON_SESSION_EXPIRED });
  /* 取り消された場合、ストレージからアカウントデータを削除するだけ */
});

よろしくお願いします! :slight_smile:

キーを無効にしても、すべてのセッションからログアウトされるわけではありません。メッセージを表示するには、明示的にログアウトさせる必要があると思います。