Je travaille avec django-piston pour tenter de créer une API qui prend en charge oAuth."Signature non valide": fournisseur oAuth avec Django-piston
j'ai commencé à l'aide du didacticiel à:
http://blog.carduner.net/2010/01/26/django-piston-and-oauth/
J'ai ajouté un consommateur à l'interface d'administration de piston avec clé et secret à la fois réglé sur « ABCD » à des fins de test.
Les urls sont câblés avec succès, et le fournisseur OAuth est appelé.
Toutefois, l'exécution de mes obtenir des tests de jeton de demande avec TripIt (python get_request_token.py "http://127.0.0.1:8000/api" ABCD), je reçois l'erreur suivante:
Invalid signature. Expected signature base string: GET&http%3A%2F%2F127.0.0.1%3A8000%2Fapi%2Foauth%2Frequest_token%2F&oauth_consumer_key%3Dabcd%26oauth_nonce%3D0c0bdded5b1afb8eddf94f7ccc672658%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1275135410%26oauth_version%3D1.0
Le problème semble résider dans la méthode de _check_signature de ce piston oauth.py, où
valid_sig = signature_method.check_signature(oauth_request, consumer, token, signature)
renvoie false. Cependant, je ne peux pas déterminer comment valider la signature.
Des idées?
Mise à jour:
Si je retire le consommateur de test à partir du backend de piston, la réponse est retourné correctement réglé sur « consommateur non valide », cette recherche semble fonctionner.
... de plus, un autre problème était une différence entre un "/" requis à la fin de l'URL; l'extra% 2F dans la requête invalide la signature. –