Ich möchte diese Funktion nutzen. Wir nutzen den Business-Hosted-Plan, daher steht uns SAML nicht zur Verfügung; wir verwenden stattdessen OAuth2/OpenID Connect. Ich glaube, ich habe alles korrekt konfiguriert (sso overrides groups ist aktiviert und oauth2 scope ist auf openid profile email https://id.fedoraproject.org/scope/groups gesetzt).
Ich bin etwas verwirrt darüber, wie Discourse den Begriff SSO verwendet und welche Optionen wo erscheinen. Allerdings nutzen wir sso overrides username, und das funktioniert. Sollte ich das auch hier erwarten?
Oje, das ist schade. Die Umbenennung wird definitiv helfen, Verwirrung zu vermeiden, aber sie hilft mir nicht weiter. Ist diese Einschränkung beabsichtigt oder wurde sie einfach noch nicht implementiert?
Die Einstellung verwendet einen separaten Codepfad als der, der bei OAuth2-Logins verwendet wird. Das Synchronisieren von Gruppen über OAuth2 wurde noch nicht implementiert. Die Möglichkeit, Discourse-Gruppen mit Gruppen von einer externen Website zu synchronisieren, hat viele Anwendungsfälle mit Discourse, sodass hoffentlich etwas in Zukunft implementiert werden kann. Derzeit ist Ihre einzige Option, die Gruppenmitgliedschaft über die API zu verwalten.
Wir haben also einige sehr frühe potenzielle Patches zur Implementierung von groups mit OAuth2:
Aber da wir den gehosteten Plan nutzen, haben wir keine schnelle Staging-Umgebung, in der wir sie testen könnten, sodass sie rein theoretisch sind. Wir werden versuchen, bald eine solche Umgebung einzurichten, aber es ist buchstäblich nicht die Hauptaufgabe von jemandem. Wenn also jemand anders helfen könnte, diese zu überprüfen und zu testen, wäre das toll.
Wenn du diese als PRs in unser Repository einreichst, werden wir sie prüfen. Eine Übernahme können wir nicht garantieren, aber zumindest wird eine Prüfung stattfinden.
Toll, danke. Ich werde versuchen, entweder einen lokalen Test oder einen anderen freundlichen Freiwilligen zu finden, um zunächst zu prüfen, ob sie funktionieren, und dann das zu entfernen.
Ich hatte bisher keine Zeit, daran zu arbeiten (oder jemanden zu finden, der das könnte…). Falls sich jemand, der das liest, beteiligen möchte, wäre das super.
Ich habe die oben verlinkten Änderungen bereitgestellt, und sie scheinen Discourse nicht beeinträchtigt zu haben. Gibt es eine Dokumentation dazu, wie man die Tests ausführt, damit ich überprüfen kann, dass die Änderungen nichts kaputtgemacht haben?
Kurz gesagt: Ich weiß es nicht, es sei denn, ich verwende ein Mock-System auf dem Fedora Accounts System (FAS) – oder ein anderes OIDC-System –, um es auszuprobieren. Ich wäre jedoch auch daran interessiert, zu lernen, wie man den Smoke-Test von Discourse verwendet, der anscheinend auf einem headless Chrome-Browser läuft, aber ich habe Schwierigkeiten, dazu irgendetwas zu finden.
Weiß jemand von Discourse, wo ich herausfinden kann, wie man einen Smoke-Test ausführt?
Könnte jemand von Fedora ein Mock-FAS-System zum Testen bereitstellen?
Hmmm. Das Fedora-Kontosystem ist … irgendwie groß. (Aber (seit dem großen Upgrade in diesem Jahr) läuft es im Hintergrund mit FreeIPA, sodass theoretisch jeder etwas Ähnliches erstellen könnte.)
Vielleicht könnten wir deine Test-Discourse-Instanz mit dem eigentlichen Fedora-Kontosystem verbinden?