Come usare Discourse Connect (SSO) per aggiornare avatar, nome utente, nome?

Sono riuscito a configurare Discourse SSO su https://forum.mycoralapp.com

E sono in grado di creare l’utente la prima volta, con la propria email, nome, nome utente e avatar.

Ma la domanda è, come posso aggiornarli una volta che cambiano dalla nostra parte (nell’app)? Effettuo il logout e il login con SSO, inviando un nome, un nome utente e una foto diversi, ma rimangono quelli vecchi. Ho anche deselezionato queste cose nell’admin, il che sembra che dovrebbe sovrascrivere almeno l’avatar, ma non succede nulla:

Il nome e il nome utente sono sempre disponibili per essere modificati? Perché non è menzionato insieme ad “avatar”? In pratica, però, NON cambia nulla

1 Mi Piace

Puoi condividere il codice Discourse Connect che la tua app sta eseguendo? Sembra che non stia inviando le informazioni nel modo giusto.

2 Mi Piace

Qualcosa di simile: Here is some PHP code and you'd do similar for iOS and Android. Remember to intercept the URL request in WebView! · GitHub

È abbastanza buono per creare l’account, con le informazioni corrette. Ma non lo sovrascrive in seguito durante accessi successivi.

Secondo questo devo entrare nell’app Rails e impostare cose come SiteSetting.discourse_connect_overrides_avatar. Non so se sia perché sono istruzioni vecchie, ma il pannello di controllo dell’amministratore non contiene nemmeno cose come “sovrascrivi nome” e “sovrascrivi nome utente”.

2 Mi Piace

@EGreg hai trovato una soluzione per questo?\nSto riscontrando lo stesso problema con un discourse self-hosted.\nL’accesso SSO non sembra sovrascrivere il nome utente per gli account esistenti che esistevano prima dell’implementazione dell’SSO, anche se l’impostazione ‘override username’ è abilitata.

@pfaffman mi ha aiutato e penso che abbia funzionato. Devo ricontrollare. Jay?

1 Mi Piace

Mi dispiace. Non so nulla su come vengano collegati gli account esistenti e se vengano rinominati o avrei risposto sull’altro argomento.

1 Mi Piace

Guardando l’OP di questo argomento, vedo che l’impostazione auth overrides username non è mostrata come abilitata nello screenshot. Quell’impostazione deve essere abilitata affinché DiscourseConnect sovrascriva il nome utente. Sarebbe fantastico se la pagina delle impostazioni rendesse più evidente che queste tre impostazioni sono correlate a DiscourseConnect:

  • auth overrides email
  • auth overrides username
  • auth overrides name

Inoltre, assicurati che gli utenti si disconnettano da Discourse, quindi accedano nuovamente tramite DiscourseConnect. Se non si disconnettono da Discourse, la modifica non avrà effetto. Puoi aggirare quel problema effettuando una chiamata API al percorso sync_sso per conto dell’utente: Sync DiscourseConnect user data with the sync_sso route.

3 Mi Piace

Grazie a tutti.
Ho riprovato con un nome utente diverso e ha funzionato.
Ho capito che era correlato alle regole sui nomi utente di Discourse. Poiché il nuovo nome utente iniziava con un underscore, era non valido secondo le regole di Discourse e questo potrebbe essere il motivo per cui non è stato riflesso nel forum.

2 Mi Piace