firebase / firebase/firebase-admin-python

ECONNRESET connecting to Firebase auth emulator from functions emulator with grpc imported

未關閉
#945 1 則留言 1 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Python
星號
1.2k
分支
359
平均合併
5 天 6 分鐘
30 天內合併 PR
2

描述

### [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](https://github.com/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](https://github.com/danielparks/firebase-emulator-auth-hang-up) for a functional example):

```python
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))
```

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。