Il semble que vous utilisiez Discourse comme fournisseur SSO pour WordPress. Cette approche est décrite ici : Utiliser Discourse comme fournisseur d’identité (SSO, DiscourseConnect). Le plugin Discourse WordPress offre des options pour utiliser WordPress comme fournisseur SSO pour Discourse, ou pour utiliser Discourse comme fournisseur d’identité pour WordPress. Utiliser le même nom pour les deux approches entraîne une certaine confusion.
Je serais tenté d’utiliser WordPress comme fournisseur d’identité dans ce cas. Avec cette approche, les utilisateurs créeront des comptes sur votre site WordPress, puis se connecteront à Discourse avec leurs identifiants WordPress. Une chose à savoir avec cette approche est que cela signifie que les utilisateurs ne pourront se connecter à Discourse que via WordPress, il ne sera pas possible de créer un compte Discourse sans avoir déjà un compte WordPress. Je pense que c’est la configuration appropriée lors de l’intégration de Discourse avec un site d’adhésion WordPress.
Lorsque WordPress est utilisé comme fournisseur d’identité pour Discourse, il existe quelques fonctions utilitaires qui sont utiles pour définir les appartenances aux groupes Discourse des utilisateurs en fonction de leur activité sur WordPress. Ces fonctions sont décrites ici : Gérer l’appartenance aux groupes dans Discourse avec WP Discourse SSO.
Pour revenir à votre question initiale :
Cela fait un moment que je n’ai pas examiné le code du client DiscourseConnect du plugin WordPress, mais je pense que ce que vous demandez est plus ou moins la manière dont ce code est censé fonctionner. Si un utilisateur a un compte Discourse, il lui suffit de cliquer sur le lien “Se connecter via Discourse” sur WordPress et un compte sera créé pour lui.
Ce serait techniquement possible en utilisant WordPress comme client DiscourseConnect, mais à moins que quelque chose n’ait changé, vous ne pourrez pas utiliser les méthodes add_user_to_discourse_group et remove_user_from_discourse_group décrites dans la documentation que j’ai liée. Vous devriez faire quelque chose comme configurer un Webhook Discourse qui serait déclenché lorsqu’un utilisateur est ajouté à un groupe Discourse, puis ajouter du code sur WordPress pour traiter ce webhook. Pour synchroniser les groupes de WordPress vers Discourse, vous devriez faire un appel API à Discourse pour mettre à jour les groupes d’un utilisateur lorsqu’il y a un changement sur WordPress. Donc, quelque chose qui serait assez facile à réaliser si vous utilisez WordPress comme fournisseur DiscourseConnect pourrait être quelque peu compliqué si vous utilisez WordPress comme client DiscourseConnect.