Configurer la connexion Discord pour Discourse

:bookmark: Ce guide explique comment configurer Discord comme option de connexion pour votre forum Discourse, y compris comment restreindre l’accès à des guildes Discord spécifiques.

:person_raising_hand: Niveau d’utilisateur requis : Administrateur

Une fois configuré, Discord apparaîtra comme une option de connexion aux côtés d’autres méthodes d’authentification sur votre forum :

Configuration de Discord OAuth2

Création d’une application Discord

  1. Visitez le portail développeur Discord
  2. Cliquez sur « Nouvelle application »
  3. Entrez un nom, téléchargez une icône et ajoutez une description pour votre application
    • Ces détails seront affichés aux utilisateurs pendant le processus de connexion

Configuration des paramètres OAuth2

  1. Naviguez vers l’onglet « OAuth2 » dans la barre latérale gauche

  1. Copiez l’« ID client » et le « Secret client »
    • Si le secret n’est pas visible, cliquez sur « Réinitialiser le secret » pour en générer un nouveau
  2. Ajoutez votre URL de redirection :
    • Format : https://votre-site-discourse.com/auth/discord/callback
    • :warning: N’incluez pas de barre oblique finale
  3. Cliquez sur « Enregistrer les modifications »

Activation de la connexion Discord dans Discourse

  1. Dans les paramètres d’administration de votre Discourse, entrez l’ID client dans le paramètre discord_client_id
  2. Entrez le Secret client dans le paramètre discord_secret
  3. Activez le paramètre enable_discord_logins

Restriction de l’accès à des guildes Discord spécifiques

Vous pouvez limiter la connexion Discord aux membres de guildes (serveurs) Discord spécifiques.

Recherche de votre ID de guilde

  1. Ouvrez Discord dans votre navigateur
  2. Naviguez vers n’importe quel canal de votre guilde
  3. Regardez l’URL : https://discord.com/channels/{guild_id}/{channel_id}
  4. Copiez le premier nombre (guild_id) de l’URL
    • Exemple : Dans https://discord.com/channels/123/456, l’ID de la guilde est 123

Configuration des restrictions de guilde

  1. Dans les paramètres d’administration de votre Discourse, localisez le paramètre discord_trusted_guilds
  2. Ajoutez votre (vos) ID de guilde
    • Vous pouvez ajouter plusieurs ID de guilde si nécessaire

Lorsque la restriction de guilde est activée :

  • Les membres des guildes approuvées se connectent normalement
  • Les autres utilisateurs verront un message d’erreur
  • Vous pouvez personnaliser ce message sous Personnaliser → Texte, recherchez discord.not_in_allowed_guild

:warning: Si vous utilisez des restrictions de guilde pour la sécurité, désactivez toutes les autres méthodes de connexion dans vos paramètres Discourse.

Étapes suivantes

Envisagez de configurer le plugin d’intégration de chat pour envoyer des sujets Discourse importants vers vos canaux Discord.

34 « J'aime »

Un message a été divisé en un nouveau sujet : Ajouter plus de scopes à la connexion Discord

Les identifiants de chaîne sur Discord ne commencent-ils pas maintenant par discord.com ? Lorsque j’utilise Discord sur le web, cela a toujours été discord.com/channels/[guild_id]/[channel_id] depuis quelques années.

Il semble que ce guide soit assez obsolète. Dans l’interface d’administration de Discourse, on peut spécifier :

  • Activer les connexions Discord
  • ID client Discord
  • Secret Discord
  • Guildes de confiance Discord (facultatif)

Pendant ce temps, dans l’interface des développeurs Discord, nous avons :

  • Nom
  • Description (facultatif)
  • ID d’application
  • Clé publique
  • URL du point de terminaison des interactions (facultatif)
  • URL de vérification des rôles liés (facultatif)

En supposant que

  • ID client Discord est l’ID d’application, et
  • Secret Discord est la même chose que Clé publique, et
  • laisser les options facultatives vides,

cela entraîne une erreur Discord lors de la tentative d’authentification :

Si j’essaie de définir l’URL du point de terminaison des interactions sur
https://forum.example.com/auth/discord/callback, j’obtiens

Erreurs de validation :
    interactions_endpoint_url : L'URL du point de terminaison des interactions spécifiée n'a pas pu être vérifiée.

dans l’interface de développement Discord.

Quelle est la procédure correcte pour configurer cela ?

Bonjour,

j’obtiens la même erreur “Invalid OAuth2 redirect_uri

Est ce qu’il y a une personne qui a réussi l’intégration ?

Je viens de tester cela et les étapes dans l’OP ont fonctionné pour moi. J’ai ajouté l’URL de mon site comme demandé :

https://test.mydomain.com/auth/discord/callback

Et elle a été acceptée sans erreur. Vous devez l’ajouter dans la section Oauth2 > Redirects

5 « J'aime »

super merci pmusaraj

j’avais lu le tuto de cette page et non la doc discourse

je ne ferais pas la même erreur la prochaine fois désolé pour le dérangement :sweat_smile:

3 « J'aime »