Il semble que notre instance Discourse récupère désormais le nom d’utilisateur de chacun sous la forme d’une variante du type « user#### », alors qu’auparavant, elle utilisait une variante de leur adresse e-mail (par exemple, si le nom d’utilisateur était « tonysmith1@aol.com », il devenait « tonysmith1 »). Existe-t-il un moyen de modifier cela ?
Par ailleurs, est-il possible de transférer des informations de profil d’un utilisateur depuis Drupal afin de compléter son profil dans Discourse ? Par exemple : titre, nom de l’entreprise, etc.
Ceci est le résultat d’un changement récent. Auparavant, si aucun nom d’utilisateur n’était fourni dans la charge utile SSO, un nom d’utilisateur était créé à partir de l’adresse e-mail de l’utilisateur. Le risque de cette méthode est qu’elle expose potentiellement les adresses e-mail des utilisateurs. Si aucun nom d’utilisateur n’est fourni dans la charge utile SSO, Discourse attribue désormais le nom d’utilisateur « user » suivi d’un numéro pour garantir l’unicité des noms d’utilisateur.
La solution consiste à fournir un nom d’utilisateur dans la charge utile SSO. Si vous souhaitez vraiment créer des noms d’utilisateur à partir des adresses e-mail des utilisateurs, vous devez séparer l’adresse e-mail au niveau du caractère @ et envoyer la partie nom de l’adresse comme nom d’utilisateur.
Je pense que vous utilisez DiscourseConnect pour l’authentification unique (SSO). Cela vous permet de définir plusieurs paramètres dans la charge utile SSO. Consultez les listes ACCESSORS et BOOLS en haut de ce fichier pour voir quels paramètres peuvent être définis via la charge utile DiscourseConnect : https://github.com/discourse/discourse/blob/main/lib/single_sign_on.rb. Vous constaterez que le bio (biographie) et le title (titre) peuvent tous deux être définis de cette manière.