identity_fn.AuthBlockingEvent is still missing auth_type and resource
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 84/100
Direção de pesquisa
Comece no dataclass AuthBlockingEvent em src/firebase_functions/identity_fn.py, ao lado dos campos adicionados pela #231 (event_type, email_type, sms_type). Derive as duas novas propriedades seguindo a lógica de parseAuthEventContext vinculada no Node: auth_type a partir da presença de user_record, resource a partir de tenant_id e do id do projeto. Pronto significa que o snippet de repro não lança mais AttributeError e que a suíte de testes existente de identity_fn passa, com cobertura tanto do caso com tenant quanto do caso sem tenant.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Summary
#231 added event_type, email_type, and sms_type to identity_fn.AuthBlockingEvent (thanks!). Two properties from the blocking functions doc are still missing, so code written from the doc fails on Python:
| Doc property | Node firebase-functions |
Python firebase-functions |
|---|---|---|
authType |
authType: "USER" | "UNAUTHENTICATED" |
not present |
resource |
resource: { service, name } |
not present |
Repro
from firebase_functions import identity_fn
@identity_fn.before_user_signed_in()
def handle(event: identity_fn.AuthBlockingEvent):
event.auth_type # AttributeError
event.resource # AttributeError
Checked against the AuthBlockingEvent dataclass on main (identity_fn.py) and in 0.6.0.
Where the values come from
The Node SDK derives both from the blocking token rather than reading dedicated claims, so Python can do the same. From parseAuthEventContext:
authTypeis"USER"when the token has auser_record, otherwise"UNAUTHENTICATED".resource.serviceisidentitytoolkit.googleapis.com, andresource.nameisprojects/<project-id>/tenants/<tenant_id>when the token has atenant_id, otherwiseprojects/<project-id>.
Context
First reported in firebase/functions-samples#1129 and in #224, which #231 partly addressed. I'm closing the samples issue in favor of this one, since the fix belongs in the SDK. Until then, the tenant is available as event.data.tenant_id.
- Linguagem predominante
- Python
- Estrelas
- 167
- Forks
- 36
- Merge médio
- 4d 3h
- PRs com merge (30d)
- 1
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de firebase/firebase-functions-python
-
HttpsError.__init__ does not pass message to super().__init__()Talvez já em andamento @Aayush99910 assumiu há 1 dia. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
firebase/firebase-functions-python#314 · 1 comentário ·
-
Add support for VPC direct connectTalvez já em andamento @IzaakGough assumiu há 106 dias. Abertafeature-request
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
firebase/firebase-functions-python#275 · 1 comentário · 1 reação ·
-
feature-request
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
firebase/firebase-functions-python#271 · 3 comentários ·
-
[Bug] stability_digest_payload_from_ce_payload fails with AttributeError: 'dict' object has no attribute 'split'Talvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Abertabug unable to reproduce
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
firebase/firebase-functions-python#260 · 6 comentários ·
-
feature-request
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
firebase/firebase-functions-python#249 · 2 comentários ·
Todas as issues de firebase/firebase-functions-python
Issues semelhantes
-
[Bug]: `graphify export svg` writes a graph.svg that is not well-formed XML when a label contains a control characterTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Graphify-Labs/graphify#4241 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
-
DeviceTrackerAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 63/100
XiaoMi/ha_xiaomi_home#1821 ·
Mantenedores costumam responder em até 1 dia
-
Maven path-index: "Ambiguous or noncanonical artifact path" error does not report the offending pathAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
pulp/pulp_maven#524 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia