我在https://transloadit.com/docs/api-docs#auth-example尝试了这个例子。
p = JSON.generate({ auth: { expires: "2010/10/19 09:01:20+00:00", key: "2b0c45611f6440dfb64611e872ec3211"}, steps: { encode: { robot: "/video/encode" } } })
signature = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha1'), "d805593620e689465d7da6b8caf2ac7384fdb7e9", p)
结果是00320965b86d42b6d983d1fad3f126ee7385b962
但根据文档,它应该是6032b7b62879829941b84df5cfaebfe4644ab4e3
Ruby 代码是从https://transloadit.com/docs/api-docs#authentication-implementations借来的,在https://github.com/transloadit/ruby-sdk/blob/master/lib/ 似乎是一样的transloadit/request.rb#L200
PS:由于我只需要签名逻辑,我不想使用 Transloadit Ruby 或 Rails SDK。
我使用 Ruby 2.1.1 和 Rails 4.1