Diese Beitragsserie ist auf NgateSystems.com indiziert. Dort finden Sie auch eine äußerst nützliche Stichwortsuchfunktion.
Letzte Bewertung: 24. November
Beitrag 3.3 brachte schlechte Nachrichten: Das Firestore-Authentifizierungsobjekt, das clientseitig zur Bereitstellung von Informationen über einen angemeldeten Benutzer verwendet wird, ist serverseitig nicht verfügbar. Dies hat folgende Konsequenzen:
Serverseitiger Datenbankcode muss die Firestore-API Admin verwenden. Dies liegt daran, dass der Firestore-Client-API-Code, der Aufrufe Datenbank-„Regeln“ unterliegt, die auf die Authentifizierung verweisen, fehlschlägt, wenn die Authentifizierung nicht verfügbar ist. Im Gegensatz dazu kümmern sich Admin-API-Aufrufe nicht um Datenbankregeln. Wenn Sie die Regeln fallen lassen würden, würden Client-API-Aufrufe serverseitig funktionieren, Ihre Datenbank wäre dadurch jedoch anfällig für Cyberangriffe (Sie arbeiten in Ihrer Live-Firestore-Datenbank, seit Sie Ihr lokales VSCode-Terminal verwenden – denken Sie darüber nach). .
Serverseitiger Code, der von Auth abgeleitete Datenelemente wie Benutzername und Benutzer-E-Mail verwendet, muss einen anderen Weg finden, diese Informationen abzurufen.
In diesem Beitrag wird beschrieben, wie Sie diese Probleme überwinden, um eine leistungsstarke Webanwendung zu erstellen, die serverseitig sicher und effizient läuft.
Wenn Sie sich bereits an die Client-Anrufsignaturen gewöhnt haben, ist die Notwendigkeit, zur Firestore-Admin-API zu wechseln, ein Ärgernis. Daran wirst du dich aber schnell gewöhnen, sodass es dich nicht allzu sehr aufhalten sollte.
Benutzerdaten zu erhalten ist jedoch eine andere Sache. Bei vielen Anwendungen ist der Zugriff auf Benutzereigenschaften wie uId für deren Design von entscheidender Bedeutung. Beispielsweise muss eine Webanwendung möglicherweise sicherstellen, dass Benutzer nur ihre eigenen Daten sehen können. Leider ist es ziemlich schwierig, dies zu arrangieren. Los geht's:
Sehen Sie sich den folgenden Code aus dem