identity_fn.AuthBlockingEvent is still missing auth_type and resource
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 84/100
Rechercherichtung
Beginne beim AuthBlockingEvent-Dataclass in src/firebase_functions/identity_fn.py, neben den von #231 hinzugefügten Feldern (event_type, email_type, sms_type). Leite die beiden neuen Properties ab, indem du der verlinkten Node-Logik von parseAuthEventContext folgst: auth_type aus der Anwesenheit von user_record, resource aus tenant_id und der Projekt-ID. Als fertig gilt, dass der Repro-Snippet keinen AttributeError mehr wirft und die bestehende Testsuite für identity_fn mit Abdeckung sowohl des Tenant- als auch des Non-Tenant-Falls besteht.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Python
- Sterne
- 167
- Forks
- 36
- Ø Merge
- 4 T. 3 Std.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
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-functions-python
-
HttpsError.__init__ does not pass message to super().__init__()Evtl. vergeben @Aayush99910 hat das vor 4 Tagen übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
firebase/firebase-functions-python#314 · 1 Kommentar ·
-
Add support for VPC direct connectEvtl. vergeben @IzaakGough hat das vor 109 Tagen übernommen. Offenfeature-request
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
firebase/firebase-functions-python#275 · 1 Kommentar · 1 Reaktion ·
-
feature-request
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
firebase/firebase-functions-python#271 · 3 Kommentare ·
-
[Bug] stability_digest_payload_from_ce_payload fails with AttributeError: 'dict' object has no attribute 'split'Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offenbug unable to reproduce
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
firebase/firebase-functions-python#260 · 6 Kommentare ·
-
feature-request
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
firebase/firebase-functions-python#249 · 2 Kommentare ·
Alle Issues in firebase/firebase-functions-python
Ähnliche Issues
-
namespace operations
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
EclipseFdn/open-vsx.org#14043 ·
Maintainer antworten meist innerhalb von 1 Tag
-
netbox status: needs triage type: bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
netbox-community/netbox#23376 ·
Maintainer antworten meist innerhalb von 1 Tag
-
feedback simulation workshop
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
githubnext/gh-aw-workshop#4455 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Triage 🩺
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
[BUG] Container scenario crashes without expected_recovery_time, kube DNS example uses retry_waitOffenneeds-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
krkn-chaos/krkn#1627 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag