-
Notifications
You must be signed in to change notification settings - Fork 81
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
Set useDoubleURIEncode
to false
for S3 SigV4Config
#718
Comments
URLs being signed for S3 requests must be constructed with single URI-encoding of the canonical URI. Other services receive double URI-encoding. Our |
Also note that |
Fix for this issue is in #719 and will ship in the next release. It was also discovered that the SDK was improperly normalizing URL paths for requests to S3; though that is not related to this issue, it has been fixed as well. |
Shipped in https://github.com/awslabs/aws-sdk-swift/releases/tag/0.6.0, closing as completed. |
Describe the bug
We are facing an issue where the
presignURL
captured fromGetObjectInput
,PutObjectInput
andUploadPartInput
hasuseDoubleURIEncode
set totrue
which fails to upload to S3.Expected Behavior
The presignURL captured from the S3 Input objects should result in successful uploads.
Current Behavior
The presignURL results in a not authorized 403 error.
Reproduction Steps
Create a presignedURL form the input and use that to upload to S3 using URLSession.
Possible Solution
Set
useDoubleURIEncode
set tofalse
for S3 during SigV4 creation.Additional Information/Context
No response
AWS SWIFT SDK version used
0.5.0
Compiler and Version used
Xcode 14.1
Operating System and version
iOS 16.1
The text was updated successfully, but these errors were encountered: