Configuration de X login et des rich embeds pour Discourse

:bookmark: This guide explains how to set up Twitter login and rich embeds for your Discourse forum.

:person_raising_hand: Required user level: Administrator

:warning: In order for rich embeds to work properly, a Basic plan or higher for X Dev is mandatory. Rich embeds will not work with the Free X Dev plan.

X Configuration

  1. Go to the Developer Portal on X.

  2. Choose between a Free, Basic, or Pro X Dev plan and complete the developer agreement and policy requirements.

  3. After completing the agreement and policy requirements, you’ll be taken to the X dev dashboard.

Create a new project

  1. On your X Dev dashboard, click + Add Project.

  2. Complete the requested information:

    • Your project name
    • Use case. If you are using an account with a Basic or Pro plan, please select Embedding_Tweets_in_a_website.
    • Your project description (e.g., “Enable Twitter login and embeds on a Discourse forum”).
    • Select Production for the app environment. Note you may not be prompted to select the app environment.
    • Your app name
  3. You will be shown your API Key and API Key Secret. Please write these down so you can add them to your Discourse forum later.

  4. Click the App Settings button on the bottom right.

  5. Scroll down to the User Authentication Settings section and click the Set up button. Update the following fields:

    • App Permission → Read and enable Request_email_from_users
    • Type of App → Web App, Automated App or Bot
    • App info →
      • Callback URL / Redirect URL: https://yourdiscourseforum.com/auth/twitter/callback
      • Website URL: https://yourdiscourseforum.com
      • Terms of service: https://yourdiscourseforum.com/tos
      • Privacy Policy: https://yourdiscourseforum.com/privacy

  6. Click Save.

Discourse configuration

  1. Head over to your Discourse forum and enter the admin panel.

  2. Click the Settings button and choose Login to find the Twitter-related settings:

  3. Enable the enable_twitter_logins setting.

  4. Copy and paste the API Key from X into the twitter_consumer_key setting.

  5. Copy and Paste the API Key Secret from X into the twitter_consumer_secret setting.

  6. Click the green checkmark to save the changes.

Users should now be able to log into your forum using their Twitter Account.

Rich Embeds

The above steps also apply if you want to enable “rich embedding” which allows displaying tweets with their media (images video, etc). If you want rich embeds but don’t need Twitter login, simply uncheck enable twitter logins and leave the consumer key and secret intact.

:warning: Rebaking or rebuilding HTML for posts with tweets will re-fetch those tweets, counting against your monthly tweet cap.

Additional resources

Last edited by @sam 2026-03-18T04:43:33Z

Check documentPerform check on document:
75 « J'aime »

Note that the “Callback URL” field is now mandatory. If you omitted it in your setup, Twitter login will fail with a 403 unauthorized error.

Also note that if you have any extra spaces at the beginning or end of your callback urls, auth will fail. You can find other discussions about this change on the Twitter Community.

13 « J'aime »

Just noticed we were getting the same error on our site with Twitter auth. I noticed Twitter has a new process for authorizing developer apps, so we are going through the approval process. Not sure if it is related, or if this problem has just been in place for a long time now.

1 « J'aime »

I setup my callback URL like this on Twitter, but still getting the same error.
https://www.helloforos.com/auth/twitter

Does this look like the right format? What do you guys use?

I’m going to try it again tomorrow in case there’s some caching issue with Twitter

Anyone else have success with Twitter login?

@charleswalter That callback url is wrong. It should be:

7 « J'aime »

that did the trick. Thx for calling that out.

I do recommend that those who haven’t applied on developer.twitter.com for their Twitter app, to do so.

For the near future, you can continue to manage existing apps here on apps.twitter.com. However, we will soon retire this site and consolidate all developer tools, API access, and app management within the developer portal at developer.twitter.com. You will be able to access and manage existing apps through that portal when we retire this site.

5 « J'aime »

Mars 2020

