Implémenter le bouton de déconnexion

Bonjour,

Je souhaite implémenter un bouton de déconnexion en dehors de Discourse. Ce bouton doit offrir les mêmes fonctionnalités que :

  1. Déconnecter les utilisateurs de tous les appareils.
  2. Un bouton de rafraîchissement qui redirige l’utilisateur vers une URL spécifique.

Note : Le bouton de connexion se trouvera dans Discourse, mais l’option de déconnexion sera située à l’extérieur.

Toute article, discussion ou aide serait grandement appréciée.

Merci.

Vous pouvez déconnecter les utilisateurs via l’API Discourse en effectuant une requête POST authentifiée vers /admin/users/<user_id>/log_out. Vous devez remplacer <user_id> par l’ID de l’utilisateur dans Discourse.

Vous pouvez voir cela implémenté dans le plugin Discourse pour WordPress ici : wp-discourse/lib/sso-provider/discourse-sso.php at main · discourse/wp-discourse · GitHub

Bonjour @simon, je devrai activer l’authentification unique (SSO) pour cette fonctionnalité, n’est-ce pas ? Et si oui, quelles sont les informations à remplir ou les options à activer pour mettre en place le SSO uniquement pour la déconnexion ?

Non, l’activation du SSO n’est pas requise pour que l’appel à /admin/users/<user_id>/log_out fonctionne.

Je reçois une erreur 404. Pouvez-vous m’aider ?

Vous devez définir les en-têtes Api-Key et Api-Username. Si vous utilisez la clé API « Tous les utilisateurs », l’en-tête Api-Username devrait probablement être défini sur « system ».

Merci. Cela a fonctionné.