Class: Imglab::Signature
- Inherits:
-
Object
- Object
- Imglab::Signature
- Defined in:
- lib/imglab/signature.rb
Class Method Summary collapse
-
.generate(source, path, encoded_params = nil) ⇒ String
Returns a generated signature for a source, path and encoded parameters.
Class Method Details
.generate(source, path, encoded_params = nil) ⇒ String
Returns a generated signature for a source, path and encoded parameters.
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/imglab/signature.rb', line 11 def self.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 hmac = OpenSSL::HMAC.digest(OpenSSL::Digest.new("sha256"), decoded_secure_key, data) Base64.urlsafe_encode64(hmac).tr("=", "") end |