Signs URLs for Bunny CDN using v2 token authentication.
The docs can be found at https://hexdocs.pm/bunny_cdn_signer.
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.
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.