Salut @balazsorban44, merci pour le rappel. J’ai fait une première passe de revue de la PR. Si l’auteur n’a pas le temps de travailler sur ces points, alors c’est probablement quelque chose que nous pouvons prendre en charge. Je suis d’accord, le support PKCE serait bien.
Cependant, il est bon de noter : je ne pense pas que Discourse soit vulnérable aux attaques « d’interception de code d’autorisation » que PKCE protège. L’authentification Discourse se fait toujours dans le navigateur via https, et n’utilise pas de schémas d’URL personnalisés au niveau du système d’exploitation qui peuvent être interceptés par d’autres applications.
Mais bien sûr, il n’y a aucun mal à ajouter cette couche de sécurité supplémentaire
@balazsorban44 merci de prendre cela en charge ! Je viens de fusionner la PR, nous avons donc maintenant la prise en charge PKCE en option dans le plugin
Salut Chris,
Comment as-tu intégré Authentik avec ce plugin ? Des éclaircissements seraient utiles. Nous avons du mal depuis quelques semaines à le faire fonctionner correctement.
Hmm, je ne me souviens de rien de spécial. Quel est votre problème exactement ? Voulez-vous partager des captures d’écran de votre configuration (peut-être par MP) ?
Merci de votre réponse Chris. Bien sûr. Je vous contacterai plus tard dans la semaine lorsque mon équipe de développement qui travaillait sur authentik sera disponible. Les principaux problèmes concernent le flux et l’outpost.
J’ai un problème intéressant, avant de déployer publiquement, je veux tester que tout fonctionne, donc mon fournisseur OIDC est hébergé localement (sous-réseau privé) et n’est pas accessible depuis Internet.
Malheureusement, cela échoue car Discourse ne permet pas de se connecter à des adresses IP privées. oidc.example.org se résout en une adresse IP privée.
OIDC Log: Fetching discovery document from https://oidc.example.org/application/o/discourse/.well-known/openid-configuration
OIDC Log: Fetching discovery document raised error Faraday::ConnectionFailed FinalDestination: all resolved IPs were disallowed
OIDC Log: Discovery document is
---
(oidc) Request phase initiated.
(oidc) Authentication failure! openid_connect_discovery_error: OmniAuth::OpenIDConnect::DiscoveryError, Discovery document is missing
Je pense que parce que openid_connect_discovery_document ne peut être modifié que par l’administrateur, il devrait être approuvé et autoriser même les adresses IP privées.
Il existe un paramètre de site appelé « allowed_internal_hosts ». Si vous ajoutez le nom d’hôte interne à cette liste, les requêtes vers celui-ci seront autorisées par le détecteur SSRF.
Dans les services d’hébergement partagé (comme l’hébergement officiel discourse.org), les administrateurs ne sont pas autorisés à effectuer des requêtes dans l’environnement d’hébergement, c’est pourquoi cette protection existe par défaut.
Désolé, mais je ne suis pas sûr de pouvoir suivre la consigne pour installer le plugin. Je fais fonctionner Discourse dans mon environnement Docker local, et je ne trouve pas vraiment de app.yml pour ajouter la configuration.
Ce peut être une question stupide, mais y a-t-il un guide pour l’installer dans un environnement de développement local ?
Pour un environnement de développement Docker, essayez de vérifier sous /var/discourse/containers/app.yml ?
Cependant, pour les installations de développement non-Docker, voir ici :
Lors d’une installation manuelle de bundle, je reçois ceci:
Message post-installation de oauth2:
Vous avez installé oauth2 version 1.4.11, qui est en fin de vie (EOL).
Aucune assistance supplémentaire n’est prévue pour la série 1.4.x.
Et des recommandations pour mettre à jour vers oauth2 version 2. Il serait beaucoup plus rassurant de ne pas avoir de tels messages, avez-vous des plans pour mettre à jour ?
Je reçois aussi:
Vous avez installé oauth version 1.1.0, félicitations !
Le support non commercial pour la série 1.x prendra fin d’ici avril 2025. Veuillez planifier la mise à jour vers la version suivante avant cette date.
La seule modification de rupture sera la suppression du support pour Ruby 2.7 et toute autre version qui aura également atteint sa fin de vie d’ici là.
Bonjour,
l’option Allow new registrations est strictement requise pour le fonctionnement du plugin. Cela permet de créer automatiquement le compte à la première connexion à discourse et affiche un bouton “register”. Mais serait-il possible d’en permettre la désactivation: c’est à dire ne pas laisser la possibilité à l’utilisateur se connectant via openidconnect de modifier ses parametres et créer directement son compte. cela permettrait de supprimer à l’affichage les boutons “register” qui n’ont pas lieu d’être dans ce contexte .
cordialement
Salut, as-tu pu configurer ça ? Je ne sais pas pourquoi je suis complètement bloqué là-dessus. Parmi les centaines d’applications que j’ai gérées avec OpenID ou l’authentification, c’est celle-ci qui me pose le plus de problèmes.