es scheint, als würde unsere Discourse-Instanz nun die Benutzernamen aller als eine Art Variante von „user####" übernehmen, während sie zuvor eine Variante ihrer E-Mail-Adresse verwendet hat (z. B. wenn der Benutzername „tonysmith1@aol.com" war, wurde daraus „tonysmith1"). Gibt es eine Möglichkeit, dies zu ändern?
Außerdem: Gibt es eine Möglichkeit, Profilinformationen von einem Benutzer in Drupal zu übernehmen, um das Profil eines Benutzers in Discourse auszufüllen? Z. B. Titel, Firmenname usw.
Dies ist das Ergebnis einer kürzlichen Änderung. Zuvor wurde, wenn kein Benutzername im SSO-Payload übermittelt wurde, ein Benutzername basierend auf der E-Mail-Adresse des Benutzers erstellt. Das Risiko dabei besteht darin, dass dies möglicherweise die E-Mail-Adressen der Benutzer preisgibt. Wenn kein Benutzername im SSO-Payload übermittelt wird, setzt Discourse den Benutzernamen nun auf „user" mit einer angehängten Nummer, damit die Benutzernamen eindeutig sind.
Die Lösung besteht darin, einen Benutzernamen im SSO-Payload anzugeben. Wenn Sie Benutzernamen unbedingt basierend auf den E-Mail-Adressen der Benutzer erstellen möchten, sollten Sie die E-Mail-Adresse am Zeichen @ aufteilen und den Namensteil der Adresse als Benutzernamen senden.
Ich gehe davon aus, dass Sie DiscourseConnect für SSO verwenden. Dies ermöglicht es Ihnen, einige Parameter im SSO-Payload festzulegen. Schauen Sie sich die Listen ACCESSORS und BOOLS ganz oben in dieser Datei an, um zu sehen, welche Parameter über den DiscourseConnect-Payload festgelegt werden können: https://github.com/discourse/discourse/blob/main/lib/single_sign_on.rb. Sie werden feststellen, dass sowohl bio als auch title auf diese Weise festgelegt werden können.