Создание подписанного URL - в сгенерированном URL отсутствует подпись - PullRequest
0 голосов
/ 31 декабря 2018

Я очень плохо знаком с использованием 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.

Есть идеи?

1 Ответ

0 голосов
/ 31 декабря 2018

После еще одного исследования я обнаружил, что именно права доступа к файлу для закрытого ключа мешали SDK подписать URL-адрес.

...