Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ValueError avec des caractères interdits dans la recherche de membres par l'API #6444

Open
philippemilink opened this issue Jan 2, 2023 · 1 comment
Labels
C-API Concerne une API du site S-BUG Corrige un problème

Comments

@philippemilink
Copy link
Member

Rapporté par Sentry.

Aller sur la page http://127.0.0.1:8000/api/membres/?search=%s : on obtient une erreur ValueError at /api/membres/ -- Invalid hex encoding in query string..

@philippemilink philippemilink added S-BUG Corrige un problème C-API Concerne une API du site labels Jan 2, 2023
@philippemilink philippemilink moved this from À trier to À reproduire in Suivi des tickets Jan 2, 2023
@Situphen Situphen moved this from À reproduire to À traiter in Suivi des tickets Jan 2, 2023
@Situphen
Copy link
Member

Situphen commented Jan 2, 2023

On utilise Django Rest Framework pour l'API et Django OAuth Toolkit (dont le nom du paquet Python est oauth2_provider...) pour gérer l'authentification des membres. Django OAuth Toolkit utilise oauthlib pour l'implémentation de OAuth2.

Cette erreur est générée par oauthlib et un ticket a été ouvert chez eux (oauthlib/oauthlib#662) mais la responsabilité a été renvoyé à Django OAuth Toolkit.

Un ticket a donc été ouvert chez Django OAuth Toolkit (jazzband/django-oauth-toolkit#954) et un correctif a été fusionné (jazzband/django-oauth-toolkit#963). Le commit a été inclus dans la version 1.6.0 (https://github.com/jazzband/django-oauth-toolkit/blob/master/CHANGELOG.md#fixed-7) et on utilise la version 1.7.0 donc on ne devrait en théorie pas avoir cette remontée d'erreur.

L'erreur a été corrigée dans les fichiers oauth2_provider/backends.py et oauth2_provider/views/mixins.py mais dans notre cas l'erreur est remontée depuis le fichier oauth2_provider/oauth2_backends.py. Je suppose qu'ils ont dû oublier un cas d'usage ?

Il faudrait donc ouvrir un ticket chez eux pour que cela soit corrigé, mais avant cela il serait bien de mettre à jour Django OAuth Toolkit ! On utilise la version 1.7.0 alors que la dernière version est 2.2.0. Je n'ai pas l'impression que cela corrigerait le soucis que l'on rencontre mais il vaut mieux s'en assurer pour ne pas faire perdre du temps aux mainteneurs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-API Concerne une API du site S-BUG Corrige un problème
Projects
Status: Lié à une PR active
Development

No branches or pull requests

2 participants