Questions sur le fournisseur DiscourseConnect

Je vais activer le fournisseur DiscourseConnect et j’ai quelques questions :

  1. Puis-je toujours usurper l’identité des utilisateurs et avoir accès à tous les contrôles d’administration des utilisateurs dans Discourse après avoir activé cela ?

  2. Qu’advient-il de ceux qui existent déjà sur Discourse, mais pas sur WP ? Leurs comptes seront-ils affectés, quels identifiants utiliseraient-ils pour se connecter, puisqu’ils n’existent pas réellement sur WP.

  3. Comment puis-je ajouter un bouton d’inscription sur mon site Web Discourse qui les redirige vers Discourse après leur inscription sur WP ?

  4. Existe-t-il un moyen pour que les utilisateurs puissent toujours s’inscrire UNIQUEMENT sur Discourse avec ce paramètre activé.

Merci !

Oui, à l’exception des choses qui ont trait à la création d’utilisateurs, comme les invitations.

S’ils peuvent se connecter à WP avec la même adresse, je pense que ça ira. Sinon, ils n’existent pas.

Le bouton de connexion les redirige sournoisement vers le site WP.

Non.

2 « J'aime »

Qu’entendiez-vous par là ?

J’ai donc testé cela. J’ai pris un compte qui existe sur Discourse mais pas sur Wordpress et j’ai essayé de me connecter et WP a donné les erreurs suivantes :


Screenshot 2023-07-01 220024

Ce qui, je suppose, est logique du point de vue de WP puisque l’utilisateur n’existe pas réellement sur WP.
La question est : activer le fournisseur DiscourseConnect signifie-t-il que les utilisateurs Discourse existants, qui ne sont pas enregistrés sur mon WP, ne pourront plus se connecter ?
Existe-t-il une solution à cela ?

Lorsque vous cliquez sur le bouton de connexion, vous êtes redirigé vers WP.

Oui. Vous devrez créer ces utilisateurs sur WordPress.

J’ai trouvé cette réponse qui développe ce que vous avez suggéré :

Mais comment puis-je les importer dans WP sans affecter leurs identifiants de connexion Discourse actuels ?
Existe-t-il un moyen de le faire sans réinitialiser les identifiants des utilisateurs, ni même les informer, afin que le changement soit transparent ?

J’en doute. Il existe un plugin Discourse qui permet de migrer les mots de passe depuis WordPress, mais je doute qu’il y en ait un qui fasse l’inverse. Vous devrez tous les faire réinitialiser leur mot de passe.

Jusqu’à ce que vous passiez à l’utilisation de la connexion WP, les comptes présents sur WordPress n’affectent pas Discourse.

1 « J'aime »

J’ai une idée.

Et si j’activais WordPress comme client Discourse, puis que je créais un script d’automatisation qui :

  1. Imiterait un compte utilisateur sur Discourse afin que l’automatisation soit connectée en tant qu’utilisateur.

    • Naviguerait vers WordPress et cliquerait sur le bouton « Se connecter avec Discourse ».
  2. Répéterait pour tous les utilisateurs existants sur Discourse. Environ 2 000.

L’idée est que l’étape n° 2 forcerait WP à créer un compte pour l’utilisateur Discourse avec les mêmes identifiants. Je suppose également que le bouton « Se connecter avec Discourse » fonctionnerait automatiquement sans demander de mot de passe lorsque je serais connecté en tant qu’utilisateur, en l’imitant.

Une fois que j’aurai fait cela, leurs comptes existeraient-ils tous à l’intérieur de WP et je pourrais alors basculer WP vers le fournisseur Discourse ?

Cela semble logique en théorie, mais j’aimerais beaucoup avoir votre avis sur la faisabilité de cette idée.

C’est exact. Si l’utilisateur n’existe pas dans WordPress, il ne peut pas se connecter à WordPress.

Vous n’avez pas besoin d’usurper quoi que ce soit.

Si vous voulez que WordPress soit votre source d’authentification :

  • créez tous les utilisateurs dans WordPress. Vérifiez que l’adresse e-mail dans WP correspond à celle de Discourse
  • faites passer Discourse à l’utilisation de WP comme hôte DiscourseConnect

Vous devrez demander aux gens de réinitialiser leurs mots de passe dans WordPress.

Quel problème la migration de l’authentification vers WordPress va-t-elle résoudre ? Je pense que vous regretterez de l’avoir fait.

Nous avons plusieurs cours et événements pour membres premium qui se déroulent sur notre site Web WP et je souhaite une intégration transparente entre WP et Discourse.

Quels sont les inconvénients de faire cela ? et pourquoi dites-vous cela…

OK. Alors si vous avez des utilisateurs Discourse dans WordPress, vous devrez faire en sorte que tous ces utilisateurs aient un compte dans WordPress. S’ils le créent avec la même adresse e-mail, ils devraient être connectés à leur utilisateur Discourse lorsqu’ils se connectent.

Je ne sais pas quoi dire d’autre.

1 « J'aime »

