class Azure::Core::Auth::Signer

Utility class to sign strings with HMAC-256 and then encode the signed string using Base64.

Attributes

access_key[R]

The access key for the account

Public Class Methods

new(access_key) click to toggle source

Initialize the Signer.

@param access_key [String] The access_key encoded in Base64.

# File lib/azure/core/auth/signer.rb, line 30
def initialize(access_key)
  if access_key.nil?
    raise ArgumentError, 'Signing key must be provided'
  end

  @access_key = Base64.decode64(access_key)
end

Public Instance Methods

sign(body) click to toggle source

Generate an HMAC signature.

@param body [String] The string to sign.

@return [String] a Base64 String signed with HMAC.

# File lib/azure/core/auth/signer.rb, line 43
def sign(body)
  signed = OpenSSL::HMAC.digest('sha256', access_key, body)
  Base64.strict_encode64(signed)
end