У меня возникли некоторые проблемы при настройке oauth-провайдера с двухсторонней аутентификацией.
Я использую гем oauth-plugin и гем oauth, все работает нормально, за исключением моих запросов на обновление,Процесс проверки подписи продолжает терпеть неудачу.
Вот что я делаю:
В клиенте я использую
oauth = OAuth::AccessToken.new(OAuth::Consumer.new(app_key, app_secret, :site => @api_endpoint))
oauth.get("http://localhost/api/v1/users/1")
oauth.post("http://localhost/api/v1/users", {:email => "testemail@mysite.com"})
oauth.put("http://localhost/api/v1/users", {:tags => ["some", "new", "tags"]})
oauth.delete("http://localhost/api/v1/users/1")
получить, опубликовать и удалить всепройти проверку подлинности нормально, но обновление не удается.
На стороне сервера у меня установлен класс ClientApplication
def self.verify_request(request, options = {}, &block)
begin
signature = OAuth::Signature.build(request, options, &block)
return false unless OauthNonce.remember(signature.request.nonce, signature.request.timestamp)
value = signature.verify
value
rescue OAuth::Signature::UnknownSignatureMethod => e
false
end
end
signature.verify не выполняется на моих запросах на обновление и проходит на других 3Запросы.Кто-нибудь знает, что происходит?