Class: Ingenico::Connect::SDK::DefaultImpl::DefaultAuthenticator
- Inherits:
-
Authenticator
- Object
- Authenticator
- Ingenico::Connect::SDK::DefaultImpl::DefaultAuthenticator
- Defined in:
- lib/ingenico/connect/sdk/defaultimpl/default_authenticator.rb
Overview
Authenticates requests made to the Ingenico ePayments platform using the HMAC algorithm.
Constant Summary collapse
- HMAC_ALGOR =
HMAC algorithm used to generate the signature
'SHA256'.freeze
- CONTENT_TYPE =
'Content-Type'.freeze
- DATE =
'Date'.freeze
- XGCS =
'x-gcs'.freeze
Instance Method Summary collapse
-
#create_simple_authentication_signature(http_method, resource_uri, http_headers) ⇒ String
Creates a signature to authenticate a request.
-
#initialize(authorization_type, api_key_id, secret_api_key) ⇒ DefaultAuthenticator
constructor
Construct a new DefaultAuthenticator instance that can sign requests with the provided api_key_id and secret_api_key.
Constructor Details
#initialize(authorization_type, api_key_id, secret_api_key) ⇒ DefaultAuthenticator
Construct a new DefaultAuthenticator instance that can sign requests with the provided api_key_id and secret_api_key.
24 25 26 27 28 29 30 31 32 |
# File 'lib/ingenico/connect/sdk/defaultimpl/default_authenticator.rb', line 24 def initialize(, api_key_id, secret_api_key) raise ArgumentError unless raise ArgumentError unless api_key_id and not api_key_id.strip.empty? raise ArgumentError unless secret_api_key and not secret_api_key.strip.empty? = @api_key_id = api_key_id @secret_api_key = secret_api_key end |
Instance Method Details
#create_simple_authentication_signature(http_method, resource_uri, http_headers) ⇒ String
Creates a signature to authenticate a request.
40 41 42 43 44 45 46 |
# File 'lib/ingenico/connect/sdk/defaultimpl/default_authenticator.rb', line 40 def create_simple_authentication_signature(http_method, resource_uri, http_headers) raise ArgumentError unless http_method and not http_method.strip.empty? raise ArgumentError unless resource_uri data_to_sign = to_data_to_sign(http_method, resource_uri, http_headers) "GCS #{@authorization_type}:#{@api_key_id}:#{create_auth_signature(data_to_sign)}" end |