googleapis/java-storage

Allow to create presigned URLs using HMAC keys

Opened this issue · 1 comments

Is your feature request related to a problem? Please describe.
Currently com.google.cloud.storage.StorageImpl class allows to create a presigned URL using RSA algorithm. One can pass their own ServiceAccountSigner implementation (via StorageOptions.setCredentials()) but the algorithm name literal is deeply hard-coded as GOOG4-RSA-SHA256 (also in com.google.cloud.storage.SignatureInfo). It's not possible to efficiently reuse current code to sign URL via HMAC keys (https://cloud.google.com/storage/docs/authentication/signatures#signing-process).

Describe the solution you'd like
Allow to pass an algorithm via StorageOptions.

Describe alternatives you've considered
The only solution I see is to copy/fork all the code. Reflection seems to be too fragile.

Thank you for the Feature Request, I'll add it to our backlog. I'm not super familiar with what differences this would require in the client so I'm not able to provide an estimate on when we might be able to implement this.