PnX-SI/UsersHub

[2.2.1] erreur : - The CSRF tokens do not match.

Splendens opened this issue · 17 comments

Bonjour,

Après la montée en version de Usershub en 2.2.1 (PnX-SI/GeoNature#1516), j'ai des problèmes pour réaliser certaines actions dans l'appli.

J'accède à UH et je me connecte sans problème, et je peux supprimer des entrées, Par contre, dès que je tente d'ajouter ou de modifier un utilisateur ou un organisme par exemple, il y a l'erreur - The CSRF tokens do not match. qui s'affiche dans un bandeau rouge.

J'ai bien essayé dans 2 navigateurs différents et dans des fenêtres de navigation privée au cas où cela puisse venir des cookies, mais cela n'a fait aucune différence.

Je ne vois pas d'erreur dans la console du navigateur (mais peut être que je ne regarde pas où il faut...). Quelqu'un a déjà eu un problème similaire ? Cela pourrait venir d'une mauvaise configuration (Apache et/ou Usershub) ?

Le CSRF c'est un truc de backend et il y a de forte chance qu'il vienne de WTForm.
Et dans ce cas il faudrait virer ou adapter cette protection à voir ici : exclude-views-from-protection

Si cela vient du backend, quelqu'un d'autre a également ce problème avec la dernière version de Usershub ?
Ou je suis seule et faut chercher autre part ?

Au cas où, j'ai tenté avec une installation neuve de GN 2.8.1 et UH 2.2.1, et il y a exactement le même problème.
Par contre, tout fonctionne bien lorsque UH est accessible sur une URL de type geonature.blabla.fr/usershub. Donc Usershub 2.2.1 ne fonctionne pas sur son propre sous domaine.

Bonjour,
L’application UsersHub fonctionne chez moi sans soucis avec la conf apache suivante :

<Location />
    ProxyPass http://127.0.0.1:5001/
    ProxyPassReverse http://127.0.0.1:5001/
</Location>

Et avec le configuration suivante :

URL_APPLICATION = 'http://mon-domaine.fr'
URLS_COR = ['http://mon-domaine.fr']

Êtes-vous sûr d’avoir correctement renseigné le paramètre URLS_COR ?

Pour URLS_COR, en fait j’ai l’impression que Flask-CORS n’est plus utilisé mais cela n’a été ni retiré des requirements, ni de la config ………

Utilisation de flask_cors retiré par d146b80
Je vais retirer le paramètre URLS_COR finalement.

Si cela vient du backend, quelqu'un d'autre a également ce problème avec la dernière version de Usershub ?
Ou je suis seule et faut chercher autre part ?

J'ai exactement le même soucis en 2.2.1

Avec les ajouts dans la documentation, avez-vous toujours des soucis ?
Sinon il nous faudrait votre configuration pour identifier ou reproduire le problème.

Oui, idem. Si tu parles de la conf apache, j'ai bien celle proposée.
Le soucis ressemble à ça : https://issueexplorer.com/issue/wtforms/flask-wtf/424
Ca marche en dev mais pas toujours en prod une fois déployé...

J'ai testé plusieurs valeur pour URLS_COR
URLS_COR = ["http://localhost:5000","http://localhost:5001","http://127.0.0.1:5001","https://usershub.mondomaine.fr","http://usershub.mondomaine.fr"]
Ca ne fonctionne pas

J'ai exploré cette piste maiss ans succès : https://nickjanetakis.com/blog/fix-missing-csrf-token-issues-with-flask

Je fais bien sudo systemctl restart usershub.service à chaque changement.

Je sèche...

Bonjour,
N’ayant pas reproduit de mon côté, pouvez-vous m’indiquer :

  • les URLs précises du backend qui lèvent cette erreur
  • vérifier dans le contenue de la requête la présence ou l’absence dans les paramètres d’une entrée csrf_token
  • décrire les étapes suivit pour reproduire l’erreur (se rendre sur telle page, cliquer sur tel bouton, etc.)
  • la valeur de URL_APPLICATION dans votre configuration UsersHub
  • votre configuration Apache
    Merci

Elie,
Je te transmets tout ça message privé.

Toujours pas reproduit … mais peut-être un soucis avec APPLICATION_ROOT peux-tu essayer avec la develop ou alors avec ce patch be24c57 ?

OK super.
Cette correction sera incluse dans la prochaine release de UsersHub, à venir bientôt.

Corrigé dans la version 2.2.2.