Я очень плохо знаком с использованием aws-sdk-php и пытаюсь создать подписанный URL-адрес для Cloudfront (для объекта в сегменте S3).Мой код выглядит следующим образом (с использованием aws-sdk-php):
function test_cloudfront_signed_url(){
require ABSPATH . 'vendor/autoload.php';
$cloudFront = new Aws\CloudFront\CloudFrontClient([
'region' => 'us-west-2',
'version' => 'latest'
]);
// Setup parameter values for the resource
$resourceKey = 'REDACTED';
$expires = time() + 300;
// Create a signed URL for the resource using the canned policy
$signedUrlCannedPolicy = $cloudFront->getSignedUrl([
'url' => $resourceKey,
'expires' => $expires,
'private_key' => '/path/to/key/REDACTED.pem',
'key_pair_id' => 'REDACTED'
]);
echo $signedUrlCannedPolicy;
}
URL генерируется, но всякий раз, когда я пытаюсь получить доступ к этому URL, я всегда получаю сообщение об ошибке, указывающее параметр запроса или файл cookie «Missing Signature»значение'.Возможно, я не использую SDK правильно, но я не уверен, что могу делать неправильно.Мой закрытый ключ на месте.
Большая часть этого кода взята из того, что я нашел в собственной документации AWS.
Есть идеи?