Ist es möglich, ein Sign in with Ghost Plugin für Discourse zu erstellen?

Vor anderthalb Jahren wurde die Discourse-Integration für Ghost angekündigt, die es Ghost-Mitgliedern ermöglicht, nahtlos auf das Forum der Website zuzugreifen, mit denselben Berechtigungen, die sie auf der Publikation haben. Ein „Nachteil“ der Integration ist, dass sie die Installation auf einem VPS erfordert, eine Aufgabe, die viele Benutzer von Ghost und/oder Discourse als etwas zu einschüchternd empfinden könnten (wie in den letzten Tagen im Forum von Ghost diskutiert wurde).

Hier im Forum von Discourse wurde vor ein paar Tagen Folgendes zur Integration der beiden Plattformen gesagt:

Während dies großartig wäre, könnte eine andere Option die Erstellung einer „gebrauchsfertigen“ Version sein, die mit Cloudflare Workers eingerichtet werden könnte. Dies würde zwar einige Hürden für Neulinge beseitigen, aber eine noch bessere Option wäre die Erstellung eines Discourse-Plugins, vorausgesetzt, so etwas ist überhaupt möglich. Angesichts der Tatsache, dass es bereits ein Mit Apple anmelden Plugin gibt, könnte dies darauf hindeuten, dass ein Mit Ghost anmelden Plugin technisch ebenfalls möglich wäre?

5 „Gefällt mir“

Es ist machbar, ja. Gibt es irgendwo Dokumentationen zur Konfiguration von Ghost als Identitätsanbieter? Wenn ja und wenn oAuth unterstützt wird, können Sie wahrscheinlich vorhandene Tools verwenden, um dies ohne dediziertes Plugin einzurichten.

4 „Gefällt mir“

Mir wurde gesagt: „Nein, Ghost ist nicht gerade als IDP konzipiert.“ Können Plugins also neue Endpunkte hinzufügen, um diesen Weg zu ermöglichen?

Bearbeiten:
Können Gruppen vom Plugin definiert werden, sodass (vorausgesetzt, Ghost sendet Webhooks) bei einer Änderung der Abonnenten eines Benutzers Gruppen synchronisiert werden können?

2 „Gefällt mir“

Die aktuelle Discourse-on-Ghost-Integration würde also nur die D-o-G-Funktionalität benötigen, um selbst gehostet zu werden, und nicht unbedingt Ghost. Da diese Integration DiscourseConnect verwendet, funktioniert sie ohne zusätzliche Konfiguration mit jeder Discourse-Installation, unabhängig davon, wie sie gehostet wird.

Dies würde erfordern, dass Discourse selbst gehostet wird. Welches Problem würde es also lösen? Die Last würde vom Selbsthosten eines relativ einfachen Ghost-Add-ons auf das Selbsthosten von Discourse verlagert.

4 „Gefällt mir“

Verdammt, in Ordnung, das war mir nicht bewusst, dass inoffizielle und benutzerdefinierte Plugins nur für Enterprise-Pläne verfügbar sind. Ich verstehe jetzt, was Sie meinen, wenn Sie sagen: „Die Last würde vom Self-Hosting eines relativ einfachen Ghost-Add-ons auf das Self-Hosting von Discourse verlagert werden.“ Das Problem ist, dass das Self-Hosting des „einfachen Add-ons“ für technisch Unbegabte zu mühsam sein mag, aber einige möchten vielleicht die Gewissheit haben, dass nichts in ihren Händen liegt und dass alle Operationen in den Händen der Kompetenteren sicher sind.

Wenn das alles so ist, @pmusaraj, da benutzerdefinierte Plugins nur für Enterprise-Pläne verfügbar sind, sind die einzigen Optionen in Bezug auf Plugins im Grunde die „Extremen“ – entweder Self-Hosting oder Enterprise? Ich verstehe vollkommen, warum benutzerdefinierte Plugins nicht für Starter-Pläne verfügbar wären, da Discourse Geld verdienen muss, um sich selbst zu erhalten, aber gäbe es hier vielleicht einen Mittelweg? Oder gibt es alternativ noch einen anderen Weg außer einem Plugin oder dem „Konfigurieren von Ghost als Identitätsanbieter“, der noch nicht angesprochen wurde?

2 „Gefällt mir“

