From 44bac8dbc0ee40c57cbff124cb9c8a46c824d72f Mon Sep 17 00:00:00 2001 From: Victor LABORIE Date: Tue, 15 Oct 2024 20:55:04 +0200 Subject: [PATCH] Add support for session_token --- README.md | 1 + s3_storage_provider.py | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/README.md b/README.md index 8ba69b9..6f16288 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ media_storage_providers: endpoint_url: access_key_id: secret_access_key: + session_token: # Server Side Encryption for Customer-provided keys #sse_customer_key: diff --git a/s3_storage_provider.py b/s3_storage_provider.py index 8dfd137..e3ce7f4 100644 --- a/s3_storage_provider.py +++ b/s3_storage_provider.py @@ -81,6 +81,9 @@ class S3StorageProviderBackend(StorageProvider): if "secret_access_key" in config: self.api_kwargs["aws_secret_access_key"] = config["secret_access_key"] + if "session_token" in config: + self.api_kwargs["aws_session_token"] = config["session_token"] + self._s3_client = None self._s3_client_lock = threading.Lock() @@ -181,6 +184,9 @@ class S3StorageProviderBackend(StorageProvider): if "secret_access_key" in config: result["secret_access_key"] = config["secret_access_key"] + if "session_token" in config: + result["session_token"] = config["session_token"] + if "sse_customer_key" in config: result["extra_args"]["SSECustomerKey"] = config["sse_customer_key"] result["extra_args"]["SSECustomerAlgorithm"] = config.get(