Messaggio di benvenuto TL2 inviato ogni volta al login SSO

Si verifica quanto segue:

Alcuni utenti ricevono la notifica di benvenuto TL2 (“sei stato promosso a un livello di fiducia superiore”) ad ogni accesso.

Ciò accade nelle seguenti circostanze:

  • L’accesso SSO è abilitato, con Discourse come client SSO
  • “Sincronizza i dati utente” è abilitato in WP-Discourse, in modo che venga effettuata una chiamata sync_sso ogni volta che l’utente accede a WordPress
  • sync_sso imposta un gruppo che ha un grant_trust_level inferiore al livello di fiducia corrente dell’utente

Ciò provoca il ricalcolo dei livelli di fiducia dell’utente da zero e l’invio del messaggio di benvenuto ad ogni accesso.

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