Я работаю с django-piston, чтобы попытаться создать API, который поддерживает oAuth.«Недопустимая подпись»: поставщик oAuth с Django-piston
Я начал с использованием учебника по адресу:
http://blog.carduner.net/2010/01/26/django-piston-and-oauth/
Я добавил потребитель к интерфейсу администратора поршня с ключом и секретом, как установлено в «ABCD» для целей тестирования.
URL-адреса успешно подключены к сети и вызывается провайдер OAuth.
Однако выполнение моих тестов запросов маркеров получить с Tripit (питона get_request_token.py «http://127.0.0.1:8000/api» ABCD ABCD), я получаю следующее сообщение об ошибке:
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
Проблема, кажется, лежит внутри метода _check_signature от поршня oauth.py, где
valid_sig = signature_method.check_signature(oauth_request, consumer, token, signature)
возвращает false. Однако я не могу понять, как получить подпись, подтвержденную.
Любые идеи?
Update:
Если удалить тест потребителя от бэкэндом поршня, ответ возвращается правильно установлен на «Invalid потребитель», так это поиск, кажется, работает.
... еще одна проблема заключалась в расхождении между требуемым «/» в конце URL-адреса; дополнительный% 2F в запросе аннулирует подпись. –