Erweiterung der Header-Buttons

Hallo – wir haben ein etabliertes Discourse-Forum übernommen. Ich möchte die Funktionalität des Header-Buttons „Konto erstellen“ modifizieren.

Es ist mir gelungen, das Ember Chrome Plug-in zu installieren, das ich zur Inspektion der Buttons verwendet habe – es zeigte einen Pfad an:

​/​var​/​www​/​discourse​/​app​/​assets​/​javascripts​/​discourse​/​node_modules​/​.embroider​/​rewritten-app​/​components​/​header​/​auth-buttons.js

Ich bin mir nicht sicher, aber ich glaube, dass die zugehörige JS-Datei hier liegt?

Ich habe Zugriff auf das Admin-Panel des Forums, ich kann unter „Komponenten“ nach unten navigieren, aber ich sehe keinen Eintrag für diese Buttons. Ich habe einige verwendete „Test“-Komponenten gesehen, ich habe versucht, eine davon zu aktivieren und den Inhalt der Datei auth-buttons.gjs in den gemeinsamen Kopfbereich zu kopieren, aber als ich versuchte zu speichern, erhielt ich Fehler.

Meine Frage ist also: Wie kann ich die Funktionalität dieser Buttons erweitern und anpassen?

Vielen Dank im Voraus.

Hallo, was versuchen Sie mit diesen Schaltflächen zu tun?

Wir möchten, dass sich Benutzer über unsere Hauptseite registrieren – der Kontoeingang funktioniert dann für das Forum…

Sie sollten wirklich SSO verwenden. Discourse passt sich automatisch an Ihren SSO-Anbieter an, sobald dieser korrekt konfiguriert ist.

5 „Gefällt mir“

Wir nutzen bereits SSO – das Forum authentifiziert Benutzer über denselben Anbieter wie unsere Hauptseite. Wenn sich ein Benutzer jedoch für ein Forum-Konto registriert, möchten wir ihn einfach auf die Hauptseite weiterleiten – was ist der beste Weg, dies zu tun?

Sind Sie sich wirklich ganz sicher, dass Sie das tun wollen? Aus Nutzersicht versucht jemand, sie zu betrügen. Sie interessierten sich für ein Forum und finden sich nach der Registrierung woanders wieder.

1 „Gefällt mir“

Deaktiviere alle anderen Authentifizierungsmethoden (einschließlich lokaler Anmeldungen) und lasse nur SSO als Anmeldeoption übrig. Dies würde Benutzer automatisch zur Anmeldung auf deiner Hauptseite weiterleiten.

4 „Gefällt mir“

Wenn Sie es richtig einrichten, wird es meiner Meinung nach nach der Anmeldung zurückgeleitet?

Authentifizierung funktioniert – es ist der „Anmelden“-Button, den wir anpassen möchten, damit er zur Hauptseite führt …

Das ist, was ich oben vorgeschlagen habe.

2 „Gefällt mir“

Ich kann das bestätigen. Wenn richtig eingerichtet, führen die Standard-Anmelde- und Registrierungsbuttons zur Hauptseite. Sie müssen die Standard-Benutzeroberfläche nicht anpassen.

1 „Gefällt mir“

sollte es also irgendwo im Admin eine Option geben, bei der ich die externe URL für den Anmeldevorgang angeben kann?

Nein, diese Parameter werden von Ihrem SSO-Anbieter bereitgestellt. Discourse zeigt nur die Schaltfläche „Anmelden“ im Header an und leitet den Benutzer an Ihren vom SSO-Anbieter bereitgestellten Authentifizierungsendpunkt weiter.

Großartig, wenn… Ich habe ähnliche Lösungen schon zu oft gesehen. Hauptzweck ist dann, einen Benutzer dauerhaft zur Hauptseite zurückzuleiten, auf der der Verkauf stattfindet. Aber absolut gut, wenn der Zweck ähnlich ist wie bei Google, wo ein kurzer Umweg zur Autorisierung genommen wird und man dann zum Forum zurückkehrt.

1 „Gefällt mir“

Hallo :wave:

Hier ist eine Themenkomponente, mit der Sie eine benutzerdefinierte Anmeldeschaltfläche hinzufügen können. Ich habe sie gerade aktualisiert, damit sie mit den neuen Kernänderungen funktioniert.

Wenn lokale Anmeldungen deaktiviert sind, würde der Button also direkt zur SSO-Authentifizierung führen?

Ja. Das passiert, wenn SSO die einzige Authentifizierungsmethode ist.

1 „Gefällt mir“

Richtig, wenn SSO sich nur um die Authentifizierung kümmert, wie hilft es dann hier, wenn ich möchte, dass „Konto erstellen“ auf meine Hauptseite weitergeleitet wird?

Sobald SSO korrekt konfiguriert ist, wird es keinen Anmeldebutton mehr geben. Dann können Sie die Komponente verwenden, die @Don oben verlinkt hat, um einen benutzerdefinierten Kontoerstellungsbutton hinzuzufügen.