메시지 버스를 통해 폐기된 사용자 API 키를 수신할 수 있나요?

React Native으로 Discourse를 백엔드로 사용하는 모바일 애플리케이션을 개발하고 있습니다(REST API를 통해 통신).

인증된 요청을 보내기 위해 User API Keys 플로우를 사용하고 있으며, MessageBus를 통해 다양한 이벤트를 수신하고 있습니다(다행히 이 부분은 성공적으로 구현했습니다).

현재 API Key가 폐기(revoke)된 경우를 처리하는 로직을 구현하고 있으며, 이 경우 사용자에게 "세션이 만료되었습니다"와 유사한 메시지를 표시할 예정입니다.

이를 위해 Discourse 프론트엔드에서 사용하는 것으로 보이는 /logout/${current_user.id} 채널에 구독을 시도해 보았지만, 성공하지 못했습니다.

다른 채널에 구독해야 하는지, 아니면 해당 정보가 현재 MessageBus를 통해 전송되지 않는 것일까요?

관련 코드:

const messageBus = MessageBus.getInstance();
/* message bus에 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:

키를 폐기한다고 해서 모든 세션이 로그아웃되는 것은 아닙니다. 해당 메시지를 사용자에게 전달하려면 명시적으로 로그아웃 처리를 해야 할 것 같습니다.