Allow connecting the web client to HTTPS-hosted emulators (for Web Push testing & more)
Allow connecting the web client to HTTPS-hosted emulators (for Web Push testing & more)
Browsers nowadays require HTTPS-hosted sites to use some privileged features, like Web Push. HTTPS-hosted sites also typically can not request HTTP content from APIs ("protocol downgrade" errors).
Most Firebase Emulators are not built to work with HTTPS, which puts up a big obstacle to test HTTPS-enabled features on external devices (e.g. test locally-hosted Web Push server code on an external Android phone).
Server-side: Firebase emulators don't offer ways to be served over HTTPS, but tools like ngrok or a local HTTPS proxy offer simple workarounds for this.
Client-side: the Firebase JS web client also does not allow connecting to Firestore, Storage and Functions emulators over HTTPS. HTTP is forced. Only the Auth emulator can connect to a HTTPS host.
It would be great if support were added for connecting to HTTPS-hosted emulators.
A built-in integration with self-signed certificates for hosting emulators over HTTPS would also be nice, but that is something that developers can more easily work around themselves if needed, as mentioned.
See details and more context here https://github.com/firebase/firebase-tools/issues/1908#issuecomment-1677219899