Module: Px::Service::Client::HmacSigning::ClassMethods
- Defined in:
- lib/px/service/client/hmac_signing.rb
Instance Method Summary collapse
-
#generate_signature(method, uri, query, body, timestamp) ⇒ Object
Generate a nonce that’s used to expire message after keyspan seconds.
Instance Method Details
#generate_signature(method, uri, query, body, timestamp) ⇒ Object
Generate a nonce that’s used to expire message after keyspan seconds
29 30 31 32 33 34 35 36 37 |
# File 'lib/px/service/client/hmac_signing.rb', line 29 def generate_signature(method, uri, query, body, ) secret = self.config.hmac_secret keyspan = self.config.hmac_keyspan nonce = ( - ( % keyspan)) + keyspan data = "#{method.capitalize},#{uri},#{query},#{body},#{nonce.to_s}" digest = OpenSSL::Digest.new('sha256') digest = OpenSSL::HMAC.digest(digest, secret, data) return Base64.urlsafe_encode64(digest).strip() end |