class AWS::Core::Signers::Version3Https
@api private
Attributes
credentials[R]
@return [CredentialProviders::Provider]
Public Class Methods
new(credentials)
click to toggle source
@param [CredentialProviders::Provider] credentials
# File lib/aws/core/signers/version_3_https.rb, line 25 def initialize credentials @credentials = credentials end
Public Instance Methods
sign_request(req)
click to toggle source
@param [Http::Request] req @return [Http::Request]
# File lib/aws/core/signers/version_3_https.rb, line 34 def sign_request req parts = [] parts << "AWS3-HTTPS AWSAccessKeyId=#{credentials.access_key_id}" parts << "Algorithm=HmacSHA256" parts << "Signature=#{signature(req)}" req.headers['x-amzn-authorization'] = parts.join(',') req.headers['x-amz-security-token'] = credentials.session_token if credentials.session_token req end
Private Instance Methods
signature(req)
click to toggle source
@param [Http::Request] req
# File lib/aws/core/signers/version_3_https.rb, line 48 def signature req sign(credentials.secret_access_key, string_to_sign(req)) end
string_to_sign(req)
click to toggle source
@param [Http::Request] req
# File lib/aws/core/signers/version_3_https.rb, line 53 def string_to_sign req req.headers['date'] ||= Time.now.httpdate end