Class: Uploadcare::Internal::SignatureGenerator
- Inherits:
-
Object
- Object
- Uploadcare::Internal::SignatureGenerator
- Defined in:
- lib/uploadcare/internal/signature_generator.rb
Overview
Generates HMAC-SHA256 signatures for signed uploads.
Used when config.sign_uploads is enabled to generate authentication
signatures for Upload API requests.
Class Method Summary collapse
-
.call(config: Uploadcare.configuration) ⇒ Hash
Generate signature params for signed uploads.
Class Method Details
.call(config: Uploadcare.configuration) ⇒ Hash
Generate signature params for signed uploads.
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/uploadcare/internal/signature_generator.rb', line 19 def self.call(config: Uploadcare.configuration) secret_key = config.secret_key.to_s lifetime = config.upload_signature_lifetime raise ArgumentError, 'secret_key is required for upload signature' if secret_key.empty? unless lifetime.is_a?(Integer) && lifetime.positive? raise ArgumentError, 'upload_signature_lifetime must be a positive Integer' end expires_at = Time.now.to_i + lifetime signature = OpenSSL::HMAC.hexdigest('sha256', secret_key, expires_at.to_s) { signature: signature, expire: expires_at } end |