Ich bin mir nicht sicher, wie realistisch das ist, aber die Ghost-Plattform könnte DiscourseConnect wahrscheinlich für ihre gehosteten Websites implementieren.

Eine andere Möglichkeit ist, dass ein offizielles Discourse Ghost-Plugin erstellt und zu den Plugins hinzugefügt wird, die auf gehosteten Discourse-Websites verfügbar sind.

Beide Fälle würden wahrscheinlich davon abhängen, ob eine beträchtliche Nachfrage nach Discourse/Ghost-Integration besteht.

1 „Gefällt mir“

Wenn es doch nur ein Unternehmen hust gäbe, das sowohl offizielle als auch inoffizielle Plugins auf erschwinglichen gehosteten Plänen anbietet :wink:

Aber im Ernst, ich denke, dass eine solche Lösung weithin verfügbar sein sollte und nicht von einem bestimmten Dienst abhängen sollte.

Es scheint, dass D-o-G eine JWT-Integration zu Ghost nutzt. Es gibt ein JWT-Plugin für Discourse (offiziell, aber nur im Enterprise-Plan?). Das könnte eine Richtung sein, die es wert ist, untersucht zu werden.

2 „Gefällt mir“

Ich bin nicht vertraut genug mit Ghost, um hier richtig beraten zu können, aber ich kann Folgendes sagen:

  • Unser empfohlener Ansatz ist die Verwendung bestehender Standards für die Authentifizierung, denn Sicherheit ist bei Konten und Anmeldungen von entscheidender Bedeutung. Zum Beispiel GitHub - discourse/discourse-oauth2-basic: A basic OAuth2 plugin for use with Discourse oder Discourse OpenID Connect (OIDC), verfügbar im Business-Tarif unseres offiziellen Hostings. Oder SAML für Unternehmen.
  • Angesichts der oben genannten Plugins glaube ich nicht, dass ein spezifisches Ghost-Auth-Plugin für Discourse erforderlich ist. Ghost müsste einen dieser Standards unterstützen, und sobald sie dies tun, benötigen Sie kein spezifisches Ghost-Plugin. Wir sind offen für eine Zusammenarbeit, aber mein Gefühl ist, dass Ghost die Hauptarbeit leisten müsste, indem es einige IDP-Funktionen zu seinem Angebot hinzufügt.
  • Der JWT-Weg ist ebenfalls eine Option, wie @RGJ bemerkte, das Plugin existiert und es kann wahrscheinlich so konfiguriert werden, dass es dasselbe tut wie der D-o-G-Intermediär. Es ist jedoch ein etwas veralteter Standard und wir empfehlen im Allgemeinen OAuth, OpenID, SAML oder DiscourseConnect.
4 „Gefällt mir“

Hallo, ich bin neu hier und habe mich in alle Threads zur Ghost-Discourse SSO-Integration eingelesen. Ich habe den gehosteten Ghost(Pro)-Tarif und möchte eine gehostete Discourse-Instanz mit SSO einrichten, wobei Ghost die Quelle der Wahrheit für die Benutzerauthentifizierung ist. Habe ich richtig verstanden, dass meine einzige Option derzeit darin besteht, die SSO-Middleware-App selbst zu hosten und sie selbst zum Laufen zu bringen?

Ihr erster Schritt sollte darin bestehen, Ghost zu fragen, ob sie als Identitätsanbieter über OAuth unterstützt werden. Ich kann aus einer schnellen Suche in ihrem Forum nicht genau erkennen, ob dies unterstützt wird oder nicht. Ich konnte diesen Beitrag vom April 2024 finden, der eine Erwähnung von OAuth enthält, bin mir aber nicht sicher, ob es darum geht, dass Ghost als Anmeldeanbieter fungiert (es könnte sein, dass Ghost etwas anderes als Anmeldeanbieter verwendet).

2 „Gefällt mir“

Das war mein erster Zug. Der Ghost-Support hat meine Feature-Anfrage registriert, aber im Grunde gesagt, dass sie nicht bald oder überhaupt passieren wird. Anstatt den Atem anzuhalten, habe ich einen Ingenieur engagiert, um DoG auf einem Droplet zu installieren. Es läuft perfekt, daher kann ich bestätigen, dass dies eine effektive Lösung ist. Ich verstehe die Unnachgiebigkeit des Ghost-Supports in dieser Angelegenheit nicht.

1 „Gefällt mir“