Pour être tout à fait juste envers l’équipe Discourse, ceci est différent du problème de décembre 2020. Le tout dernier message concernant ce problème différent était juste avant le premier message de @dnfoz ici, et il date de plus d’un an. Le problème de @dnfoz a été publié il y a seulement 8 jours, pas il y a des mois. Le problème est que Twitter change constamment son API car ils n’ont – franchement – aucune idée de ce qu’ils visent avec leur plateforme. C’est pourquoi un problème d’il y a un an sera totalement différent d’un problème d’il y a une semaine, en particulier avec Twitter. Et si c’était un problème il y a des mois, en dehors de l’osmose et de la lecture des pensées, vous ou quelqu’un d’autre auriez dû en parler pour qu’ils le sachent.
Il semble que cela fonctionne, sauf que lors de l’inscription, le champ e-mail ne se remplit pas automatiquement ? Est-ce que je fais quelque chose de mal ? Cela fonctionne avec mon inscription Google, où il remplit automatiquement l’e-mail.
Voir l’exemple de @dnfoz. Cela est dû au fait que chaque fournisseur SSO est différent, ce qui signifie que la façon dont Google le fait est un peu différente de Twitter, et Twitter est parmi les pires, sinon le pire. L’API de Twitter est une cible mouvante car Twitter ne sait pas ce qu’il fait et Twitter ne fait aucune courtoisie aux développeurs qui construisent autour de son API. Donc, pour être brutalement honnête avec vous, à moins que nous, administrateurs Discourse, ou l’équipe Discourse ne surveillions constamment ce plugin pour les changements en amont du côté de Twitter, il cassera constamment comme ça.
Merci pour cela. Oui, je ne pense pas que je devrais perdre plus de temps à apprendre et à bricoler les API Twitter qui, comme vous le dites, pourraient changer à tout moment. Je suis sûr que mes utilisateurs s’en accommoderont !
Cela ne veut pas dire que l’équipe Discourse ne travaille pas déjà sur un correctif, ce qu’elle fait, et il n’est peut-être pas nécessaire de faire plus que de mettre à jour le plugin pour qu’il fonctionne à nouveau côté administrateur. Le problème est qu’il s’agit d’un problème récurrent avec Twitter car c’est une société mal gérée. Je conserverai toujours mon plugin Twitter SSO comme option, mais Twitter n’est certainement pas une option sûre et fiable comme les autres SSO.
Si nous rencontrons toujours ces problèmes, pouvons-nous essayer de reproduire le même problème sur try.discourse.org ? J’ai pu me connecter sans problème avec mon compte Twitter là-bas.
Wow, s’inscrire avec Twitter sur le forum du sous-domaine try que vous venez de partager a semblé fonctionner à merveille. Cela me fait vraiment me demander s’il y a une collision de plugins ou une configuration particulière en cours.
Très étrange. Je continue d’avoir un comportement étrange sur mon site Web. C’est en production, donc je ne peux pas modifier trop de choses, mais je ferai de mon mieux pour essayer de comprendre. Ce ne doit pas être si unique si d’autres utilisateurs le signalent également.
Comparé au message parent ici, Twitter a modifié visuellement la configuration des paramètres. Voici ce que j’ai configuré (les paramètres qui peuvent être partagés en toute sécurité publiquement ici sur le forum de toute façon) pour mon instance Discourse, du moins :
EDIT : Cela pourrait être quelque chose. Bien qu’il existe toujours une option pour demander un e-mail aux utilisateurs, il n’y a plus de paramètre pour Activer l’authentification tierce comme mentionné dans le message parent. Pour les personnes qui avaient configuré leur connexion Twitter avant ce changement dans leurs paramètres, cela pourrait ne pas être un problème car Twitter pourrait les maintenir et migrer leurs paramètres. Cependant, je ne vois plus cette option, ce qui pourrait poser un problème pour les utilisateurs comme moi et @dnfoz qui configurons nos forums pour la première fois et Discourse a besoin d’une authentification tierce pour compléter avec succès le processus de poignée de main SSO.
EDIT 2 : Voici autre chose à méditer. Discourse s’attend-il à l’API Twitter v1 ou v2 ? Pour les nouveaux développeurs, ils n’offrent plus la v1 car ils mentionnent seulement la migration pour ceux qui utilisaient déjà la v1, sans mention de prise en charge de la v1 héritée pour les nouveaux utilisateurs. Voir les détails ici :
Comme décrit dans le lien ci-dessus, il semblerait qu’ils ne permettent qu’aux comptes de développeurs préexistants de migrer la v1. Je ne vois aucun moyen ni aucune documentation pour activer la v2 sur de nouveaux comptes de développeurs et par conséquent, je n’ai que la prise en charge de la v2.
Donc, en supposant que le SSO et l’intégration s’attendent à l’API Twitter v1, cela pourrait nécessiter un effort de codage pour prendre en charge les deux versions de l’API ou pour abandonner la prise en charge de la v1 si une approche à double volet n’est pas possible.
EDIT 3 : En lisant le forum Discourse des développeurs Twitter (oh, l’ironie que Twitter utilise lui-même Discourse !), mes soupçons semblent être confirmés. Selon leur bannière épinglée (visible ici : Développeurs Twitter (twittercommunity.com)), les nouveaux développeurs ne peuvent pas accéder à l’API v1.1 :
Êtes-vous nouveau sur la plateforme et prêt à commencer ?
Nous vous encourageons à vous inscrire pour un accès essentiel et à faire votre première requête à l’API.
Une fois inscrit, vous aurez un projet avec un accès essentiel dans votre compte, ce qui vous fournira :
- 1 environnement d’application
- La possibilité de récupérer jusqu’à 500 000 tweets par mois
- La possibilité d’utiliser jusqu’à 5 règles avec le point de terminaison de flux filtré
- L’accès à la majorité des points de terminaison de l’API v2 de Twitter
- Vous ne pourrez pas accéder aux points de terminaison standard v1.1, premium v1.1 ou entreprise
Oui, c’est exactement ce que j’obtiens sur songwritingsteps.com - il remplit « user1 » et aucun e-mail.
Faites-moi savoir si vous trouvez une solution ! J’ai eu la tête contre le mur pendant des heures ![]()
Non, aucune idée ! Je peux toujours créer un forum dans une VM sur ma machine locale et voir si je peux comprendre ce qui se passe. Pour l’instant, cependant, pas de pistes. Je tire à l’aveugle mais comme mentionné, je soupçonne que c’est le support de l’API V1 attendu qui est le coupable. Le support hérité V1 nécessaire n’est tout simplement plus là pour les nouveaux comptes développeurs, comme je viens de le partager.
Merci ! C’est un excellent travail de recherche @Hifihedgehog. Nous étudions la meilleure voie à suivre et fournirons une mise à jour lorsque nous en aurons une.
Merci de votre patience à tous.
Je ne pense pas que vous puissiez configurer les connexions sociales sur une machine locale. Vous avez besoin d’un certificat https valide. Avez-vous un certificat valide pour accéder à la VM sur votre machine locale ?
En fait, ce n’est pas trop compliqué : je pourrais configurer un tunnel SSH vers ma machine locale depuis mon VPS, puis le rediriger vers un proxy sur mon serveur web qui possède déjà un certificat SSL. ![]()
Ok, je pense que nous avons réussi à résoudre le mystère ![]()
Comme @Hifihedgehog l’a souligné, les nouveaux comptes développeurs Twitter commencent avec le plan « Essentiel » et sont limités aux points de terminaison de l’API v2. Notre connexion Twitter intégrée doit actuellement accéder aux points de terminaison v1.1. Heureusement, ce n’est pas un problème !
Il y a deux points importants à noter sur ce tableau sur X API v2 - X
Vous pouvez accéder gratuitement à l’API v1.1 dans le cadre du plan « Élevé ». Il vous suffit de faire une demande depuis votre tableau de bord développeur. J’ai trouvé cela très rapide et facile. Les connexions Twitter Discourse ont fonctionné sans faille après cela ![]()
Je mettrai à jour le message initial pour inclure cette nouvelle exigence.
Mec, tu as raison ! Cela n’a pris que quelques minutes et j’ai été approuvé instantanément. Les corrections simples sont toujours agréables ! ![]()
8 messages ont été déplacées vers un nouveau sujet : La citation est cassée lorsque le nom correspond au nom d’utilisateur
Si le secret ou la clé Twitter est mis à jour, cela a-t-il un impact sur les utilisateurs existants ? Si oui, existe-t-il un moyen de le « corriger » ? J’ai trouvé ces instructions pour les mises à jour de connexion Facebook, serait-ce le bon script à utiliser ?
cd /var/discourse
./launcher enter app
rails c
UserAssociatedAccount.where(provider_name: "twitter").delete_all
Mes liens Twitter ne sont plus intégrés après la configuration de la connexion Twitter. J’ai d’abord configuré les clés consommateur Twitter, la connexion n’a pas fonctionné comme prévu. Maintenant, je suis sur le plan « Elevated » et je devrais avoir accès aux points de terminaison v1.1.
La connexion fonctionne maintenant comme prévu, mais lorsque je reconstruis un article avec des liens Twitter, ils restent des liens simples.
Lorsque je reconstruis un ancien article qui contient déjà des tweets intégrés, les intégrations sont supprimées.
Une idée?
EDIT : Cela semble avoir été corrigé dans la mise à jour la plus récente (2.9.0.beta5 - 0ae7b43018)




