Como usar FIDO2 com Discourse atrás de um proxy reverso?

Alguém já descobriu como usar FIDO2 com Discourse atrás de um proxy reverso? Estou tendo este problema usando o template web.socketed.template.yml com um fórum atrás de um Cloudflare Tunnel.

Nem o Yubikey 2FA nem os novos logins Passkey estão funcionando para mim.

Isso está em um ambiente de desenvolvimento? Talvez você precise substituir esta parte temporariamente:

E também é provável que seja útil usar a flag --forward-host ao executar o servidor, por exemplo, bin/ember-cli -u --forward-host.

Não, esta é uma instalação de produção.

Que mensagens de erro você está recebendo?

Qual é a URL completa da solicitação /auth.json que falhou?

Ah, não: /session/passkey/auth.json

Ok, então o seu servidor acha que não está rodando no nome do host que o navegador está solicitando. O procedimento de geração de chave de segurança / senha deve garantir que o nome do host do navegador corresponda ao do servidor (as chaves são geradas por nome de host).

Você pode fazer login no seu console Rails e verificar qual é a saída de Discourse.current_hostname? Se não corresponder à URL que você usa para acessar o site, esse é o problema.

1 curtida

Observe, isso também pode ser um problema de http vs https. Vejo que o logotipo está procurando um URL em http:// no seu site.

1 curtida

Discourse.current_hostname não corresponde à URL que uso para acessar o site. Existe uma maneira de ver o que o Discourse pensa que é o nome de host que meu navegador está solicitando?

1 curtida

O que você obtém para Discourse.base_url no console?

1 curtida

Ah, isso está configurado para uma URL http:// (com o nome de host correto). Estou usando a configuração descrita aqui para tornar o Discourse acessível ao Cloudflare Tunnel:

Ah, acho que entendi. Ativar a configuração force https no Discourse parece ter resolvido, não tenho certeza por que estava desativada. Não acho que era necessário na configuração padrão antes de adicionar outro proxy reverso na frente dele. Obrigado pela ajuda!

3 curtidas

Este tópico foi fechado automaticamente 30 dias após a última resposta. Novas respostas não são mais permitidas.