Le plugin WP Discourse vous permet de configurer DiscourseConnect dans WordPress afin que vos utilisateurs puissent utiliser leur compte WordPress pour se connecter à Discourse, ou leur compte Discourse pour se connecter à WordPress. Avant de pouvoir configurer DiscourseConnect, vous devez d’abord installer le plugin WP Discourse sur WordPress et le connecter à votre instance Discourse. Si vous êtes prêt à commencer, regardez cette courte vidéo ou suivez les instructions ci-dessous.
Étape suivante
Une fois DiscourseConnect configuré, vous voudrez peut-être consulter les sujets suivants :
- Publication des articles WordPress sur Discourse
- Utilisation de Discourse pour les commentaires WordPress
Instructions
Définition d’une clé secrète
Que vous configuriez WP Discourse en tant que fournisseur ou client DiscourseConnect, vous devez définir une clé secrète. Allez dans l’onglet « Clé secrète DiscourseConnect » et saisissez une chaîne de texte (chiffres, lettres et symboles sont autorisés), d’au moins 10 caractères. Appliquez les mêmes règles que pour créer un mot de passe fort. Assurez-vous de la sauvegarder une fois terminée.
Ensuite, ouvrez les paramètres de votre site Discourse (dans le panneau d’administration) et recherchez « discourse connect ». L’un des paramètres situés en haut sera discourse connect secret. Collez la clé secrète que vous avez définie dans WP Discourse et cliquez sur la coche verte.
Connexion à Discourse avec WordPress (Fournisseur DiscourseConnect)
Assurez-vous que votre WP Discourse est connecté à votre instance Discourse et que votre clé secrète est définie (
) avant de suivre ces instructions.
Pour permettre à vos utilisateurs de se connecter à Discourse en utilisant leurs identifiants WordPress, vous devez configurer WP Discourse en tant que fournisseur DiscourseConnect. Allez dans l’onglet Fournisseur DiscourseConnect dans les paramètres de WP Discourse, cochez la case Activer le fournisseur DiscourseConnect et enregistrez vos paramètres.
Ensuite, allez dans les paramètres de votre site Discourse et saisissez « discourse connect » dans la zone de recherche pour afficher tous vos paramètres DiscourseConnect. Tout d’abord, définissez l’URL discourse connect url sur l’URL de votre site WordPress. La dernière étape consiste à sélectionner activer discourse connect. Assurez-vous d’être prêt avant de le faire, car une fois activé, vos utilisateurs ne pourront se connecter à Discourse qu’en utilisant WordPress.
Une fois DiscourseConnect activé dans Discourse, pour vérifier que tout est correctement configuré, ouvrez une fenêtre de navigation privée dans votre navigateur. Gardez votre fenêtre de navigateur normale (non privée) connectée à un compte administrateur (au cas où quelque chose irait mal et que vous devriez rétablir les paramètres). Dans la fenêtre privée, vous remarquerez que le bouton « S’inscrire » de Discourse n’apparaît plus. Cliquez sur le bouton « Se connecter ». Vous devriez voir un écran de connexion WordPress. Saisissez vos identifiants WordPress pour vous connecter. Vous devriez ensuite être redirigé vers Discourse et être connecté.
Si quelque chose se passe mal, ou si vous remarquez que quelque chose n’est pas tout à fait correct, revenez à votre fenêtre de navigateur normale et désactivez activer discourse connect pour permettre à vos utilisateurs de se connecter normalement à Discourse. Si vous n’êtes plus connecté à votre compte administrateur dans votre fenêtre de navigateur normale pour une raison quelconque, consultez la section « Désactiver DiscourseConnect via la console Discourse » dans le dépannage ci-dessous pour retrouver l’accès à votre instance Discourse.
Vérification des e-mails
Discourse s’attend à ce que toutes les adresses e-mail des utilisateurs soient vérifiées, tandis que WordPress ne force pas les utilisateurs à vérifier leur adresse e-mail. Dans une configuration WordPress par défaut, il est assez facile de vérifier l’adresse e-mail d’un utilisateur lors du processus d’inscription, mais si un site utilise un plugin qui crée un formulaire d’inscription côté front-end – par exemple, le formulaire d’inscription qui peut être ajouté avec WooCommerce – le plugin WP Discourse ne peut pas vérifier l’adresse e-mail de l’utilisateur.
Si les adresses e-mail des utilisateurs ne sont pas vérifiées dans WordPress, avant qu’un utilisateur WordPress ne puisse se connecter au forum, il devra répondre à un avis de vérification d’e-mail envoyé par Discourse. Le plugin dispose de plusieurs filtres qui peuvent être utilisés pour outrepasser ce comportement. Consultez le code, en commençant ici, pour plus de détails.
Suppression du drapeau require_activation
Si vous êtes certain que WordPress authentifie les adresses e-mail, vous pouvez indiquer à Discourse qu’il n’en a pas besoin. Pour supprimer complètement le drapeau require_activation, ajoutez quelque chose comme ceci à votre WordPress (par exemple, dans le fichier functions.php de votre thème) :
// Remplacez 'my_prefix' par le préfixe de votre site.
add_filter( 'discourse_email_verification', 'my_prefix_discourse_email_verification' );
function my_prefix_discourse_email_verification( $require_activation ) {
return false;
}
Pour supprimer le drapeau require_activation pour des utilisateurs spécifiques, utilisez quelque chose comme ceci :
// Remplacez 'my_prefix' par le préfixe de votre site.
add_filter( 'discourse_email_verification', 'my_prefix_discourse_email_verification', 10, 2 );
function my_prefix_discourse_email_verification( $require_activation, $user_id ) {
$user = get_userdata( $user_id );
if ( /* une condition testée contre $user */ ) {
return true;
}
return false;
}
Webhook des données utilisateur
Ce webhook existe pour des raisons historiques – le remplissage automatique du champ Nom Discourse peut désormais être réalisé en utilisant l’option « Créer ou synchroniser les utilisateurs Discourse lors de la connexion » du fournisseur DiscourseConnect.
Le webhook Mettre à jour les données utilisateur (dans le panneau de paramètres « Webhooks ») peut être utilisé lorsque WordPress est le fournisseur DiscourseConnect pour votre instance Discourse. Le webhook remplit automatiquement le champ Nom Discourse de l’utilisateur dans WordPress.
Création d’un lien de connexion DiscourseConnect
Si vous avez activé l’option Fournisseur DiscourseConnect, vous pouvez ajouter un lien de connexion DiscourseConnect à votre site WordPress en créant un lien avec la structure suivante :
<a href="https://discourse.example.com/session/sso?return_path=/">Communauté</a>
Définissez la valeur de return_path sur la page de votre forum où vous souhaitez que l’utilisateur atterrisse. Vous pouvez ajouter un lien de connexion SSO à un menu WordPress en ajoutant une URL avec cette structure en tant que lien personnalisé dans la section Menus du tableau de bord WordPress.
Connexion à WordPress avec Discourse (Client DiscourseConnect)
Pour activer votre site en tant que client DiscourseConnect pour Discourse, cliquez sur l’onglet Client DiscourseConnect. Sur cette page, sélectionnez les options Activer le client DiscourseConnect et Ajouter un lien de connexion.
Allez maintenant sur la page d’administration/paramètres de Discourse et recherchez « discourse connect » pour afficher toutes vos options DiscourseConnect.
- sélectionnez le paramètre « activer le fournisseur discourse connect »
- copiez votre
Clé secrète DiscourseConnectde WordPress dans le champ « secret » du paramètre « secrets du fournisseur discourse connect » de Discourse. Dans le champ « domaine » de ce paramètre, saisissez le domaine de votre site WordPress. Cliquez ensuite sur la coche verte pour enregistrer vos paramètres.
Une fois terminé, le paramètre « secrets du fournisseur discourse connect » sur Discourse devrait ressembler à ceci (avec le domaine défini sur le domaine de votre WordPress) :
Discourse devrait maintenant fonctionner en tant que fournisseur DiscourseConnect pour votre site WordPress.
Ouvrez votre site WordPress dans une fenêtre de navigation privée dans votre navigateur. Lorsque vous accédez maintenant à votre page de connexion, vous devriez voir un lien « Se connecter avec Discourse » sous le formulaire de connexion. Cliquez dessus et vous serez redirigé vers le formulaire de connexion Discourse. Connectez-vous là-bas, et vous serez redirigé vers la page de connexion WordPress avec un message indiquant que vous devez synchroniser votre compte avec Discourse. Suivez les instructions du message pour lier vos comptes, et vous devriez maintenant pouvoir vous connecter à votre site WordPress via Discourse.
Remarque : ce comportement n’affecte que les utilisateurs qui ont des comptes existants à la fois sur WordPress et Discourse. Les nouveaux comptes WordPress créés via DiscourseConnect pourront se connecter librement à WordPress la première fois qu’ils cliqueront sur le lien « Se connecter avec Discourse ». Pour faciliter la connexion via Discourse pour les utilisateurs ayant des comptes existants à la fois sur votre site WordPress et votre forum Discourse, cochez la case Synchroniser les utilisateurs existants par e-mail dans l’onglet des options Client DiscourseConnect.
Synchronisation de la déconnexion Discourse
Lorsque DiscourseConnect est activé, la déconnexion de Discourse peut être synchronisée avec votre site WordPress en ajoutant l’URL home_url de votre site avec le paramètre de requête request=logout au paramètre de site Discourse redirection de déconnexion. Ce paramètre se trouve dans la section des paramètres de Discourse à /admin/site_settings/category/users. Voici un exemple d’URL de « redirection de déconnexion » :
http://example.com/?request=logout
Dépannage
Si vous rencontrez des problèmes avec l’utilisation de WordPress en tant que fournisseur DiscourseConnect pour votre forum, les premières choses à vérifier sont :
- que les clés secrètes DiscourseConnect définies sur WordPress et Discourse sont identiques
- que vous avez sélectionné
Activer le fournisseur DiscourseConnectsur votre site WordPress - que vous avez saisi la bonne URL
discourse connect urlsur Discourse.
« Erreur de connexion » lors de l’utilisation de DiscourseConnect
Si les utilisateurs reçoivent un message « Erreur de connexion » lorsqu’ils tentent de se connecter à Discourse, veuillez consulter :
Debug and fixing common DiscourseConnect issues.
Désactivation de DiscourseConnect
Si DiscourseConnect ne fonctionne pas pour vous, vous pouvez le désactiver en désactivant le paramètre de site activer discourse connect. Si vous n’êtes toujours pas connecté à un compte administrateur quelque part pour le désactiver, ne vous inquiétez pas, il existe plusieurs façons de revenir en arrière pour le désactiver.
Connexion via /users/admin-login
Ouvrez une nouvelle fenêtre de navigateur et saisissez l’URL de votre forum dans la barre d’URL, suivie de /users/admin-login, par exemple :
https://community.mysite.com/users/admin-login
Vous devriez voir un champ vous demandant votre e-mail d’administrateur. Après avoir soumis votre e-mail, vous recevrez un e-mail contenant un lien qui vous permettra de vous connecter directement à votre compte administrateur. Vous pourrez ensuite accéder aux paramètres de votre site et désactiver activer discourse connect pour désactiver DiscourseConnect.
Si cela ne fonctionne pas pour une raison quelconque, ne vous inquiétez pas, vous pouvez toujours désactiver DiscourseConnect via la console de votre serveur (
)
Désactivation de DiscourseConnect via la console du serveur
Si vous ne savez pas ce qu’est la console du serveur, ou si vous n’y avez pas accès, contactez votre hébergeur pour obtenir de l’aide. Après vous être connecté à votre serveur via SSH, les commandes à exécuter sont les suivantes :
cd /var/discourse
./launcher enter app
rails c
SiteSetting.enable_discourse_connect=false
exit
exit







