SSO avec WordPress et Discourse en tant que fournisseur : flux et logique de connexion

Un million de remerciements à @simon qui m’a aidé à configurer cela. Enfin, je peux voir [Se connecter avec Discourse] sur ma page WordPress. Maintenant, je dois faire le point et comprendre la logique et le flux de connexion pour rendre plus pratique le processus par lequel mes membres se rendent sur WordPress pour effectuer un paiement.

Actuellement, mon flux de connexion sur la page est le suivant :

Connexion sur WordPress > Sélectionner « Se connecter avec Discourse » > Page de connexion de Discourse > Connexion effectuée > Redirection vers le site WordPress.

Si je souhaite configurer cela, pourriez-vous m’indiquer comment faire ?

  1. J’ai déjà configuré le fait que lorsque les membres se connectent sur WordPress en utilisant la connexion Discourse, ils sont redirigés vers WordPress. Mais que faire si je souhaite une autre configuration : lorsqu’ils se connectent sur Discourse en utilisant la connexion Discourse, ils sont redirigés vers Discourse, mais le backend les connecte automatiquement sur le site WordPress ?

  2. Désactiver toutes les méthodes de connexion originales de WordPress et ne garder que la méthode de connexion via Discourse.

Vous pouvez ajouter un lien de connexion à votre forum Discourse, similaire à celui-ci :

<a href="http://example.com/?discourse_sso=1&redirect_to=http://discourse.example.com">Se connecter à WordPress et être redirigé vers Discourse</a>

Le lien doit pointer vers l’URL de base de votre site WordPress. Vous devez définir le paramètre de requête discourse_sso=1 dans l’URL. Le paramètre redirect_to doit être défini sur l’URL vers laquelle vous souhaitez rediriger les utilisateurs.

Il est possible de rediriger les utilisateurs soit vers votre site WordPress, soit vers Discourse avec la redirection. Je pense que, dans la plupart des cas, il serait plus utile de rediriger les utilisateurs vers le site WordPress plutôt que vers Discourse. Par exemple :

<a href="http://example.com/?discourse_sso=1&redirect_to=http://example.com/shop">Se connecter à WordPress depuis un post Discourse</a>

Cela est possible, mais vous devez faire attention à ne pas vous exclure de WordPress en cas de problème. Une approche possible consisterait à protéger la page /wp-login.php de votre WordPress par un mot de passe connu uniquement des administrateurs de votre site WordPress.