Comment utiliser FIDO2 avec Discourse derrière un proxy inverse ?

Quelqu’un a-t-il déjà trouvé comment utiliser FIDO2 avec Discourse derrière un proxy inverse ? Je rencontre ce problème en utilisant le modèle web.socketed.template.yml avec un forum derrière un Cloudflare Tunnel.

Ni la 2FA Yubikey ni les nouvelles connexions Passkey ne fonctionnent pour moi.

Est-ce sur un environnement de développement ? Vous devrez peut-être remplacer temporairement ce bout :

Il est également probable qu’il soit utile d’utiliser l’indicateur --forward-host lors de l’exécution du serveur, c’est-à-dire bin/ember-cli -u --forward-host.

Non, il s’agit d’une installation de production.

Quels messages d’erreur recevez-vous ?

Quelle est l’URL complète de la requête échouée, /auth.json ?

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

Ok, votre serveur pense qu’il ne fonctionne pas sur le nom d’hôte demandé par le navigateur. La procédure de génération de clé de sécurité / de mot de passe doit s’assurer que le nom d’hôte du navigateur correspond à celui du serveur (les clés sont générées par nom d’hôte).

Pouvez-vous vous connecter à votre console Rails et vérifier ce que renvoie Discourse.current_hostname ? S’il ne correspond pas à l’URL que vous utilisez pour accéder au site, c’est le problème.

1 « J'aime »

Notez que cela pourrait également être un problème de http par rapport à https. Je vois que le logo recherche une URL sous http:// sur votre site.

1 « J'aime »

Discourse.current_hostname ne correspond pas à l’URL que j’utilise pour accéder au site. Existe-t-il un moyen de voir ce que Discourse pense que mon navigateur demande comme nom d’hôte ?

1 « J'aime »

Qu’obtenez-vous pour Discourse.base_url dans la console ?

1 « J'aime »

Ah, c’est bien configuré sur une URL http:// (avec le bon nom d’hôte). J’utilise la configuration décrite ici pour rendre Discourse accessible à Cloudflare Tunnel :

Oh, je pense que j’ai compris. L’activation du paramètre force https dans Discourse semble l’avoir résolu, je ne suis pas sûr pourquoi il était désactivé. Je ne pense pas qu’il était nécessaire dans la configuration par défaut avant d’ajouter un autre proxy inverse devant. Merci pour votre aide !

3 « J'aime »

Ce sujet a été automatiquement fermé 30 jours après la dernière réponse. Les nouvelles réponses ne sont plus autorisées.