Module: Imglab::Signature
Instance Method Summary collapse
-
#generate(source, path, encoded_params = nil) ⇒ String
Returns a generated signature for a source, path and encoded parameters.
Instance Method Details
#generate(source, path, encoded_params = nil) ⇒ String
Returns a generated signature for a source, path and encoded parameters.
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/imglab/signature.rb', line 13 def generate(source, path, encoded_params = nil) decoded_secure_key = Base64.decode64(source.secure_key) decoded_secure_salt = Base64.decode64(source.secure_salt) data = "#{decoded_secure_salt}/#{path}" data = encoded_params ? "#{data}?#{encoded_params}" : data digest = OpenSSL::HMAC.digest(OpenSSL::Digest.new("sha256"), decoded_secure_key, data) Base64.urlsafe_encode64(digest).tr("=", "") end |