module Px::Service::Client::HmacSigning::ClassMethods
Public Instance Methods
generate_signature(method, uri, query, body, timestamp)
click to toggle source
Generate a nonce that's used to expire message after keyspan seconds
# File lib/px/service/client/hmac_signing.rb, line 29 def generate_signature(method, uri, query, body, timestamp) secret = self.config.hmac_secret keyspan = self.config.hmac_keyspan nonce = (timestamp - (timestamp % 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