Synchronisation bidirectionnelle entre le nom d'utilisateur WP Discourse et le nom d'utilisateur Discourse ?utilisateur Discourse ?

J’ai déplacé ce sujet dans la catégorie Support > WordPress, car la catégorie Contribute > Feature est destinée aux fonctionnalités de Discourse.

Le champ « Discourse Username Editable » dans le plugin WordPress est peut-être mal nommé. Le texte descriptif de ce paramètre doit absolument être mis à jour pour clarifier son utilité. Lorsque le paramètre « Discourse Username Editable » est activé, les utilisateurs du site WordPress peuvent définir leur nom d’utilisateur Discourse sur leur page de profil WordPress. Si ce paramètre n’est pas activé, seul un administrateur du site WordPress peut définir le nom d’utilisateur Discourse de l’utilisateur. Le nom d’utilisateur Discourse est uniquement utilisé par le plugin pour publier des articles depuis WordPress vers Discourse.

Lorsque DiscourseConnect est utilisé entre WordPress et Discourse, le nom d’utilisateur Discourse de l’utilisateur est initialement défini à partir de son nom d’utilisateur WordPress. Si le paramètre auth_overrides_username est activé sur le site Discourse, le nom d’utilisateur sur Discourse ne peut être défini que depuis WordPress. Si le paramètre auth overrides username n’est pas activé sur Discourse, les utilisateurs pourraient modifier leur nom d’utilisateur sur Discourse, ce qui entraînerait une divergence entre les noms d’utilisateur des deux systèmes.

Concernant le champ « Discourse Username », il serait idéal que ce champ soit toujours défini en arrière-plan en fonction du nom d’utilisateur Discourse. Il y a un moment que je n’ai pas regardé le code concerné, mais je pense que le champ « Discourse Username » est rempli automatiquement si le site WordPress est utilisé comme fournisseur SSO pour Discourse et que l’option « Create or Sync Discourse Users on Login » est activée dans l’onglet des options du fournisseur DiscourseConnect sur WordPress. Le champ « Discourse Username » est également défini automatiquement si Discourse est utilisé comme fournisseur SSO pour WordPress (avec le paramètre DiscourseConnect Client).

Idéalement, le champ « Discourse Username » devrait toujours être défini automatiquement lorsque WordPress est le fournisseur SSO pour Discourse, que l’option « Create or Sync Discourse Users on Login » soit activée ou non sur Discourse. Je ne pense pas qu’il soit possible de faire quoi que ce soit dans le cas où DiscourseConnect n’est pas utilisé entre les deux sites, mais @angus pourrait avoir des idées à ce sujet.

Par défaut, WordPress n’autorise pas les utilisateurs à modifier leurs noms d’utilisateur, ce n’est donc pas un sujet qui a suscité beaucoup de questions. Si vous souhaitez vous assurer que les noms d’utilisateur restent synchronisés entre WordPress et Discourse, assurez-vous d’activer le paramètre auth_overrides_username sur Discourse. Vous souhaiterez peut-être également activer l’option « Create or Sync Discourse Users on Login » sur WordPress. Avec cette option activée, les utilisateurs seront mis à jour sur Discourse à chaque fois qu’ils se connectent à votre site WordPress. Si cette option n’est pas activée, les utilisateurs ne seront mis à jour sur Discourse que lorsqu’ils se déconnecteront de Discourse, puis se reconnecteront avec DiscourseConnect.