Guide entièrement réécrit car Twitter a encore une fois changé tout le processus… :sweat_smile:

16 « J'aime »

Twitter ne semble pas fonctionner

Impossible d’ajouter Créer une application

1 « J'aime »

Ça fonctionne pour moi

Et en consultant https://api.twitterstat.us/, le portail pour les développeurs semble correct.

Vous utilisez probablement une extension qui bloque les réseaux sociaux, le suivi ou quelque chose de similaire. Essayez de vous connecter depuis une fenêtre anonyme avec toutes les extensions désactivées.

4 « J'aime »

Le guide a été mis à jour

7 « J'aime »

J’espère que c’est le bon endroit pour poser cette question. Je vois sur https://try.discourse.org/ que l’inscription via Twitter entraîne le message suivant :

Cette application pourra :

Voir les tweets de votre fil d'actualité (y compris les tweets protégés), ainsi que vos listes et collections.
Voir les informations de votre profil Twitter et vos paramètres de compte.
Voir les comptes que vous suivez, que vous avez mis en sourdine et que vous avez bloqués.
Voir votre adresse e-mail.

Est-il possible de configurer cela de manière à ce qu’elle ne voie que le minimum d’informations nécessaires — je pense à votre nom et à votre adresse e-mail ?

1 « J'aime »

Ceci constitue déjà les informations minimales requises par Twitter.

Comme vous pouvez le constater dans le guide, la seule information que nous exigeons de Twitter est l’adresse e-mail de l’utilisateur, nécessaire à Discourse pour créer le compte utilisateur. Tout le reste relève des paramètres de base définis par Twitter en sélectionnant « Lecture seule » dans la section Autorisations de l’application.

7 « J'aime »

Salut, j’essaie d’intégrer une réponse à un tweet.

L’intégration devrait ressembler à ceci.

J’obtiens seulement la réponse, pas le tweet original.
Est-ce que c’est comme ça que ça fonctionne sur Discourse, ou est-ce que je fais quelque chose de mal ?

2 « J'aime »

Je n’utilise pas Twitter, mais je suppose que le lien de réponse est différent de celui du tweet original. Par conséquent, vous ne liez que la réponse. Est-ce que le lien vers le tweet original inclut également la première réponse ou seulement le tweet original ?

1 « J'aime »

Salut Jimpas,

Non, l’idée est que si tu intègres la réponse, tu peux choisir d’afficher le tweet original au-dessus, comme sur la photo. Ainsi, la réponse a du contexte.
J’aime beaucoup le style aussi.

Je récupère juste la réponse pour l’instant.
Une solution de contournement consiste à utiliser deux intégrations.

1 « J'aime »

C’est effectivement une solution de contournement. Mais comment peut-on choisir d’afficher le tweet original au-dessus d’une réponse ? Comment pourrait-on donc « choisir » ? Je remarque parfois que sur un autre site, le tweet original est suivi de sa première réponse. :thinking:

Je remarque le même problème d’enregistrement. Lorsque j’essaie d’utiliser un compte de test, et que Twitter indique même lors de l’enregistrement que l’e-mail est en cours d’accès, le compte e-mail n’est pas prérempli dans le formulaire d’enregistrement de compte après avoir terminé la poignée de main d’authentification avec Twitter, et il affiche également « user_1 » pour le nom d’utilisateur prérempli. Les rich embeds ne fonctionnent pas non plus.

1 « J'aime »

Ne paniquez pas et attendez patiemment. L’équipe Discourse lit chaque message très attentivement, je suis donc sûr qu’ils sont déjà au courant. :slight_smile:

2 « J'aime »

@Hifihedgehog et @dnfoz ceci a été assigné, nous allons l’examiner sous peu. D’autres personnes ont-elles des problèmes pour configurer ceci et se connecter ?

4 « J'aime »

Une mise à jour ?? J’ai le même problème

1 « J'aime »