module Azure::Push::Sas
Public Class Methods
sas_token(url, key_name, access_key, lifetime: 10)
click to toggle source
# File lib/azure/push/sas.rb, line 8 def self.sas_token(url, key_name, access_key, lifetime: 10) target_uri = CGI.escape(url.downcase).gsub('+', '%20').downcase expires = Time.now.to_i + lifetime to_sign = "#{target_uri}\n#{expires}" signature = CGI.escape(Base64.strict_encode64(OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha256'), access_key, to_sign))).gsub('+', '%20') token = "SharedAccessSignature sr=#{target_uri}&sig=#{signature}&se=#{expires}&skn=#{key_name}" end