class Aws::CloudFront::UrlSigner


)
policy: policy.to_json
url = signer.signed_url(url,
)
private_key_path: “./cf_private_key.pem”
key_pair_id: “cf-keypair-id”,
signer = Aws::CloudFront::UrlSigner.new(
Allows you to create signed URLs for Amazon CloudFront resources

def signed_url(url, params = {})

Options Hash: (**params)
  • :policy (String) --
  • :expires (Time, DateTime, Date, String, Integer) --

Parameters:
  • url (String) --
def signed_url(url, params = {})
  scheme, uri = scheme_and_uri(url)
  signed_content = signature(
    resource: resource(scheme, uri),
    expires: time(params[:expires]),
    policy: params[:policy]
  )
  start_flag = URI.parse(uri).query ? '&' : '?'
  signature = signed_content.map{ |k, v| "#{k}=#{v}" }.join('&').gsub("\n", '')
  uri = "#{uri}#{start_flag}#{signature}"
  if scheme == 'rtmp'
    rtmp_url(URI(uri))
  else
    uri
  end
end