¿Cómo usar FIDO2 con Discourse detrás de un proxy inverso?

¿Alguien ha descubierto cómo usar FIDO2 con Discourse detrás de un proxy inverso? Estoy teniendo este problema usando la plantilla web.socketed.template.yml con un foro detrás de un Cloudflare Tunnel.

Ni el 2FA de Yubikey ni los nuevos inicios de sesión con Passkey me funcionan.

¿Está esto en un entorno de desarrollo? Es posible que necesites anular esta parte temporalmente:

Y también es probable que sea útil usar la bandera --forward-host al ejecutar el servidor, es decir, bin/ember-cli -u --forward-host.

No, esta es una instalación de producción.

¿Qué mensajes de error estás recibiendo?

¿Cuál es la URL completa de la solicitud fallida, /auth.json?

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

Ok, entonces tu servidor cree que no se está ejecutando en el nombre de host que solicita el navegador. El procedimiento de generación de claves de seguridad / contraseñas debe garantizar que el nombre de host del navegador coincida con el del servidor (las claves se generan por nombre de host).

¿Puedes iniciar sesión en tu consola de Rails y verificar cuál es la salida de Discourse.current_hostname? Si no coincide con la URL que usas para acceder al sitio, ese es el problema.

1 me gusta

Tenga en cuenta que esto también podría ser un problema de http frente a https. Veo que el logotipo busca una URL en http:// en su sitio.

1 me gusta

Discourse.current_hostname no coincide con la URL que uso para acceder al sitio. ¿Hay alguna forma de ver qué cree Discourse que es el nombre de host que mi navegador está solicitando?

1 me gusta

¿Qué obtienes para Discourse.base_url en la consola?

1 me gusta

Ah, eso está configurado en una URL http:// (con el nombre de host correcto). Estoy usando la configuración descrita aquí para hacer que Discourse sea accesible a Cloudflare Tunnel:

Oh, creo que lo entiendo. Habilitar la configuración force https en Discourse parece haberlo solucionado, no estoy seguro de por qué estaba desactivada. No creo que fuera necesaria en la configuración predeterminada antes de añadir otro proxy inverso delante de ella. ¡Gracias por tu ayuda!

3 Me gusta

Este tema se cerró automáticamente 30 días después de la última respuesta. Ya no se permiten nuevas respuestas.