/bunny_cdn_signer

Elixir package to sign URLs on Bunny CDN using v2 token authentication

Primary LanguageElixir

Bunny CDN Signer

Signs URLs for Bunny CDN using v2 token authentication.

The docs can be found at https://hexdocs.pm/bunny_cdn_signer.

Installation

The package can be installed by adding bunny_cdn_signer to your list of dependencies in mix.exs:

def deps do
  [
    {:bunny_cdn_signer, "~> 0.1.1"}
  ]
end

Get your "Url Token Authentication Key" in the Security > Token Authentication settings for your pull zone. Set it up in your application config

config :bunny_cdn_signer, authentication_key: "auth_key_here"

Be sure to keep this secret either with a dev.secret.exs file or by using ENV variables.

Usage

Sign a URL to a resource in your pull zone:

BunnyCDNSigner.sign_url("https://example.com/file.txt")

Create a signed url in the directory format:

BunnyCDNSigner.sign_url("https://example.com/file.txt", directory: true)

Expiration defaults to 1 hour, but can be configured with the expiration option.

Be sure to check the docs for all the available options.