Funktioniert `sso overrides groups` mit Oauth2?

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?

1 „Gefällt mir“

Die Einstellung sso overrides groups funktioniert nicht mit OAuth2. Sie funktioniert nur mit der SSO-Implementierung von Discourse: Setup DiscourseConnect - Official Single-Sign-On for Discourse (sso). Wir arbeiten daran, Discourse SSO in DiscourseConnect umzubenennen, um Verwirrung bezüglich dieses Problems zu vermeiden.

1 „Gefällt mir“

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.

4 „Gefällt mir“

Wir haben also einige sehr frühe potenzielle Patches zur Implementierung von groups mit OAuth2:

:warning: 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.

3 „Gefällt mir“

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.

3 „Gefällt mir“

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 :warning: zu entfernen.

2 „Gefällt mir“

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.

Sobald Managing group membership via authentication - #14 by mattdm abgeschlossen ist, werden wir definitiv prüfen, wie wir es mit dem OAuth2-Plugin zum Laufen bringen können :slight_smile:

3 „Gefällt mir“

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?

1 „Gefällt mir“

Schön! Abgesehen davon, dass sie Dinge kaputt machen, funktionieren sie?

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?

1 „Gefällt mir“

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?

Hallo Leute! Ich kann euch gerne zu unserer Staging-OAuth2-Instanz hinzufügen. Würde das helfen?

1 „Gefällt mir“