Comme Jay l’a noté, la meilleure façon d’y parvenir est de configurer votre site WordPress pour qu’il soit le fournisseur SSO pour Discourse. Jetez un œil à ce sujet pour plus de détails sur la façon de le configurer : Configure single sign-on (SSO) with WP Discourse and DiscourseConnect.

Après avoir configuré WordPress comme fournisseur DiscourseConnect, les utilisateurs de Discourse qui n’ont pas encore de compte sur votre site WordPress devront s’inscrire sur WordPress avant de pouvoir accéder à votre site Discourse. Vous devriez ajouter un message à votre site Discourse pour informer les utilisateurs du changement. Dans le message, encouragez les utilisateurs à s’inscrire sur WordPress avec la même adresse e-mail qu’ils utilisent sur Discourse. De cette façon, ils seront connectés à leur compte Discourse existant la première fois qu’ils se reconnecteront à Discourse via WordPress.

Si les utilisateurs ne s’inscrivent pas sur WordPress avec l’adresse e-mail qu’ils utilisent sur Discourse, un nouveau compte leur sera créé la première fois qu’ils se reconnecteront à Discourse via WordPress. Vous pouvez résoudre ce problème au cas par cas en fusionnant l’ancien compte Discourse dans le nouveau compte Discourse. Cela peut être fait à partir de la page d’administration de l’utilisateur dans Discourse.

Une chose à noter est que le comportement des utilisateurs se connectant à leur compte Discourse existant ne fonctionnera que si les adresses e-mail sont marquées comme « valides » côté WordPress. Si vous utilisez le système d’inscription WordPress par défaut, cela fonctionnera sans problème. Si vous utilisez une page d’inscription personnalisée ajoutée par un plugin, il est probable que les adresses e-mail des utilisateurs ne seront pas marquées comme « valides ». Les détails sur la façon de résoudre ce problème se trouvent ici : Configure single sign-on (SSO) with WP Discourse and DiscourseConnect. Notez qu’il est très important de ne pas simplement accepter aveuglément les adresses e-mail sans les valider d’une manière ou d’une autre. Si les adresses e-mail ne sont pas validées, vous risquez que des comptes existants soient compromis.

4 « J'aime »

Comment le saurais-je ?

Voici ma page d’inscription : Log In ‹ Project Van Life — WordPress

Elle est conçue différemment à cause de mon thème, mais je sais que nous n’avons pas de plugin dédié pour la connexion.

Il semble que vous utilisiez le système d’inscription par défaut de WordPress. Je suppose que c’est parce que votre page de connexion se trouve à wp-login.php. Cela signifie que le plugin WP Discourse marquera les adresses e-mail des utilisateurs comme vérifiées.

3 « J'aime »

Une autre question à ce sujet.

Discourse envoie-t-il toujours des e-mails lorsque le fournisseur Discourse Connect est configuré, Discourse envoie-t-il toujours des notifications par e-mail aux utilisateurs WP ?

Comment cela fonctionne-t-il si quelqu’un est un utilisateur WP mais n’a jamais accédé au forum, par rapport à quelqu’un qui est un utilisateur WP et accède au forum.

Oui, Discourse leur enverra toujours des e-mails. Les notifications par e-mail envoyées par Discourse ne sont pas affectées par l’utilisation de Discourse Connect comme système d’authentification.

Un utilisateur de votre site WordPress qui n’a jamais accédé à Discourse n’est pas considéré comme un utilisateur sur Discourse. Il ne recevra aucune notification par e-mail de Discourse. La seule exception est si vous activez le paramètre WP Discourse « Créer ou synchroniser les utilisateurs Discourse à la connexion » :

Si ce paramètre est activé, un compte Discourse sera automatiquement créé pour les utilisateurs lorsqu’ils se connecteront à votre site WordPress. Dans ce cas, si un utilisateur s’est connecté à WordPress, mais n’a jamais visité votre site Discourse, il commencera à recevoir l’e-mail de résumé hebdomadaire de votre site Discourse.

3 « J'aime »

J’ai donc testé cela et il ne semble pas que ce soit le cas. Comment puis-je m’assurer que les e-mails des utilisateurs sont maintenant vérifiés sans avoir à le faire manuellement ?

De plus, comment les nouveaux utilisateurs peuvent-ils s’inscrire et faire vérifier leur e-mail ? Actuellement, nous les envoyons vers wp-login.php qui n’a pas d’option d’inscription, seulement de connexion.

Je peux créer un nouveau bouton sur le forum qui dit ‘s’inscrire’ et les envoie vers une page d’inscription personnalisée dans WP, mais alors c’est un problème :

En plus de cela, après leur inscription, je voudrais les rediriger vers le forum et m’assurer qu’ils sont connectés.

J’explore également une autre approche qui, je crois, faciliterait les choses du point de vue des utilisateurs et j’aimerais connaître votre avis.

