Description
Description:
Currently, the Firebase Storage Emulator does not fully support generateSignedPostPolicyV4.
When using this method in a local environment, it fails to route requests to the local emulator endpoint,
making it difficult to test authenticated direct uploads (POST) without hitting production buckets.
Example:
const [signedUrl] = await bucket.file(filePath).generateSignedPostPolicyV4({
expires: expirationTime,
conditions,
fields,
});I would like to propose adding support for generateSignedPostPolicyV4 within the Firebase Storage Emulator.
I have already implemented this feature and verified its functionality in a local environment.
Important Dependency Note:
This feature requires @google-cloud/storage version 7.20.0 or higher.
Previously (in v7.19.0 and below), there was an issue where STORAGE_EMULATOR_HOST was not correctly respected for certain signed URL operations.
I have personally contributed to the @google-cloud/storage library to fix this, and the fix was officially released in version 7.20.0.
Therefore, updating this dependency is a prerequisite for this feature.
I almost have the implementation ready and would like to submit a Pull Request to contribute this feature to firebase-tools.
Please let me know if there are any specific guidelines I should follow before opening the PR.
Activity
aalej commentedon May 12, 2026
Hey @7hokerz, thanks for opening up this report and for taking the initiative on working on the feature! For contribution guidelines, you can read through our CONTRIBUTING.md guide. Feel free to submit a PR whenever you're ready.
aalej commentedon Oct 30, 2026
I'll go ahead and close this issue as PR #10709(which contains the commits from #10490) has been merged. Thanks again for the contribution!