【问题标题】:Creating a signed URL - generated URL is missing signature创建签名 URL - 生成的 URL 缺少签名
【发布时间】:2018-12-31 17:51:18
【问题描述】:

我对使用 aws-sdk-php 非常陌生,我正在尝试为 Cloudfront 创建一个签名 URL(到 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 值”。也许我没有正确使用 SDK,但我不确定我做错了什么。我的私钥已经到位。

大部分代码来自我在 AWS 自己的文档中找到的内容。

有什么想法吗?

【问题讨论】:

    标签: amazon-s3 aws-php-sdk


    【解决方案1】:

    在对此进行更多挖掘后,我发现是私钥的文件权限阻止了 SDK 对 URL 进行签名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多