Écouter la clé API utilisateur révoquée via MessageBus ?

Je crée une application mobile en utilisant React Native alimentée par Discourse (communication via une API REST).

J’utilise le flux des clés API utilisateur pour effectuer des requêtes authentifiées et le MessageBus pour écouter différents événements (implémenté avec succès, heureusement).

Pour le moment, j’implémente le cas où la clé API est révoquée, et ainsi dire à l’utilisateur quelque chose comme « Votre session a expiré ».

Pour cela, j’ai essayé de m’abonner à /logout/${current_user.id} (il semble que ce soit ce que Discourse utilise en frontend), sans succès.

Est-il possible que je doive m’abonner à un autre canal ou ce type d’information n’est-il pas actuellement transmis via MessageBus ?

Code pertinent :

const messageBus = MessageBus.getInstance();
/* Ajouter l'en-tête User-Api-Key au message bus */
messageBus.setToken(currentAccount.apiKey);

messageBus.subscribe(`/logout/${currentAccount.id}`, () => {
  console.log(`Déconnexion du compte ${currentAccount.username}`);
  alert("Votre session a expiré. Veuillez vous reconnecter.");
  signOut({ reason: REASON_SESSION_EXPIRED });
  /* Lors de la révocation, supprimer uniquement les données du compte du stockage */
});

Merci ! :slight_smile:

révoquer une clé ne déconnectera pas toutes les sessions. Je pense que vous devrez explicitement déconnecter les gens pour qu’ils reçoivent ce message.