From 6b4c859a416ae4b29f21ef5104c811bb6afef2a1 Mon Sep 17 00:00:00 2001 From: Hector Valcarcel Date: Thu, 6 Feb 2025 15:43:47 +0100 Subject: feat(object_store): Add support for session token in AWS credentials - Pass session token, either null or with value, to the AWS Credentials constructor Signed-off-by: Hector Valcarcel --- lib/private/Files/ObjectStore/S3ConnectionTrait.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib/private/Files/ObjectStore') diff --git a/lib/private/Files/ObjectStore/S3ConnectionTrait.php b/lib/private/Files/ObjectStore/S3ConnectionTrait.php index 65fc61ffa77..7ddf2abed1d 100644 --- a/lib/private/Files/ObjectStore/S3ConnectionTrait.php +++ b/lib/private/Files/ObjectStore/S3ConnectionTrait.php @@ -128,7 +128,7 @@ trait S3ConnectionTrait { $logger->debug('Bucket "' . $this->bucket . '" This bucket name is not dns compatible, it may contain invalid characters.', ['app' => 'objectstore']); } - + if ($this->params['verify_bucket_exists'] && !$this->connection->doesBucketExist($this->bucket)) { try { $logger->info('Bucket "' . $this->bucket . '" does not exist - creating it.', ['app' => 'objectstore']); @@ -185,10 +185,12 @@ trait S3ConnectionTrait { return function () { $key = empty($this->params['key']) ? null : $this->params['key']; $secret = empty($this->params['secret']) ? null : $this->params['secret']; + $sessionToken = empty($this->params['session_token']) ? null : $this->params['session_token']; if ($key && $secret) { return Create::promiseFor( - new Credentials($key, $secret) + // a null sessionToken match the default signature of the constructor + new Credentials($key, $secret, $sessionToken) ); } -- cgit v1.2.3