Message d'erreur confus/peu poli lors de l'utilisation de Discourse comme fournisseur SSO

Si vous ne configurez pas correctement le paramètre sso provider secrets lors de l’utilisation de Discourse en tant que fournisseur SSO, vous obtenez un message d’erreur générique 500 dans le navigateur et un message d’erreur confus dans les journaux :

TypeError (conversion implicite de nil en String) /var/www/discourse/lib/single_sign_on.rb:114:in `hexdigest’

Compte tenu du chemin de code suivi, cela semble être involontaire, et je pense que ce message d’erreur devrait être amélioré :

  • Dans les journaux, indiquer que le fournisseur SSO est mal configuré ou qu’une tentative non autorisée a été effectuée
  • Dans le navigateur, afficher un message d’erreur plus approprié (probablement HTTP 400 Bad Request ou 403 Forbidden)

Plus de détails ici (peut-être qu’un administrateur/modérateur peut déplacer ce post dans ce nouveau fil pour moi) :

Notez que cela s’inscrit dans le contexte du plugin wp-discourse pour WordPress, mais le problème n’a rien à voir spécifiquement avec ce plugin.

Voulez-vous dire le laisser vide ou y mettre des données erronées ?

Cela se produit si le paramètre est laissé vide (plus précisément, je pense que cela arrive chaque fois qu’il n’y a pas de secret pour le domaine associé à une demande SSO entrante).

Ah, si le paramètre est vide, je propose une meilleure erreur ici. @eviltrout, peux-tu le faire ou l’assigner ?

@Osama a fait cela et cela a été fusionné :

6 « J'aime »