Beachten Sie, dass ich einen aktualisierten PR-Entwurf mit einem neuen Ansatz erstellt habe (unter Berücksichtigung der von @david in meinem letzten Versuch angeforderten Änderungen (Änderungen angefordert)). Wie in den Kommentaren zum PR erwähnt, möchte ich ihn diese Woche fertigstellen.
Es ist ein generisches System, aber der erste unterstützte Anwendungsfall werden Gruppen in einem Google Workspace sein. Sobald das System eingerichtet ist, wird die Unterstützung für zusätzliche Anbieter nicht allzu schwierig sein.
Ich habe diesen PR gerade zusammengeführt – vielen Dank für all deine Arbeit hier, @angus! Ich bin gespannt, wie dies in Zukunft genutzt und erweitert wird!
Ich habe die Website-Einstellung vorerst als „Experimentell“ gekennzeichnet, damit wir etwas Zeit haben, sie zu testen und sicherzustellen, dass alles reibungslos funktioniert. Sobald wir zuversichtlich sind und die Unterstützung für einige weitere Authentifizierungsanbieter hinzugefügt haben, werde ich sicher einen #feature:announcements-Thema für die Funktion erstellen.
Ich freue mich auch darauf, dass dies für andere Anmeldungen als Google OAuth2/OpenID verfügbar sein wird … gibt es ein Update, ob/wann diese Option verfügbar sein könnte?
Ich hoste Discourse derzeit selbst und verwende Authentik als meinen Identity Provider für die Authentifizierung. Was ich erreichen möchte, ist die automatische Synchronisierung von Benutzergruppen von Authentik mit bestimmten Gruppen in Discourse beim Login.
Aber… ich möchte sicherstellen, dass lokale Benutzer, die sich über den lokalen Registrierungsprozess von Discourse anmelden, nicht diesen spezifischen Gruppen zugewiesen werden, sondern stattdessen dem normalen Vertrauensstufenfortschritt folgen.
Wir haben unsere Authentifizierung von Atlassian Crowd (das in Discourse nicht mehr unterstützt wird) auf OpenID Connect (über Keycloak) migriert und wollten den Crowd-Gruppen-Mapping-Code, den wir vor einigen Jahren beigesteuert haben, im discourse-openid-connect-Plugin verwenden.
Wir hoffen, dass dies berücksichtigt und in den Mainline-Code übernommen wird, und wären bereit, Dokumentation oder Tests hinzuzufügen (wenn man uns auf eine Anleitung für die Tests hinweisen könnte – ich bin (noch) kein gebürtiger Ruby-Programmierer!).