Sha256: 57541ad4dc2a63029609fb2e2b3450fbb73f9ddf5532eb96aa2667408ecb9111
Contents?: true
Size: 1.2 KB
Versions: 7
Compression:
Stored size: 1.2 KB
Contents
=begin {{> api_info}} =end require 'openssl' module Dropbox end module Dropbox::Sign class EventCallbackHelper EVENT_TYPE_ACCOUNT_CALLBACK = "account_callback" EVENT_TYPE_APP_CALLBACK = "app_callback" # Verify that a callback came from HelloSign.com # # @param [String] api_key # @param [EventCallbackRequest] event_callback # @return bool def self.is_valid(api_key, event_callback) hash = OpenSSL::HMAC.hexdigest( "SHA256", api_key, "#{event_callback.event.event_time}#{event_callback.event.event_type}", ) return event_callback.event.event_hash === hash end # Identifies the callback type, one of "account_callback" or "app_callback". # "app_callback" will always include a value for "reported_for_app_id" # # @param [EventCallbackRequest] event_callback # @return string def self.get_callback_type(event_callback) metadata = event_callback.event.event_metadata || EventCallbackRequestEventMetadata.new if metadata.nil? || metadata.reported_for_app_id.nil? || metadata.reported_for_app_id.empty? return EVENT_TYPE_ACCOUNT_CALLBACK end return EVENT_TYPE_APP_CALLBACK end end end
Version data entries
7 entries across 7 versions & 1 rubygems