diff --git a/services/s3/src/main/java/software/amazon/awssdk/services/s3/presigner/S3Presigner.java b/services/s3/src/main/java/software/amazon/awssdk/services/s3/presigner/S3Presigner.java index 802f516b557e..29113edff7fe 100644 --- a/services/s3/src/main/java/software/amazon/awssdk/services/s3/presigner/S3Presigner.java +++ b/services/s3/src/main/java/software/amazon/awssdk/services/s3/presigner/S3Presigner.java @@ -61,7 +61,7 @@ * requiring access to Alice's credentials. *

* - * Signature Duration + *

Signature Duration

*

* * Pre-signed requests are only valid for a finite period of time, referred to as the signature duration. This signature @@ -70,7 +70,7 @@ * duration has passed will result in an access denied response from the service. *

* - * Example Usage + *

Example Usage

*

* *

@@ -109,7 +109,7 @@
  * 
*

* - * Browser Compatibility + *

Browser Compatibility

*

* * Some pre-signed requests can be executed by a web browser. These "browser compatible" pre-signed requests @@ -123,7 +123,24 @@ * being browser-compatible. *

* - * Executing a Pre-Signed Request from Java code + *

Configurations that affect browser compatibility

+ *

Enabling Checking Validation

+ * If checksum validations are enabled, the presigned URL will no longer be browser compatible because it adds a signed header + * that must be included in the HTTP request. + * + * Checksum validation is disabled in the presigner by default, but when using a custom {@link S3Configuration} when enabling + * features like path style access or accelerate mode, it must be explicitly disabled: + * + *
+ *         S3Presigner presigner = S3Presigner.builder()
+ *                                            .serviceConfiguration(S3Configuration.builder()
+ *                                                                                 .checksumValidationEnabled(false)
+ *                                                                                 .build())
+ *                                            .build();
+ * 
+ * + * + *

Executing a Pre-Signed Request from Java code

*

* * Browser-compatible requests (see above) can be executed using a web browser. All pre-signed requests can be executed