Message de bienvenue TL2 envoyé à chaque connexion SSO

Voici ce qui se produit :

Certains utilisateurs reçoivent la notification de bienvenue TL2 (« nous vous avons promu à un niveau de confiance supérieur ») à chaque connexion.

Cela se produit dans les circonstances suivantes :

  • La connexion SSO est activée, Discourse étant le client SSO
  • « Synchroniser les données utilisateur » est activé dans WP-Discourse, ce qui déclenche un appel sync_sso à chaque fois que l’utilisateur se connecte à WordPress
  • sync_sso définit un groupe ayant un grant_trust_level inférieur au niveau de confiance actuel de l’utilisateur

Cela provoque le recalcul des niveaux de confiance de l’utilisateur à partir de zéro, ce qui entraîne l’envoi du message de bienvenue à chaque fois.

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 »