class GrapeAPISignature::AWSAuthorization

Attributes

access_key[RW]
credential_string[RW]
date[R]
region[R]
service[R]
signature[RW]
signed_headers[RW]

Public Class Methods

new(access_key, credential_string, signed_headers, signature) click to toggle source
# File lib/grape_api_signature/aws_authorization.rb, line 12
def initialize(access_key, credential_string, signed_headers, signature)
  self.access_key = access_key
  self.credential_string = credential_string
  self.signed_headers = signed_headers
  self.signature = signature
end

Public Instance Methods

credential_string=(credential_string) click to toggle source
# File lib/grape_api_signature/aws_authorization.rb, line 31
def credential_string=(credential_string)
  @credential_string = credential_string || (['NOT_PROVIDED'] * 4).join('/')
  (@date, @region, @service, _) = @credential_string.split('/', 4)
end
signed_headers=(signed_headers) click to toggle source
# File lib/grape_api_signature/aws_authorization.rb, line 27
def signed_headers=(signed_headers)
  @signed_headers = signed_headers.map(&:to_s).map(&:downcase).sort
end
signed_headers_str() click to toggle source
# File lib/grape_api_signature/aws_authorization.rb, line 36
def signed_headers_str
  signed_headers.join(';')
end
to_s() click to toggle source
# File lib/grape_api_signature/aws_authorization.rb, line 19
def to_s
  [
    "AWS4-HMAC-SHA256 Credential=#{access_key}/#{credential_string}",
    "SignedHeaders=#{signed_headers_str}",
    "Signature=#{signature}"
  ].join(', ')
end