WordPress SSO et connexion Patreon

D’accord, j’ai trouvé une solution de contournement qui « résout » le problème de connexion à Patreon. Veuillez trouver les instructions ci-dessous. :slight_smile:

Vous aurez besoin de :

  • N’importe quel plugin fournissant un shortcode pour afficher un formulaire de connexion (j’ai WooCommerce installé sur mon site, j’ai donc utilisé le shortcode [woocommerce_my_account], qui fait exactement cela pour les utilisateurs non connectés).
  • Le plugin Members, qui fournit les shortcodes [members_logged_in] et [members_not_logged_in] pour masquer/afficher du contenu en fonction de la connexion de l’utilisateur. Vous pouvez utiliser tout autre plugin offrant une fonctionnalité de shortcode similaire.
  • Le plugin Shortcode Redirect.

L’idée est de créer une page spéciale qui affiche un formulaire de connexion (et un bouton de connexion Patreon) pour les utilisateurs non connectés. Si l’utilisateur est connecté, il doit être redirigé vers l’URL https://community.morevnaproject.org/session/sso?return_path=%2F.
(Bien sûr, vous devrez remplacer « community.morevnaproject.org » par votre propre domaine).

Ma page de connexion spéciale contient le code suivant :

[members_not_logged_in]
   [woocommerce_my_account]
   [patreon_login_button]
[/members_not_logged_in]
[members_logged_in]
   [redirect url='https://community.morevnaproject.org/session/sso?return_path=%2F' sec='0']
[/members_logged_in]

(vous pouvez le voir en action ici - Log In / Register — Morevna Project)

Ensuite, tout ce que vous avez à faire est de configurer le plugin WP-Discourse pour utiliser cette page pour le SSO :

Lorsque l’utilisateur clique sur le bouton « Se connecter » dans Discourse, il est redirigé vers ma page WordPress spéciale. Comme l’utilisateur n’est pas connecté, le formulaire de connexion s’affiche. Si l’utilisateur clique sur le bouton « Se connecter avec Patreon », il est redirigé vers Patreon pour l’autorisation. Après une autorisation réussie, il est renvoyé vers ma page spéciale. Comme l’utilisateur est maintenant connecté, le shortcode « redirect » est activé :

[redirect url='https://community.morevnaproject.org/session/sso?return_path=%2F' sec='0']

…et l’utilisateur est redirigé avec succès vers les forums Discourse.

La partie session/sso?return_path=%2F à la fin de l’URL est requise, sinon Discourse ne reconnaîtra pas l’utilisateur comme connecté après la redirection.

C’est tout ! J’espère que cela aidera d’autres utilisateurs qui souhaitent avoir un SSO WordPress avec connexion Patreon sur leur site web. :slight_smile: