Fügen Sie SCIM-Unterstützung als Service Provider hinzu

Wie bereits hier erwähnt, halte ich es für eine nützliche Funktion, wenn Discourse das SCIM-Protokoll unterstützen würde. SCIM ist ein Standard, der von der IETF über RFC7644 und RFC7643 vorgeschlagen wurde und darauf abzielt, eine Lösung für die Benutzer-/Gruppenverwaltung über eine einfache Rest-API bereitzustellen. Unser Anwendungsfall wäre die Verwaltung von Benutzeridentitäten und Gruppenmitgliedschaften über einen separaten Dienst, der als SCIM-Client fungiert, in unserem Fall Keycloak. Discourse würde als SCIM-Dienstanbieter fungieren. Zusätzlich zu jeder bestehenden SSO und zentralisierten Kontoerstellung hätte dies folgende Vorteile:

  • Benutzer Gruppen zuweisen;
  • Benutzerinformationen sofort in mehreren Apps ändern;
  • Benutzer löschen, wenn sie aus der SSO entfernt werden;
  • Benutzer oder Gruppen auf standardisierte Weise auflisten;

Wir haben einige Mittel von NGI über NLNet für SCIM-Implementierungen erhalten. Sie können den Vorschlag und verwandte Arbeiten in unserem Forum hier lesen. Ich würde versuchen, zunächst eine erste Lösung in einem Discourse-Plugin zu implementieren, aber es wäre schön, dies irgendwann in den Discourse-Kern zu integrieren. Lassen Sie mich Ihre Gedanken und Meinungen wissen!

5 „Gefällt mir“

Es erscheint seltsam, dass ihre Spezifikation /Users und /Groups verwendet und nicht etwas wie .well-known/scim/Users. Es scheint sicher, dass dies mit vorhandenen Routen in vielen Anwendungen in Konflikt geraten wird.

Ich würde gerne dabei helfen, wenn Sie etwas Budget übrig haben.

Ich kann mir vorstellen, dass es ein offizielles Plugin werden könnte, wenn es gut geschrieben und weit verbreitet wäre (oder von mehreren Unternehmenskunden benötigt würde).

Ich glaube nicht, dass es jemals Teil des Kerns werden würde – selbst OAuth2 ist ein Plugin.

4 „Gefällt mir“

Ich denke, es ist möglich, jeden Pfad als Präfix für die SCIM-Endpunkte zu verwenden, z. B. api/scim/v2/Users oder von Ihnen vorgeschlagene bekannte Pfade.

Ja, ich verstehe die Bedenken bezüglich des Kerns, daher könnte ein Ziel sein, dass er ein offizielles Plugin wird. Vielen Dank auch für das Hilfsangebot, es gibt kein zusätzliches Budget, aber mal sehen, wie sich das in Zukunft entwickelt.

1 „Gefällt mir“

Ah. Das ergibt Sinn. Ich vermutete, dass dies der Fall sein muss, habe es aber bei meiner schnellen Lektüre nicht gesehen. Ich würde mir als Referenz die anderen Authentifizierungs-Plugins ansehen.

Hier sind offizielle Plugins mit ‘auth’ im Namen

discourse-apple-auth/                  discourse-microsoft-auth/
discourse-authentication-validations/  discourse-oauth2-basic/
discourse-auth-no-email/               discourse-vk-auth/
discourse-development-auth/            discourse-wikimedia-auth/

Klingt nach einem interessanten Projekt

1 „Gefällt mir“

Eine erste Version des Plugins ist jetzt hier verfügbar:

Das Mapping ist noch sehr einfach, nur die Basis-Felder von Benutzern und Gruppen werden funktionieren. Ich habe es mit dem Keycloak SCIM Plugin getestet und man kann bereits Benutzer in Keycloak hinzufügen/ändern, die dann in Discourse erstellt/aktualisiert werden. Das Keycloak SCIM Plugin ist hier:

Jedes Feedback ist sehr willkommen :slight_smile: Wir werden in unserer Umgebung mehr mit Keycloak testen und ich möchte es immer noch mit authentik testen.

4 „Gefällt mir“

Das ist cool, tolle Idee. Ich freue mich darauf, das zu testen. Danke!

Es wäre toll, wenn du es als Thema in der Kategorie Plugin posten könntest :slight_smile:

1 „Gefällt mir“

In der Kategorie “Plugins” ist der Beitragsbutton für mich deaktiviert und ich sehe die Meldung, dass ich in dieser Kategorie nicht posten darf.

Treten Sie der Gruppe @plugin_authors bei. Dies ermöglicht es Ihnen, ein Thema in dieser Kategorie zu erstellen.

Danke, ich habe eine Anfrage gesendet :slight_smile:

1 „Gefällt mir“

… und schließlich gepostet: SCIM Plugin

2 „Gefällt mir“