src/CloudFront/CloudFrontClient.php
public function getSignedCookie(array $options)
    {
        foreach (['key_pair_id', 'private_key'] as $required) {
            if (!isset($options[$required])) {
                throw new \InvalidArgumentException("$required is required");
            }
        }

        $cookieSigner = new CookieSigner(
            $options['key_pair_id'],
            $options['private_key']
        );

        return $cookieSigner->getSignedCookie(
            isset($options['url']) ? $options['url'] : null,
            isset($options['expires']) ? $options['expires'] : null,
            isset($options['policy']) ? $options['policy'] : null
        );
    }
public function getSignedCookie(array $options)
    {
        foreach (['key_pair_id', 'private_key'] as $required) {
            if (!isset($options[$required])) {
                throw new \InvalidArgumentException("$required is required");
            }
        }

        $cookieSigner = new CookieSigner(
            $options['key_pair_id'],
            $options['private_key']
        );

        return $cookieSigner->getSignedCookie(
            isset($options['url']) ? $options['url'] : null,
            isset($options['expires']) ? $options['expires'] : null,
            isset($options['policy']) ? $options['policy'] : null
        );
    }
public function getSignedCookie ( array $ options ) { foreach ( [ 'key_pair_id' , 'private_key' ] as $ required ) { if ( ! isset ( $ options [ $ required ] ) ) { throw new \ InvalidArgumentException ( "$required is required" ) ; } } $ cookieSigner = new CookieSigner ( $ options [ 'key_pair_id' ] , $ options [ 'private_key' ] ) ; return $ cookieSigner -> getSignedCookie ( isset ( $ options [ 'url' ] ) ? $ options [ 'url' ] : null , isset ( $ options [ 'expires' ] ) ? $ options [ 'expires' ] : null , isset ( $ options [ 'policy' ] ) ? $ options [ 'policy' ] : null ) ; }
Create a signed Amazon CloudFront cookie.

This method accepts an array of configuration options:

- url: (string)  URL of the resource being signed (can include query
string and wildcards). For example: http://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes
- policy: (string) JSON policy. Use this option when creating a signed
URL for a custom policy.
- expires: (int) UTC Unix timestamp used when signing with a canned
policy. Not required when passing a custom 'policy' option.
- key_pair_id: (string) The ID of the key pair used to sign CloudFront
URLs for private distributions.
- private_key: (string) The filepath ot the private key used to sign
CloudFront URLs for private distributions.

@param array $options Array of configuration options used when signing

@return array Key => value pairs of signed cookies to set
@throws \InvalidArgumentException if url, key_pair_id, or private_key
were not specified.
@link http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithStreamingDistributions.html
Create a signed Amazon CloudFront cookie .