Discourse/Drupal SSO Domande sul nome utente

Ciao a tutti,

Sembra che la nostra istanza di Discourse stia ora importando il nome utente di tutti come una sorta di variante di “user####”, mentre in precedenza li importava come una variante del loro indirizzo email (ad esempio, se il nome utente era “tonysmith1@aol.com”, lo trasformava in “tonysmith1”). C’è un modo per modificare questo comportamento?

Inoltre, esiste un modo per importare le informazioni del profilo di un utente da Drupal per compilare il profilo di un utente su Discourse? Ad esempio, titolo, nome dell’azienda, ecc.

Questo è il risultato di una modifica recente. In precedenza, se un nome utente non veniva fornito nel payload SSO, veniva creato un nome utente basato sull’indirizzo email dell’utente. Il rischio di farlo è che ciò potrebbe esporre gli indirizzi email degli utenti. Se non viene fornito un nome utente nel payload SSO, Discourse ora imposta il nome utente su “user” con un numero aggiunto in modo che i nomi utente siano univoci.

La soluzione è fornire un nome utente nel payload SSO. Se desideri davvero creare nomi utente basati sugli indirizzi email degli utenti, dovresti dividere l’indirizzo email al carattere @ e inviare la parte del nome dell’indirizzo come nome utente.

Credo che tu stia utilizzando DiscourseConnect per l’SSO. Questo ti consente di impostare diversi parametri nel payload SSO. Dai un’occhiata alle liste ACCESSORS e BOOLS in cima a questo file per vedere quali parametri possono essere impostati tramite il payload DiscourseConnect: https://github.com/discourse/discourse/blob/main/lib/single_sign_on.rb. Vedrai che sia bio che title possono essere impostati in questo modo.