Sha256: fa4755935ff8c0cd0ec6dee93e384f4d22a1e82ee570dc6bfb74d5c740f1cc7c
Contents?: true
Size: 1009 Bytes
Versions: 19
Compression:
Stored size: 1009 Bytes
Contents
module Scrivito module BinaryParamVerifier InvalidSignature = Class.new(StandardError) class << self def verify(params) params = message_verifier.verify(params) expires = DateAttribute.deserialize_from_backend(params['expires']) raise InvalidSignature if expires && expires < Time.zone.now Binary.new(params['binary_id'], expires.nil?, transformation_definition: params['transformation_definition']) rescue ActiveSupport::MessageVerifier::InvalidSignature raise InvalidSignature end def generate(binary) params = {binary_id: binary.id, transformation_definition: binary.transformation_definition} if binary.private? params[:expires] = DateAttribute.serialize_for_backend(Time.zone.now + 1.hour) end message_verifier.generate(params) end private def message_verifier ActiveSupport::MessageVerifier.new( Rails.application.secrets.secret_key_base, serializer: JSON) end end end end
Version data entries
19 entries across 19 versions & 1 rubygems