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 摘要。