class SimpleApiAuth::Authenticator

Attributes

request[RW]
signer[RW]

Public Class Methods

new(request, secret_key, options = {}) click to toggle source
# File lib/simple-api-auth/authenticator.rb, line 7
def initialize(request, secret_key, options = {})
  self.request = SimpleApiAuth::Request.create(request)
  self.signer = SimpleApiAuth.config.signer.new
  @options = options
  @secret_key = secret_key
end

Public Instance Methods

valid_signature?() click to toggle source
# File lib/simple-api-auth/authenticator.rb, line 14
def valid_signature?
  return false unless check_data(request) && valid_time?(request)
  signed_request = signer.sign(request, @secret_key)
  SimpleApiAuth.log(Logger::DEBUG, "Signed request: #{signed_request}")
  SimpleApiAuth.log(Logger::DEBUG, "User signature: #{signature}")
  secure_equals?(signed_request, signature, @secret_key)
end

Private Instance Methods

headers() click to toggle source
# File lib/simple-api-auth/authenticator.rb, line 28
def headers
  request.headers
end
signature() click to toggle source
# File lib/simple-api-auth/authenticator.rb, line 24
def signature
  extract_signature(headers)
end