Et si nous exportions manuellement tous les utilisateurs de Discourse et les importions dans WordPress ? Ce processus permettrait de :

  1. Créer un compte WordPress pour chaque utilisateur existant sur Discourse.

  2. Lier ce compte à leur profil de forum.

  3. Marquer leur adresse e-mail comme vérifiée dans WP. Puisqu’ils sont déjà des utilisateurs de Discourse, nous pouvons supposer qu’ils sont vérifiés.

  4. Leur envoyer un e-mail leur demandant de réinitialiser leur mot de passe de forum (car l’étape 1 le réinitialiserait).

Ainsi, ils n’auront pas à créer un nouveau compte pour eux-mêmes et devront simplement réinitialiser leur mot de passe.

Ce processus ne résout pas les questions/problèmes que j’ai soulignés dans la réponse ci-dessus.

Vous pouvez confirmer si les adresses e-mail sont vérifiées ou non en créant un nouveau compte sur WordPress après avoir activé Discourse Connect. Si les adresses e-mail sont vérifiées, vous verrez une confirmation en bas de la page des préférences de l’utilisateur. Vous pouvez également marquer manuellement une adresse e-mail comme vérifiée à partir d’ici :

En supposant que les adresses e-mail ne sont pas vérifiées, les instructions sur la façon de faire marquer les adresses e-mail comme vérifiées lorsqu’un utilisateur crée un compte se trouvent ici : Configure single sign-on (SSO) with WP Discourse and DiscourseConnect. Cela serait sûr à faire si votre site envoie aux utilisateurs un e-mail de confirmation contenant un lien sur lequel ils doivent cliquer avant de pouvoir accéder au site. Si votre site WordPress n’envoie pas cela, vous pourriez également ajouter du code pour que les adresses e-mail des utilisateurs soient marquées comme vérifiées après leur inscription à l’un de vos cours. La mise en place pourrait nécessiter l’aide d’un développeur.

Je vois deux pages de connexion distinctes sur votre site :

La chose la plus simple à faire serait de régler cela afin qu’il n’y ait qu’une seule page de connexion sur le site, et que la page contienne un lien valide vers la page d’inscription du site. Je pense que cela peut être accompli via la page des paramètres du plugin qui ajoute le formulaire de connexion. Notez que si vous choisissez d’utiliser la page de connexion à https://projectvanlife.com/login/ , vous devrez ajouter /login au “Chemin de votre page de connexion” dans les paramètres de WP Discourse :

Je pense que cela pourrait confondre les utilisateurs. Une approche plus simple serait simplement d’ajouter un lien vers votre forum Discourse qui est structuré de manière à ce que les utilisateurs soient automatiquement connectés à Discourse lorsqu’ils cliquent sur le lien. Voici les détails sur la façon de créer le lien : Create a DiscourseConnect login link. Une fois DiscourseConnect activé sur votre site, vous devriez également structurer ce lien de cette manière :

C’est possible. Certains détails sur la façon de le faire se trouvent ici : How to import Discourse users to WordPress? - #2 by simon. Le principal problème que je vois est que vous vous créeriez du travail sans faciliter les choses pour vos utilisateurs. Si c’était moi, mes préoccupations seraient que les utilisateurs ne reçoivent pas ou ne lisent pas l’e-mail et que certains utilisateurs ne soient pas contents qu’un nouveau compte soit créé en leur nom. Il y a aussi un problème de sécurité potentiel, à moins que le plugin d’importation que vous utilisez n’ait un moyen de forcer les utilisateurs à changer leurs mots de passe après leur première connexion.

Ce serait beaucoup plus simple de simplement créer un sujet de bannière dans votre catégorie “staff” avec les détails du changement. La formulation dans la capture d’écran pourrait être un peu améliorée :

Une fois que vous aurez effectué le changement, mettez à jour le sujet de bannière pour informer les utilisateurs qu’ils doivent contacter un administrateur s’ils rencontrent des problèmes de connexion.

Je viens de penser à quelque chose qui pourrait aider. Vous pourriez temporairement configurer votre site Discourse pour être le fournisseur DiscourseConnect pour votre site web entre maintenant et le moment où vous configurerez votre site WordPress comme fournisseur DiscourseConnect. Si vous faisiez cela, vous pourriez ajouter quelque chose comme ce qui suit au sujet de bannière :

Voici le lien complet que j’ai utilisé :

<a>Créer un compte sur (nom de votre site web)</a>

Cliquer dessus enregistrera un nouveau compte sur WordPress et redirigera les utilisateurs vers leur page de profil WordPress où ils pourront définir un mot de passe. Notez que dans votre cas, vous devrez remplacer les deux utilisations de http://wp-discourse.test dans le lien par https://projectvanlife.com/

4 « J'aime »

@simon merci BEAUCOUP pour votre réponse détaillée, tout cela a été extrêmement utile !

C’est une excellente idée !

Et si nous usurpions l’identité de chaque utilisateur et le faisions pour eux ? Cela causerait-il des problèmes ?

Cette approche permet-elle également de conserver le même mot de passe de connexion après que nous ayons configuré WordPress comme fournisseur Discourse Connect ?

3 « J'aime »

Je ne pense pas que cela causerait de problèmes.

Définir WordPress comme fournisseur DIscourseConnect ne changera pas le mot de passe WordPress de l’utilisateur.

3 « J'aime »