module Signauth::Signature::Version1

Public Instance Methods

add_authorization!(credentials) click to toggle source
# File lib/signauth/signature/version_1.rb, line 6
def add_authorization!(credentials)
  params['access_key_id']     = credentials.access_key_id
  params['signature_version'] = version
  params['signature_method']  ||= 'HMAC-SHA-256'

  params.delete('signature')
  params['signature'] = signature(credentials)
  params
end
authenticate() { |access_key_id| ... } click to toggle source
# File lib/signauth/signature/version_1.rb, line 16
def authenticate(&block)
  raise ArgumentError, "Block required" unless block_given?

  access_key_id = params['access_key_id']
  raise Erros::MissingAccessKeyId, 'must provide access_key_id parameter' if access_key_id.nil?

  credentials = yield(access_key_id) 
  begin
    given = params.delete('signature')
    validate_signature(given, signature(credentials))
  ensure
    params['signature'] = given
  end
  true
end

Protected Instance Methods

algorhyzhm() click to toggle source
# File lib/signauth/signature/version_1.rb, line 38
def algorhyzhm
  params['signature_method']
end
version() click to toggle source
# File lib/signauth/signature/version_1.rb, line 34
def version
  "1"
end