Download the PHP package benjamin-smith/craft-awscloudfront-private-content without Composer
On this page you can find all versions of the php package benjamin-smith/craft-awscloudfront-private-content. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download benjamin-smith/craft-awscloudfront-private-content
More information about benjamin-smith/craft-awscloudfront-private-content
Files in benjamin-smith/craft-awscloudfront-private-content
Package craft-awscloudfront-private-content
Short Description Create CloudFront signed URLs on the fly to protect your assets.
License
Informations about the package craft-awscloudfront-private-content
AWS CloudFront Private Content for Craft CMS
Create CloudFront signed URLs on the fly to protect your assets.
Overview
This plugin utilizes the AWS Cloudfront API to generate signed URLs. For an overview on serving private content via AWS CloudFront, read the how-to guide on Amazon.
You can limit access to static assets via,
- setting an expiration date on the URL
- locking the URL down to IP addresses of the end-user
Requirements
- PHP 5.5+
- an AWS CloudFront distribution, configured to serve private content
- CloudFront Key Pair private key file (AWS docs)
Installation
To install, follow these steps:
1) Install with Composer (recommended)
-OR- download & unzip the file and place the awscloudfront
directory into your craft/plugins
directory
-OR- do a git clone https://github.com/benjamin-smith/craft-awscloudfront-private-content.git
directly into your craft/plugins
folder. You can then update it with git pull
2) Place your CloudFront Key Pair private key in craft/storage/awscloudfront/cloudfront.pem
.
3) Install plugin in the Craft Control Panel under Settings > Plugins
Configuring
Create a config file in craft/config/awscloudfront.php
with the following settings:
Then create a sample "policy" in the plugin settings menu. You can configure the expiration time and whether or not to restrict access to URLs based on IP address. You can have multiple policies, and choose which to use with each URL that is generated.
Using
This plugin creates a signed URL from a non-signed CloudFront URL. For example, if your resource is:
https://example-distribution.cloudfront.net/path/to/file.pdf
Your template tag would be:
Or, you can generate a signed URL from a custom plugin:
Roadmap
- tighter integration with Craft Assets
- ability to configure multiple CloudFront distributions
- ability to use signed cookies to make content private