Skip to content

Clarify what makes URL browser incompatible #3019

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 9, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
* requiring access to Alice's credentials.
* <p/>
*
* <b>Signature Duration</b>
* <h2>Signature Duration</h2>
* <p/>
*
* Pre-signed requests are only valid for a finite period of time, referred to as the signature duration. This signature
Expand All @@ -70,7 +70,7 @@
* duration has passed will result in an access denied response from the service.
* <p/>
*
* <b>Example Usage</b>
* <h3>Example Usage</h3>
* <p/>
*
* <pre>
Expand Down Expand Up @@ -109,7 +109,7 @@
* </pre>
* <p/>
*
* <b>Browser Compatibility</b>
* <h2>Browser Compatibility</h2>
* <p/>
*
* Some pre-signed requests can be executed by a web browser. These "browser compatible" pre-signed requests
Expand All @@ -123,7 +123,24 @@
* being browser-compatible.
* <p />
*
* <b>Executing a Pre-Signed Request from Java code</b>
* <h3>Configurations that affect browser compatibility</h3>
* <h4>Enabling Checking Validation</h4>
* 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:
*
* <pre>
* S3Presigner presigner = S3Presigner.builder()
* .serviceConfiguration(S3Configuration.builder()
* .checksumValidationEnabled(false)
* .build())
* .build();
* </pre>
*
*
* <h2>Executing a Pre-Signed Request from Java code</h2>
* <p />
*
* Browser-compatible requests (see above) can be executed using a web browser. All pre-signed requests can be executed
Expand Down