Automatische Registrierung mit Discourse-ID fehlgeschlagen

Hallo,

frisch wie ein Neugeborener in der Diskurs-Welt und versuche, mich daran zu versuchen. Ich habe eine brandneue Debian-13-VM eingerichtet und einen benutzerdefinierten DNS-Eintrag über Cloudflare konfiguriert.

Ich habe die Einrichtung durchlaufen und dabei zunächst auf Let’s Encrypt und den gesamten Port-80-Callback gestoßen. Ich habe den Zertifizierungsprozess auf acme.sh verlagert und das samt dem Cloudflare-Vorlageeintrag erledigt.

Das Problem, auf das ich nun stoße, ist ein fehlgeschlagener Setup-Vorgang nach dem Deployment mit folgender Meldung:

enable_discourse_id: Die automatische Registrierung bei Discourse ID ist fehlgeschlagen. Dies könnte auf Probleme mit der Netzwerkkonnektivität, Firewall-Einschränkungen oder eine nicht erreichbare Discourse-ID-Dienst zurückzuführen sein. Bitte überprüfen Sie die Server-Protokolle für weitere Details oder wenden Sie sich an den Support.

Sie haben sich dafür entschieden, das Einrichten der E-Mail vorerst zu überspringen. Leider kann der Setup-Vorgang aufgrund der oben genannten Fehlermeldung nicht fortgesetzt werden. Bitte melden Sie dieses Problem unter meta.discourse.org.

Auf dieser VM steht der ausgehenden Kommunikation nichts im Wege, da sie aktualisiert wurde und die Konfiguration problemlos von extern bezogen werden konnte.

Ich habe die Container-Protokolle überprüft, und es gibt keinerlei Fehlermeldungen.

Interessanterweise kann ich nach der Basis-URL eine ungültige oder gültige URI hinzufügen und komme entweder zur Login-/Anmeldeseite oder zur üblichen 404-Seite, je nach Fall. Die Anmeldung und Ähnliches würde funktionieren, wenn SMTP konfiguriert wäre, doch das ist es nicht, und ich möchte mich eigentlich nicht damit herumschlagen.

Jede Information oder Unterstützung wäre willkommen, um herauszufinden, wie es weitergeht, um das Discourse-ID-Setup zu validieren/zu bestätigen und es funktionsfähig zu machen.

Warst du schon auf yoursite.com/logs? Dort wären die Fehler zu finden.

Ich habe das noch nicht, ich werde mir das ansehen.

Sieht nach einem HTTPS-Weiterleitungsfehler aus, aber ich bin mir sicher, dass ich HTTPS überall dort erzwingen, wo es erforderlich ist:

Discourse-ID-Registrierung fehlgeschlagen beim Schritt ‘/register’. Fehler: Anfrage an ‘/register’ fehlgeschlagen: 400
Fehler: {“errors”:[“Sie haben ungültige Parameter für die Anfrage angegeben: Die Weiterleitungs-URI muss HTTPS verwenden”],“error_type”:“invalid_parameters”}
Gerendertes Layout layouts/finish_installation.html.erb (Dauer: 16,5 ms | GC: 0,0 ms)
Abgeschlossen 200 OK in 654 ms (Ansichten: 17,9 ms | ActiveRecord: 0,0 ms (0 Abfragen, 0 zwischengespeichert) | GC: 0,0 ms)
GET “/” gestartet für am 2026-05-27 20:44:09 +0000
Verarbeitung durch FinishInstallationController#index als HTML
Discourse-ID-Registrierung fehlgeschlagen beim Schritt ‘/register’. Fehler: Anfrage an ‘/register’ fehlgeschlagen: 400
Fehler: {“errors”:[“Sie haben ungültige Parameter für die Anfrage angegeben: Die Weiterleitungs-URI muss HTTPS verwenden”],“error_type”:“invalid_parameters”}
Gerendertes Layout layouts/finish_installation.html.erb (Dauer: 35,0 ms | GC: 0,0 ms)
Abgeschlossen 200 OK in 507 ms (Ansichten: 36,2 ms | ActiveRecord: 0,0 ms (0 Abfragen, 0 zwischengespeichert) | GC: 0,0 ms)

Ich habe einmal über eine Einstellung zum Erzwingen von HTTPS im Admin-Bereich gelesen, sobald man Zugriff auf die Konsole hat, aber das ist ein Schritt, der über das hinausgeht, was ich derzeit erreichen kann.

Ja, force_https muss aktiviert sein. Sie können dies über das Einstellungsmenü aktivieren, ohne Zugriff auf die Konsole zu benötigen:

Vergessen Sie es, das funktioniert nicht, wenn Sie sich nicht auf der Website anmelden können. Haben Sie Zugriff auf die Rails-Konsole?

Ich habe Root-Zugriff auf die VM und den Docker-Container, weiß aber nicht, wie ich auf die Rails-Konsole zugreifen kann.

Entschuldigung, Korrektur: Die Rails-Konsole ist nicht erforderlich (obwohl Sie mit CLI-Zugriff darauf zugreifen können). Sie können Ihr Konto wie folgt erstellen:

cd /var/discourse # oder dorthin, wo Sie das `discourse_docker`-Repository abgelegt haben
./launcher enter app
rake admin:create

Moment, ich bin verwirrt. Du hast als Admin Zugriff auf die Seite? Ich habe das

so interpretiert, dass du keinen Admin-Zugriff hast, aber du hast gesagt, du könntest die Site-Logs einsehen.

Ich habe die Site-Logs aus der App/dem Container gelesen, so habe ich die oben genannten Redirect-Informationen ermittelt. Ich konnte über den Rake-Befehl ein Konto erstellen und dann als Admin in die Konsole wechseln, um HTTPS zu erzwingen. Das Setup scheiterte grundsätzlich und konnte wegen des Redirect-Problems nicht fortgesetzt werden, aber ich konnte kein Konto erstellen, um HTTPS zu erzwingen, da ich keinen SMTP-Server eingerichtet habe.

Alles scheint jetzt in Ordnung zu sein, obwohl auf der Anmeldeseite keine Option „Mit Discourse-ID anmelden“ vorhanden ist, wie ich erwartet hätte. Mein über Rake erstelltes Konto meldet sich jedoch problemlos an.

Ich musste es in den Admin-Einstellungen als Anmeldemethode aktivieren. Jetzt ist alles in Ordnung.

Sie können überprüfen, ob es auf yoursite.com/admin/config/login-and-authentication/discourse-id funktioniert. Sie können es auch testen, indem Sie hier Ihr eigenes Konto verbinden.

Wenn das Ihr Problem gelöst hat, markieren Sie es bitte als Lösung, damit andere Leute es in Zukunft wissen!