Как отдельно создать предварительно заданный параметр запроса URL?

В настоящее время я создаю аутентифицированный URL как:

$this->s3Client = new S3Client($this->options);
$cmd = $this->s3Client->getCommand('GetObject', [
'Bucket' => $bucket_name,
'Key'    => $object_key
]);
$request = $this->s3Client->createPresignedRequest($cmd, PRESIGNED_URL_VALIDITY);
$presignedUrl = (string) $request->getUri();

Есть ли способ, которым я мог бы генерировать параметры запроса в аутентифицированном URL самостоятельно, не используя createPresignedRequest,

Мне нужно отдельно создать:

?X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=
&X-Amz-Date=20130721T201207Z
&X-Amz-Expires=86400
&X-Amz-SignedHeaders=host
&X-Amz-Signature=<signature-value>

и добавьте его к пути файла корзины, чтобы включить его в предварительно назначенный запрос.

2

Решение

Мне не совсем понятно, что вы подразумеваете под «генерацией параметров запроса в аутентифицированном URL самостоятельно». AWS использует OpenSSL иметь дело с генерированием подписей и созданием подписанных URL.

Вы можете создавать подписанные URL-адреса полностью без PHP, например, в командной строке Linux, используя openssl команда. Проверьте это для примера bash: https://github.com/gdbtek/aws-tools/blob/master/sign_s3_url.bash.

Вы также можете использовать PHP без S3Client для создания подписанных URL-адресов, используя PHP OpenSSL расширение и используя openssl_* функции.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]