kaliber-scala/play-s3

Choose S3 signer version

Closed this issue · 6 comments

Hi

Is it possible to choose the S3 signer version, my backend only support previous ATM

It should be possible. It requires a bit of work though. I probably do not have time to do it the next few weeks.

Would be awesome to have since riak cs does still not support AWS 4 authentication.
Anybody did work on this? @waxzce @EECOLOR?

My fork should support it, but it's ugly...
If it doesn't, i can push the crapy things we build on a project...

But the point is : using AWS sdk is more simple in this case

Thanks for the informations, @waxzce.
Using the AWS SDK is what I did to accomplish my works. Although play-s3 provides a neat api for s3, using the official supported one feels a little more safe and future proof.

It should be a lot easier to support in the 6.0.0 branch: https://github.com/Rhinofly/play-s3/tree/6.0.0

We might be able to use the old Aws3Signer for inspiration: https://github.com/Rhinofly/play-aws-utils/blob/v2.4.2/app/fly/play/aws/auth/Aws3Signer.scala

As you might have noticed, my time to work on this project is very limited

We are not going to add this feature.

If there is any interest in an Aws3Signer, feel free to contribute. The following files can be used as a starting point:

S3Signer.scala
S3SignerSpec
Signer

The interface to implement is: AwsSigner

Note that the S3Signer class should use composition instead of inheritance to support another signer.