-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[AWS::S3] Support for custom query parameters in presigned URLs #1384
Comments
So, this sounds like this boils down to adding custom signed headers to a presigned URL, that are unrelated to the S3 call itself, is that right? |
Custom signed query parameters, as opposed to headers, but yes. Example:
|
PR #1477 is opened that supports this feature, tracking this feature request in that PR : ) |
That PR request looked like it was for JS. Is there anything for Ruby on this? We create URL's that lead to applets that use the parameter data to seed their responses ( such as the user_id, endpoint, etc. ). Since we've upgraded to V3, this breaks with |
Proposal for Feature
I would propose to allow, and to add to the signed parameters, any parameter which begins with an
x-
, but notx-aws
. This allows custom parameters, while preventing collision with any of the AWS parameters.Example:
Use Case
I wish to add a custom parameter to those which are used to create the signature. This would allow the identification of individual URLs in the S3 access logs, allowing us to assert whether or not a user has successfully completed download of a file.
What We've Tried
We tried adding various keys to the
params
argument of theAws::S3::Presigner#presigned_url
, all of which cause the parameter checking to raise an error.It appears that only the following keys are allowed by the parameter checking:
Notes
I had a look at
types.rb
in theaws-sdk-core
gem. It appears that the definition ofGetObjectRequest
would not allow such custom fields to be defined. I am therefor not sure how such a feature would be implemented. Perhaps someone more familiar with the code could suggest an implementation.The text was updated successfully, but these errors were encountered: