From f2e5d3ae81e550c4e95e3d793bf2e13b726b0d01 Mon Sep 17 00:00:00 2001 From: islamirgashev0 Date: Mon, 5 Dec 2022 22:27:56 +0500 Subject: [PATCH] README added --- README.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..23eb5ce --- /dev/null +++ b/README.md @@ -0,0 +1,76 @@ +# Cloudfront Signer Service for PHP + +[![Latest Stable Version](https://img.shields.io/packagist/v/rc4347/cloudfront-signer.svg)](https://packagist.org/packages/rc4347/cloudfront-signer) +[![Total Downloads](https://img.shields.io/packagist/dt/rc4347/cloudfront-signer.svg)](https://packagist.org/packages/rc4347/cloudfront-signer) + +This is a simple [PHP](https://php.net/) service for making it easy include the official +[AWS SDK for PHP](https://github.com/aws/aws-sdk-php) in your PHP applications. + +It's helps you to sign your files or resources. + +Jump To: +* [Getting Started](_#Getting-Started_) +* [More Resources](_#Resources_) + +## Getting Started + +### Installation +The PHP Service can be installed via [Composer](http://getcomposer.org) by requiring the +`rc4347/cloudfront-signer` package in your project's `composer.json`. + +```json +{ + "require": { + "rc4347/cloudfront-signer": "^0.0.2" + } +} +``` + +## Usage +```php +use RC4347\CloudFrontSigner\credentials\AccessConfig; +use RC4347\CloudFrontSigner\credentials\ClientConfig; +use RC4347\CloudFrontSigner\credentials\ExpireConfig; +use RC4347\CloudFrontSigner\SignedUrlService; + +# configuration +$client = new ClientConfig('latest', 'default', ''); +$expire = time() + 300; # returns 5 minutes +$access = new AccessConfig('', ''); # private key can get file or string +$resourceKey = 'https://.cloudfront.net/example/example.png'; +$config = new ExpireConfig($resourceKey, $expire); +# Execution +/** +* @returns string "https://.cloudfront.net/example/example.png?Expires=&Signature=&Key-Pair-Id=" + */ +$urlService = new SignedUrlService($config, $client, $access); +return $urlService->run(); +/** + * if policy param is empty it will be get default policy. +* @returns array|string [ + "CloudFront-Policy": , + "CloudFront-Signature": , + "CloudFront-Key-Pair-Id": + ] + */ +$policy = <<config->resourceKey}", + "Condition": { + "DateLessThan": {"AWS:EpochTime": {$this->config->expires}} + } + } + ] +} +POLICY; + +$cookieService = new SignedCookieService($config, $client, $access, $policy) # policy is optional +return $cookieService->run(); +``` + +## Resources +For more information: +* [AWS SDK for PHP on Github](http://github.com/aws/aws-sdk-php/) +* [AWS SDK for PHP website](http://aws.amazon.com/sdkforphp/) \ No newline at end of file