[FR] Use firebase emulator for TenantManagementService
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 38/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- python
- Bereich
- authentication
Rechercherichtung
Lokalisieren Sie _TenantManagementService und dessen TENANT_MGT_URL, und verfolgen Sie anschließend zum Vergleich, wie FIREBASE_AUTH_EMULATOR_HOST behandelt wird. Prüfen Sie das bestehende Verhalten der Tenant-Verwaltung anhand des Firebase-Emulators und verifizieren Sie, dass die vorgeschlagene Einstellung FIREBASE_TENANT_EMULATOR_HOST die emulierten Tenant-Endpunkte unterstützt, ohne das Verhalten in der Produktion zu ändern.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Is your feature request related to a problem? Please describe.
Currently only the Auth client supports running against the firebase emulator when setting the FIREBASE_AUTH_EMULATOR_HOST environment variable. However when wanting to list for example tenants with TenantManagementService you cannot do that and it forcibly uses TENANT_MGT_URL = 'https://identitytoolkit.googleapis.com/v2'. The emulator itself however emulates some of these endpoints (like /projects/{project_id}/tenants) so some of those are supported.
Describe the solution you'd like
Add support for setting FIREBASE_TENANT_EMULATOR_HOST and use that in _TenantManagementService
Describe alternatives you've considered
Doing direct HTTP REST API calls to the emulator or extending the management service manually like
class EmulatedTenantManagementService(tenant_mgt._TenantManagementService):
TENANT_MGT_URL = (
f"http://{firebase_auth_emulator_host}/identitytoolkit.googleapis.com/v2"
)
def __init__(self, app: firebase_admin.App):
super().__init__(app)
credential = _utils.EmulatorAdminCredentials()
version_header = f"Python/Admin/{firebase_admin.__version__}"
base_url = f"{self.TENANT_MGT_URL}/projects/{app.project_id}"
self.client = _http_client.JsonHttpClient(
credential=credential,
base_url=base_url,
headers={"X-Client-Version": version_header},
)
app = firebase_admin.get_app()
service = EmulatedTenantManagementService(app)
app._services[tenant_mgt._TENANT_MGT_ATTRIBUTE] = service
- Vorherrschende Sprache
- Python
- Sterne
- 1.2k
- Forks
- 359
- Ø Merge
- 3 T. 9 Std.
- Gemergte PRs (30 T.)
- 3
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus firebase/firebase-admin-python
-
api: remoteconfig
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
firebase/firebase-admin-python#957 · 1 Kommentar ·
-
api: database type: feature request
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
firebase/firebase-admin-python#978 · 1 Kommentar ·
-
[FR] Support VERIFY_AND_CHANGE_EMAIL in generate_email_action_link (parity with firebase-admin-node) Offenapi: auth
firebase/firebase-admin-python#949 · 2 Kommentare · 1 Reaktion · 1 zugewiesene Person ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 43/100
firebase/firebase-admin-python#945 · 1 Kommentar · 1 Reaktion ·
Alle Issues in firebase/firebase-admin-python
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
xinnan-tech/xiaozhi-fde-talk#263 ·
-
rules
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
huggingface/Repo2RLEnv#163 · 1 Kommentar ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 95/100
huggingface/sentence-transformers#4074 ·
-
comp/dashboard invalid P3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
NousResearch/hermes-agent#121143 ·