Échec de publication de Discourse : erreur 403

Je gère un blog WordPress multi-auteurs. Comment puis-je faire en sorte que les publications fonctionnent sans obliger tous mes auteurs à créer un compte sur Discourse ? Devrais-je utiliser l’authentification unique (SSO) entre WordPress et Discourse pour résoudre ce problème ?

Si vous souhaitez que les auteurs puissent publier des messages sous leur propre nom sur Discourse, ils devront créer des comptes Discourse. L’authentification unique (SSO) est une bonne approche pour cela, mais lorsqu’elle est activée, les utilisateurs ne pourront se connecter à votre forum qu’via le site WordPress. Cela pourrait ne pas correspondre à ce que vous souhaitez.

Une autre option consisterait à publier tous les messages depuis WordPress vers Discourse sous un seul nom d’utilisateur Discourse. Si les utilisateurs laissent leur paramètre de nom d’utilisateur Discourse vide, les messages seront publiés sur Discourse par le nom d’utilisateur de publication que vous avez défini dans l’onglet Paramètres de connexion du plugin.

Intéressant… À ma connaissance, aucun de mes auteurs n’a cette option configurée. Lorsque je consulte les profils utilisateurs, je ne vois pas l’option de définir un nom d’utilisateur Discourse. Où puis-je la trouver ?

De plus, je viens de remarquer que j’utilise le paramètre suivant dans le plugin Discourse pour WordPress :

Supprime le champ Nom Discourse de la page de profil utilisateur WordPress.

Ne pas afficher le champ Nom Discourse - Sauf si SSO est activé, ce paramètre entraînera la publication de tous les articles sur Discourse au nom de l’utilisateur défini dans « Nom d’utilisateur de publication ».

À ma connaissance, le paramètre ci-dessus force tous les articles à être publiés par l’utilisateur défini comme utilisateur de publication dans le paramètre « Nom d’utilisateur de publication ».

Qu’est-ce que je rate ?

Merci. Je viens de réaliser que j’avais activé l’option Ne pas afficher le champ de nom Discourse. Cela aurait dû forcer tous les messages à utiliser le nom d’utilisateur de publication.

Oui, désactivez cette option si vous souhaitez que les publications soient effectuées sous le nom d’utilisateur Discourse de l’auteur, que vous pourrez probablement définir sans problème. (Certains thèmes, comme Extra, empêchent la modification du nom d’utilisateur en le masquant sur la page de profil.)

Édité pour ajouter : Je vois maintenant que le titre de ce sujet est un numéro d’erreur. Je ne suis pas sûr que ce que j’ai dit puisse résoudre ce problème.

Oui, c’est ainsi que cela devrait fonctionner. Pouvez-vous publier des messages avec votre compte depuis WordPress vers Discourse ?

La cause la plus courante de l’erreur 403 lors de la publication de messages sur Discourse est que le nom d’utilisateur Discourse est incorrectement défini. Il pourrait être utile de désactiver le paramètre « Ne pas afficher le champ Nom Discourse » et de consulter les pages de profil de certains de vos auteurs. Assurez-vous que le champ Nom d’utilisateur Discourse est vide pour ces auteurs. Il se trouve dans la section « Informations de contact » de la page de profil de l’utilisateur.

Nous allons très prochainement déplacer le champ Nom d’utilisateur Discourse hors de la section « Informations de contact » et offrir aux administrateurs du site la possibilité de définir manuellement le nom d’utilisateur Discourse pour leurs auteurs, tout en masquant ce paramètre aux auteurs. Cela est fait pour des raisons de sécurité, afin de garantir que les personnes utilisent le bon nom d’utilisateur Discourse sur les sites à plusieurs auteurs.

D’accord, c’est ce que j’attendais.

Je pensais que le problème était lié à une incohérence entre les noms d’utilisateur, mais j’ai cru que l’activation de l’option « Ne pas afficher le champ Nom Discourse » remédierait à tout.

Je pense que le changement que vous avez mentionné serait vraiment utile.

Je viens d’essayer de publier avec l’option désactivée, mais j’ai obtenu la même erreur.

Après avoir désactivé l’option, pouvez-vous consulter votre page de profil pour vous assurer que le champ « Nom d’utilisateur Discourse » est vide ?

Les noms d’utilisateurs Discourse sont vides pour tous les utilisateurs.

Lorsque vous accédez à l’onglet des options de connexion de WP Discourse, voyez-vous un message indiquant « Vous êtes connecté à Discourse » ?

Pour les paramètres de clé API et de nom d’utilisateur de publication dans l’onglet des options de connexion, utilisez-vous la clé API « Tous les utilisateurs » de votre forum Discourse ? Le nom d’utilisateur de publication est-il défini sur le nom de l’utilisateur système de votre site ? Le nom d’utilisateur par défaut pour l’utilisateur système est « system ».

Oui. Dans l’onglet des options de connexion, je vois le message « Vous êtes connecté à Discourse. »

La clé API est celle de tous les utilisateurs et le nom de publication est celui de l’administrateur du forum Discourse. Le nom d’utilisateur n’est pas l’utilisateur système « system ».

Pourriez-vous essayer de changer le nom d’utilisateur en ‘system’ (sans les guillemets) pour voir si cela fait une différence ?

J’ai modifié le nom d’utilisateur en « system », mais j’obtiens toujours le même message d’erreur.

« Une erreur s’est produite lors de la publication de ce message sur Discourse. »

Voici les détails affichés dans l’e-mail d’erreur :

Raison de l’échec :
Un code de réponse 403 a été renvoyé par Discourse.
Interdit

Vérifiez que :

  • l’auteur a correctement défini son nom d’utilisateur Discourse

Quelqu’un a-t-il d’autres idées pour résoudre ce problème ?

La seule chose à laquelle je puisse penser est de créer une nouvelle clé API et de tout ressaisir.

D’accord… c’est très étrange… J’utilise NodeChef pour héberger Discourse. Je me demande si c’est un problème lié à leur build ou à la configuration de leur serveur. Des avis ?

J’ai essayé de changer les clés et j’ai toujours le même problème.

Merci pour les détails concernant votre hébergement. J’aurais dû vous demander cela. Il est possible que le problème soit lié à leur hébergement. Ce n’est pas un problème que j’ai rencontré avec notre hébergement, ni avec les sites hébergés sur https://www.communiteq.com/, ou les sites en auto-hébergement.

Si vous avez WP-CLI disponible sur votre site WordPress, la méthode la plus simple pour déboguer ce problème serait d’essayer de créer un sujet Discourse depuis la console wp, en utilisant les mêmes identifiants que ceux configurés dans votre plugin WP Discourse. La réponse à cette requête vous donnera quelques détails sur le problème.

D’accord. Je vais essayer cela.

Je pensais configurer une instance auto-hébergée sur mon compte AWS. Je vais essayer et voir si cela pose les mêmes problèmes. Merci pour votre aide.

Pour une raison quelconque, la publication échoue avec l’erreur 403. Peu importe ce que je fais.

Raison de l’échec :
Un code de réponse 403 a été renvoyé par Discourse.
Interdit

Vérifiez ce qui suit :

  • que l’auteur a correctement défini son nom d’utilisateur Discourse

L’onglet Connexion affiche « connecté à Discourse ». Le paramètre « Ne pas afficher le champ Nom Discourse » est désactivé dans la publication. J’ai déjà recréé une nouvelle clé API pour garantir la connexion. Le nom d’utilisateur par défaut pour l’utilisateur système est « system ».

Je suis à court d’idées.

Toute aide serait appréciée.