Class: OnlinePayments::SDK::Authentication::V1HmacAuthenticator
- Inherits:
-
Authenticator
- Object
- Authenticator
- OnlinePayments::SDK::Authentication::V1HmacAuthenticator
- Defined in:
- lib/onlinepayments/sdk/authentication/v1hmac_authenticator.rb
Overview
Authenticates requests made to the Online Payments platform using V1Hmac.
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
- #get_authorization(http_method, resource_uri, request_headers) ⇒ Object
-
#initialize(communicator_configuration) ⇒ V1HmacAuthenticator
constructor
Constructs a new V1HmacAuthenticator instance using the provided CommunicatorConfiguration.
Constructor Details
#initialize(communicator_configuration) ⇒ V1HmacAuthenticator
Constructs a new V1HmacAuthenticator instance using the provided CommunicatorConfiguration.
26 27 28 29 30 31 32 33 |
# File 'lib/onlinepayments/sdk/authentication/v1hmac_authenticator.rb', line 26 def initialize(communicator_configuration) raise ArgumentError unless communicator_configuration.api_key_id and not communicator_configuration.api_key_id.strip.empty? raise ArgumentError unless communicator_configuration.secret_api_key and not communicator_configuration.secret_api_key.strip.empty? @api_key_id = communicator_configuration.api_key_id @secret_api_key = communicator_configuration.secret_api_key @authorization_type = communicator_configuration. end |
Instance Method Details
#get_authorization(http_method, resource_uri, request_headers) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/onlinepayments/sdk/authentication/v1hmac_authenticator.rb', line 38 def (http_method, resource_uri, request_headers) raise ArgumentError unless http_method && !http_method.strip.empty? raise ArgumentError unless resource_uri data_to_sign = to_data_to_sign(http_method, resource_uri, request_headers) "GCS #{@authorization_type}:#{@api_key_id}:#{create_auth_signature(data_to_sign)}" end |