Message de bienvenue TL2 envoyé à chaque connexion 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 « J'aime »

Salut,

Merci d’avoir partagé ce bug ! J’ai tenté de le reproduire mais je n’y parviens pas localement, voici à quoi ressemble ma configuration :


(Wordpress)

  • Configurer l’utilisateur Wordpress “Steaky” avec l’email steaky@cat.com
  • Ajouter wpdc_custom_sso_params pour définir le groupe cats à tous les utilisateurs qui se connectent avec $params['groups'] = 'cats';

(Discourse)

  • Créer un utilisateur “Steaky” avec l’email steaky@cat.com
  • Donner à Steaky le statut trust_level_3 légitimement (non bloqué)
  • Créer le groupe “cats” et définir “Niveau de confiance automatiquement accordé aux membres” à 2 pour “cats”

Wordpress et Discourse connectés :ok_hand: aussi :ballot_box_with_check: Synchronisation des données utilisateur.

(Discourse)

  • Connecter Steaky, est redirigé vers Wordpress et se connecte, redirigé vers Discourse
  • (Confirmer que “cats” est attribué à Steaky)
  • Steaky ne voit pas le message de bienvenue

^ Répéter ci-dessus avec SiteSetting.discourse_connect_overrides_groups, même résultat.


Je soupçonne que votre configuration est plus détaillée. Ce serait formidable si vous pouviez partager plus de détails sur la configuration de vos utilisateurs affectés :

  • Quels autres paramètres du site “Discourse Connect” avez-vous activés ?
  • Vos utilisateurs affectés rejoignent-ils séparément des groupes qui pourraient leur accorder certains niveaux de confiance ?
  • Vos utilisateurs affectés ont-ils un niveau de confiance bloqué ? Dans quels types de groupes se trouvent-ils ?
  • Toute autre information utile

Merci !

4 « J'aime »

Ce bug a plus d’un an et entre-temps le client s’est éloigné de Discourse, je ne peux donc plus le reproduire entièrement. Cependant, je prends toujours des notes détaillées, j’ai donc même l’enregistrement des charges utiles SSO d’alors. Je ne peux cependant pas inspecter d’autres paramètres et/ou essayer de reproduire sur cette instance exacte.

Retour à mes notes. Ce qui s’est passé était un peu différent de ce que vous faites. Le SSO passait un champ groups vide (juste groups=). Mais les utilisateurs en question étaient membres d’un autre groupe, inconnu du fournisseur SSO, qui forçait ses membres à TL2.

De plus, les messages de bienvenue TL2 et TL3 agissent différemment, autant que je me souvienne, vous devrez donc peut-être utiliser TL2 au lieu de TL3 si vous essayez de reproduire cela.

Donc, pour reproduire, je pense que vous devez faire ce qui suit : (notez que j’ai introduit un deuxième groupe)

(Wordpress)

  • Configurer l’utilisateur wordpress “Steaky” avec l’email steaky@cat.com
  • ajouter wpdc_custom_sso_params pour définir le groupe dogs à tous les utilisateurs qui se connectent avec $params['groups'] = 'dogs';

(Discourse)

  • Créer un utilisateur “Steaky” avec l’email steaky@cat.com
  • Faire de Steaky trust_level_1 légitimement (pas verrouillé)
  • créer les groupes “cats” et “dogs” et définir “Niveau de confiance automatiquement accordé aux membres” à 2 pour “cats”
  • faire de Steaky un membre du groupe cats
2 « J'aime »

Avez-vous pu examiner ce problème plus en détail ?

1 « J'aime »

J’ai mis en pause l’exploration de ce bug depuis ma dernière réponse, mais j’ai lu et j’apprécie vos notes ! C’est assez incroyable que vous ayez un si bon journal de bord. Il est toujours sur ma liste et j’y reviendrai bientôt, alors merci de prendre des nouvelles. :smiley:

3 « J'aime »