class Authmac::Authenticator
Public Class Methods
new(hmac_checker, timestamp_checker)
click to toggle source
# File lib/authmac.rb, line 32 def initialize(hmac_checker, timestamp_checker) @hmac_checker = hmac_checker @timestamp_checker = timestamp_checker end
Public Instance Methods
validate(params)
click to toggle source
# File lib/authmac.rb, line 37 def validate(params) ValidationResult.new(hmac: validate_hmac(params), timestamp: validate_timestamp(params)) end
Private Instance Methods
split_params(params)
click to toggle source
# File lib/authmac.rb, line 54 def split_params(params) hash = params.reduce({}) { |memo, (k,v)| memo[k.to_sym] = v; memo } hmac = hash.delete(:hmac) return [hash, hmac] end
validate_hmac(params)
click to toggle source
# File lib/authmac.rb, line 44 def validate_hmac(params) hash, hmac = split_params(params) @hmac_checker.validate(hash, hmac) end
validate_timestamp(params)
click to toggle source
# File lib/authmac.rb, line 49 def validate_timestamp(params) timestamp = params[:timestamp].to_i @timestamp_checker.validate(timestamp) end