Wie benutzt man FIDO2 mit Discourse hinter einem Reverse Proxy?

Hat jemand herausgefunden, wie man FIDO2 mit Discourse hinter einem Reverse-Proxy verwendet? Ich habe dieses Problem mit der Vorlage web.socketed.template.yml mit einem Forum hinter einem Cloudflare Tunnel.

Weder Yubikey 2FA noch die neuen Passkey-Logins funktionieren bei mir.

Befindet sich dies in einer Entwicklungsumgebung? Möglicherweise müssen Sie diesen Teil vorübergehend überschreiben:

Es ist auch wahrscheinlich hilfreich, die Option --forward-host beim Ausführen des Servers zu verwenden, d. h. bin/ember-cli -u --forward-host.

Nein, dies ist eine Produktionsinstallation.

Welche Fehlermeldungen erhalten Sie?

Was ist die vollständige URL der fehlgeschlagenen Anfrage, /auth.json?

Ah, nein: /session/passkey/auth.json

Ok, Ihr Server glaubt, dass er nicht auf dem Hostnamen läuft, den der Browser anfordert. Das Verfahren zur Generierung des Sicherheitsschlüssels/Passkeys muss sicherstellen, dass der Hostname des Browsers mit dem des Servers übereinstimmt (Schlüssel werden pro Hostname generiert).

Können Sie sich bei Ihrer Rails-Konsole anmelden und die Ausgabe von Discourse.current_hostname überprüfen? Wenn diese nicht mit der URL übereinstimmt, über die Sie auf die Website zugreifen, ist das das Problem.

1 „Gefällt mir“

Beachten Sie, dass dies auch ein Problem mit http vs. https sein könnte. Ich sehe, dass das Logo auf Ihrer Website nach einer URL unter http:// sucht.

1 „Gefällt mir“

Discourse.current_hostname stimmt mit der URL, die ich für den Zugriff auf die Website verwende, überein. Gibt es eine Möglichkeit zu sehen, was Discourse denkt, dass mein Browser anfordert?

1 „Gefällt mir“

Was erhalten Sie für Discourse.base_url in der Konsole?

1 „Gefällt mir“

Ah, das ist auf eine http://-URL (mit dem korrekten Hostnamen) gesetzt. Ich verwende die hier beschriebene Einrichtung, um Discourse für Cloudflare Tunnel zugänglich zu machen:

Oh, ich glaube, ich habe es. Das Aktivieren der Einstellung force https in Discourse scheint es behoben zu haben. Ich bin mir nicht sicher, warum sie deaktiviert war. Ich glaube nicht, dass sie in der Standardkonfiguration notwendig war, bevor ein weiterer Reverse-Proxy davor geschaltet wurde. Danke für deine Hilfe!

3 „Gefällt mir“

Dieses Thema wurde 30 Tage nach der letzten Antwort automatisch geschlossen. Neue Antworten sind nicht mehr möglich.