oAuth를 지원하는 API를 만들려고 장고 피스톤과 협력하고 있습니다. 내가 키와 비밀을 모두 테스트 용 "ABCD"로 설정하여 피스톤의 관리 인터페이스에 소비자를 추가"서명이 잘못되었습니다."o 장거리 피스톤이 장착 된 Auth 제공 업체
http://blog.carduner.net/2010/01/26/django-piston-and-oauth/
:
나는에서 튜토리얼을 사용하여 시작했다.URL이 성공적으로 유선 연결되고 oAuth 공급자가 호출됩니다.
그러나,가 Tripit (파이썬 get_request_token.py "http://127.0.0.1:8000/api"ABCD ABCD), 나는 다음과 같은 오류가 나타납니다 내 GET 요청 토큰 테스트를 실행 :
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가 반환됩니다. 그러나 서명 유효성을 검사하는 방법을 알아낼 수는 없습니다.
아이디어가 있으십니까?
업데이트 : 피스톤의 백엔드에서 테스트 소비자를 제거하면
가 반환 응답이 올바르게 "잘못된 소비자"로 설정, 그래서이 검색이 작동하는 나타납니다.
... 또 다른 문제는 URL 끝에 필수 "/"사이의 불일치입니다. 요청에 여분의 % 2F가 있으면 서명이 무효화됩니다. –