qiniu / ruby-sdk

Qiniu Resource (Cloud) Storage SDK for Ruby
MIT License
164 stars 138 forks source link

callback验证 #129

Closed loveltyoic closed 7 years ago

loveltyoic commented 9 years ago

客户端直传,回调服务器接收回调请求时需要验证请求的有效性,好像没找到方法。 通过文档实现了一下

      def authenticate_callback(auth, body, path, secret_key, access_key)

        data = path + "\n" + body

        callback_access_key, encoded_data = auth[5..-1].split(":")

        return false if callback_access_key != access_key

        Base64.urlsafe_encode64(HMAC::SHA1.new(secret_key).update(data).digest) == encoded_data
      end
longbai commented 9 years ago

多谢,我们会尽快整合进来

loveltyoic commented 9 years ago

PS: http://blog.nathanielbibler.com/post/63031273/openssl-hmac-vs-ruby-hmac-benchmarks

用openssl的hmac实现要更快。能否替换一下,只是不知道ruby版本有限制没。

lilanjun2016 commented 7 years ago

谢谢,我们尽快整合过来。