Messaggio di benvenuto TL2 inviato ogni volta al login SSO

The following is happening:

Some users are getting the TL2 welcome notification (“we promoted you up a trust level”) on every login.

This happens under the following circumstances:

  • SSO login is enabled where Discourse is the SSO client
  • “Sync User Data” is enabled in WP-Discourse so it issues a sync_sso call every time the user logs into Wordpress
  • sync_sso is setting a group that has a grant_trust_level which is lower than the current trust level of the user

This causes the trust levels for the user to be recalculated from the ground up and the welcome message to be sent every time.

6 Mi Piace

Ciao,

Grazie per aver condiviso questo bug! Ho tentato di riprodurlo ma non sono riuscito a farlo localmente, ecco come si presenta la mia configurazione:


(Wordpress)

  • Imposta l’utente Wordpress “Steaky” con email steaky@cat.com
  • aggiungi wpdc_custom_sso_params per impostare il gruppo cats a tutti gli utenti che accedono con $params['groups'] = 'cats';

(Discourse)

  • Crea un utente “Steaky” con email steaky@cat.com
  • Rendi Steaky trust_level_3 legittimamente (non bloccato)
  • crea il gruppo “cats” e imposta “Trust level automatically granted to members” a 2 per “cats”

Wordpress e Discourse collegati :ok_hand: anche :ballot_box_with_check: Sincronizza i dati utente.

(Discourse)

  • accedi a Steaky, viene reindirizzato a Wordpress e accede, reindirizzato nuovamente a Discourse
  • (conferma che “cats” è impostato per Steaky)
  • Steaky non vede il messaggio di benvenuto

^ ripeti quanto sopra con SiteSetting.discourse_connect_overrides_groups, stesso risultato.


Sospetto che tu abbia una configurazione più dettagliata. Sarebbe fantastico se potessi condividere maggiori dettagli sulla configurazione dei tuoi utenti interessati:

  • Quali altre impostazioni del sito “Discourse Connect” hai attivato?
  • I tuoi utenti interessati si uniscono separatamente a gruppi che potrebbero concedere loro determinati livelli di fiducia?
  • I tuoi utenti interessati hanno il livello di fiducia bloccato? In che tipo di gruppi si trovano?
  • qualsiasi altra informazione che potrebbe essere utile

Grazie!

4 Mi Piace

Questo bug ha più di un anno e nel frattempo il cliente si è allontanato da Discourse, quindi non posso più riprodurlo completamente. Tuttavia, prendo sempre appunti dettagliati, quindi ho persino registrazioni dei payload SSO di allora. Non sono in grado di ispezionare altre impostazioni e/o provare a riprodurre su quell’istanza esatta, però.

Tornando ai miei appunti. Quello che è successo è stato un po’ diverso da quello che stai facendo. L’SSO stava passando un campo groups vuoto (solo groups=). Ma gli utenti in questione erano membri di un altro gruppo, sconosciuto al provider SSO, che stava forzando i suoi membri a TL2.

Inoltre, i messaggi di benvenuto TL2 e TL3 agiscono diversamente, per quanto ricordo, quindi potresti dover usare TL2 invece di TL3 se tenti di riprodurre questo.

Quindi per riprodurlo, penso che tu debba fare quanto segue: (nota che ho introdotto un secondo gruppo)

(Wordpress)

  • Configura l’utente Wordpress “Steaky” con email steaky@cat.com
  • aggiungi wpdc_custom_sso_params per impostare il gruppo dogs a tutti gli utenti che accedono con $params['groups'] = 'dogs';

(Discourse)

  • Crea un utente “Steaky” con email steaky@cat.com
  • Rendi “Steaky” trust_level_1 legittimamente (non bloccato)
  • crea i gruppi “cats” e “dogs” e imposta “Trust level automatically granted to members” a 2 per “cats”
  • rendi “Steaky” membro del gruppo cats
2 Mi Piace

Sei riuscito ad approfondire ulteriormente questo problema?

1 Mi Piace

Ho messo in pausa l’esplorazione di quel bug dalla mia ultima risposta, ma ho letto e apprezzo le tue note! È incredibile che tu abbia un registro così bello. È ancora sul mio piatto e ci tornerò presto, quindi grazie per esserti informato. :smiley:

3 Mi Piace