googleapis / googleapis/google-cloud-java
[java-storage] Allow to create presigned URLs using HMAC keys
- Dominant language
- Java
- Stars
- 2.1k
- Forks
- 1.2k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 154
Description
**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.
Contributor guide
Assessment
This issue has not been assessed yet.