使用过滤器参数为WoCoommerce API生成oauth-signature的问题

时间:2014-12-05 06:36:59

标签: ruby-on-rails oauth oauth-2.0 woocommerce woothemes

当我尝试使用 filter[limit] = 20 i always end up getting "Invalid Signature - provided signature does not match" 创建签名时,我正在尝试生成oauth-signature,但是当我排除过滤器[limit] = 20时,生成的签名有效并且要求运作良好。

下面是我用来生成签名的代码

def generate_oauth_signature(endpoint, params, method)
    base_request_uri = CGI::escape(@api_url.to_s + endpoint.to_s)
    query_params = []
    params.each { |key, value| query_params.push(CGI::escape(key.to_s) + "%3D" + CGI::escape(value.to_s)) }
    query_string = query_params.join("%26")
    string_to_sign = method.to_s + "&" + base_request_uri + '&' + query_string
    return Base64.strict_encode64(OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha256'), @consumer_secret, string_to_sign))
end

你能否就可能出现的问题提出建议,谢谢。

0 个答案:

没有答案