TL2 Willkommensnachricht bei jedem SSO-Login gesendet

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 „Gefällt mir“

Hallo,\n\nvielen Dank, dass Sie diesen Fehler geteilt haben! Ich habe versucht, diesen Fehler zu reproduzieren, konnte ihn aber lokal nicht nachvollziehen. Hier ist, wie mein Setup aussieht:\n\n____\n\n(Wordpress)\n\n* Richten Sie den Wordpress-Benutzer „Steaky“ mit der E-Mail-Adresse steaky@cat.com ein.\n* Fügen Sie wpdc_custom_sso_params hinzu, um die Gruppe „cats“ allen Benutzern zuzuweisen, die sich mit $params['groups'] = 'cats'; anmelden.\n\n(Discourse)\n\n* Erstellen Sie einen Benutzer „Steaky“ mit der E-Mail-Adresse steaky@cat.com.\n* Machen Sie Steaky legitim zu trust_level_3 (nicht gesperrt).\n* Erstellen Sie die Gruppe „cats“ und setzen Sie „Trust Level automatisch für Mitglieder gewährt“ für „cats“ auf 2.\n\nWordpress & Discourse verbunden :ok_hand: auch :ballot_box_with_check: Benutzersynchronisierung.\n\n(Discourse)\n\n* Melden Sie Steaky an, er wird zu Wordpress weitergeleitet und meldet sich an, wird zurück zu Discourse weitergeleitet.\n* (Bestätigen Sie, dass „cats“ für Steaky festgelegt ist)\n* Steaky sieht keine Willkommensnachricht.\n\n\n^ Wiederholen Sie das obige mit SiteSetting.discourse_connect_overrides_groups, gleiches Ergebnis.\n____\n\nIch vermute, Sie haben ein detaillierteres Setup. Es wäre großartig, wenn Sie weitere Details zum Setup Ihrer betroffenen Benutzer mitteilen könnten:\n - Welche anderen „Discourse Connect“-Site-Einstellungen haben Sie aktiviert?\n - Treten Ihre betroffenen Benutzer separat Gruppen bei, die ihnen möglicherweise bestimmte Vertrauensstufen gewähren?\n - Sind Ihre betroffenen Benutzer in Bezug auf die Vertrauensstufe gesperrt? In welchen Gruppen befinden sie sich?\n - Alle anderen nützlichen Informationen\n\nDanke!

4 „Gefällt mir“

Dieser Fehler ist über ein Jahr alt und in der Zwischenzeit hat sich der Kunde von Discourse abgewandt, sodass ich dies nicht mehr vollständig reproduzieren kann. Ich mache mir jedoch immer umfangreiche Notizen, sodass ich sogar Aufzeichnungen über die damaligen SSO-Payloads habe. Ich kann jedoch keine anderen Einstellungen einsehen und/oder versuchen, auf dieser exakten Instanz zu reproduzieren.

Zurück zu meinen Notizen. Was passiert ist, war etwas anders als das, was Sie tun. Das SSO übergab ein leeres Gruppenfeld (nur groups=). Aber die betreffenden Benutzer waren Mitglieder einer anderen Gruppe, die dem SSO-Anbieter unbekannt war, was seine Mitglieder zwang, TL2 zu sein.

Zusätzlich verhalten sich die TL2- und TL3-Willkommensnachrichten meines Wissens unterschiedlich, daher müssen Sie möglicherweise TL2 anstelle von TL3 verwenden, wenn Sie versuchen, dies zu reproduzieren.

Um dies zu reproduzieren, glaube ich, müssen Sie Folgendes tun: (beachten Sie, dass ich eine zweite Gruppe eingeführt habe)

(Wordpress)

  • Richten Sie den Wordpress-Benutzer „Steaky“ mit der E-Mail-Adresse steaky@cat.com ein.
  • Fügen Sie wpdc_custom_sso_params hinzu, um die Gruppe dogs für alle Benutzer festzulegen, die sich mit $params['groups'] = 'dogs'; anmelden.

(Discourse)

  • Erstellen Sie einen Benutzer „Steaky“ mit der E-Mail-Adresse steaky@cat.com.
  • Machen Sie Steaky legitim zu trust_level_1 (nicht gesperrt).
  • Erstellen Sie die Gruppen „cats“ und „dogs“ und stellen Sie „Trust level automatically granted to members“ auf 2 für „cats“.
  • Machen Sie Steaky zum Mitglied der Gruppe cats.
2 „Gefällt mir“

Konnten Sie dieses Problem weiter untersuchen?

1 „Gefällt mir“

Ich habe die Untersuchung dieses Fehlers seit meiner letzten Antwort pausiert, aber ich habe Ihre Hinweise gelesen und schätze sie sehr! Es ist ziemlich unglaublich, dass Sie eine so gute Aufzeichnung davon haben. Er steht immer noch auf meiner To-Do-Liste und ich werde mich bald wieder damit befassen. Vielen Dank, dass Sie nachgefragt haben. :smiley:

3 „Gefällt mir“