SSO, alte deaktivierte Konten

Der Server, der unsere Discourse-Instanz hostet, ist komplett ausgefallen, und wir haben nur ein recht altes Discourse-Backup.
Die wiederhergestellte Instanz verwendet SSO mit Drupal.

Frage: Zwischen dem Zeitpunkt des letzten Backups und jetzt wurden mehrere Benutzer in Drupal deaktiviert und können daher (wie ich annehme) nicht mehr korrekt mit Discourse verbinden.
Aber was ist mit E-Mail-Benachrichtigungen? Uns wurde bereits mitgeteilt, dass einige ehemalige Benutzer Benachrichtigungen erhalten haben. Gibt es eine Möglichkeit, Discourse automatisch erkennen zu lassen, welche Benutzer keine solchen Benachrichtigungen mehr erhalten sollten? Ich möchte wirklich nicht manuell die Benutzerliste durchgehen :slight_smile:

Sie könnten Drupal die API verwenden lassen, um diese Benutzer zu deaktivieren. Oder Sie generieren eine Liste und deaktivieren sie über die Rails-Konsole.

Klingt gut. Hast du Tipps, wie man das macht?

Um die API-Aufrufe zu finden, können Sie Reverse engineer the Discourse API aufrufen. Außerdem enthalten die Themen zum SSO einige Informationen dazu, wie SSO-Master Konten deaktivieren können. In Ihrem Fall sind die Konten jedoch bereits deaktiviert, sodass Sie wahrscheinlich eine Liste davon auf irgendeine Weise . . . irgendwie . . . benötigen und dann etwas wie:

 Users.where(irgendwie die Benutzer abrufen).update_all(active: false)

(Das ist nicht ganz korrekt, aber das ist die Idee.)

Wenn es sich um einen Notfall handelt und Sie ein Budget haben, finden Sie meine Kontaktinformationen in meinem Profil.

Danke, aber ich wollte vor allem wissen, ob es eine Standard-SSO-Lösung/Prozess/Endpunkt/Aufruf gibt, um solche Dinge zu handhaben (Synchronisierung aktiver Benutzer).

Anscheinend nicht :slight_smile:

Ich werde versuchen, eine eigene Lösung zu entwickeln.

Das gibt es. Du findest es wahrscheinlich im wp-discourse-Plugin, aber der einfachste Weg, es zu finden, ist, ein Konto zu deaktivieren, während die Entwicklertools geöffnet sind, und zu prüfen, welchen Aufruf es tätigt.