[READ] Step 1: Are you in the right place?
I’m not sure that the root cause of this issue is, but this repo seems like the most likely culprit. Other possibilities: gRPC, firebase-tools, firebase-functions.
[REQUIRED] Step 2: Describe your environment
- Operating System version: macOS 15.7.4 (24G517)
- Firebase SDK version: 7.4.0
- Firebase Product: auth
- Python version: 3.11.15
- Pip version: uv 0.11.6
[REQUIRED] Step 3: Describe the problem
Steps to reproduce:
danielparks/firebase-emulator-auth-hang-up is minimal test repo with more exhaustive details including a workaround.
Within a Python cloud function that has grpc or firebase_admin.firestore imported, call an auth method, e.g. auth.create_user(...), or make a GET request to the auth endpoint, e.g. requests.get("http://127.0.0.1:9099/", timeout=1).
The function will fail with ECONNRESET (“Error: socket hang up”).
Relevant Code:
Simplified example (see the repo above for a functional example):
from firebase_admin import initialize_app
from firebase_functions import https_fn
import requests
import grpc
# or, import firebase_admin.firestore
initialize_app()
@https_fn.on_call()
def connect(req):
# Make a simple GET request to the auth emulator endpoint:
return repr(requests.get("http://127.0.0.1:9099/", timeout=1))
[READ] Step 1: Are you in the right place?
I’m not sure that the root cause of this issue is, but this repo seems like the most likely culprit. Other possibilities: gRPC, firebase-tools, firebase-functions.
[REQUIRED] Step 2: Describe your environment
[REQUIRED] Step 3: Describe the problem
Steps to reproduce:
danielparks/firebase-emulator-auth-hang-up is minimal test repo with more exhaustive details including a workaround.
Within a Python cloud function that has
grpcorfirebase_admin.firestoreimported, call anauthmethod, e.g.auth.create_user(...), or make a GET request to the auth endpoint, e.g.requests.get("http://127.0.0.1:9099/", timeout=1).The function will fail with
ECONNRESET(“Error: socket hang up”).Relevant Code:
Simplified example (see the repo above for a functional example):