[FR] Use firebase emulator for TenantManagementService
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 38/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- authentication
Piste de recherche
Repérez _TenantManagementService et son TENANT_MGT_URL, puis examinez comment FIREBASE_AUTH_EMULATOR_HOST est pris en charge à des fins de comparaison. Vérifiez le comportement existant de la gestion des tenants avec l’émulateur Firebase et assurez-vous que le paramètre proposé FIREBASE_TENANT_EMULATOR_HOST prend en charge les endpoints de tenants émulés sans modifier le comportement en production.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Python
- Étoiles
- 1.2k
- Forks
- 359
- Merge moyen
- 5 j 6 min
- PR mergées (30 j)
- 2
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de firebase/firebase-admin-python
-
api: remoteconfig
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
firebase/firebase-admin-python#957 · 1 commentaire ·
-
api: database type: feature request
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
firebase/firebase-admin-python#978 · 1 commentaire ·
-
[FR] Support VERIFY_AND_CHANGE_EMAIL in generate_email_action_link (parity with firebase-admin-node) Ouverteapi: auth
firebase/firebase-admin-python#949 · 2 commentaires · 1 réaction · 1 personne assignée ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 43/100
firebase/firebase-admin-python#945 · 1 commentaire · 1 réaction ·
Toutes les issues de firebase/firebase-admin-python
Issues similaires
-
货币战争手改优先级配置缺少列表元素类型校验(P3) Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
syfoud/Simulated_Scepter#172 ·
-
A cancelled tests run makes the coverage comment workflow fail and reports it as a red check on main Ouvertearea: ci bug perceived difficulty: 3
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Nitjsefnie-Harness-Commons/daedalus#921 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
EleutherAI/lm-evaluation-harness#4207 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
ClickHouse/clickhouse-connect#1057 ·