0

Momentan arbeite ich mit einer Firebase-Anwendung, die nur den Google Auth-Provider verwendet. Es gibt einen einzelnen Anmeldevorgang für neue und wiederkehrende Benutzer, der firebase.auth().signInWithPopup() aufruft, um den Benutzer zu authentifizieren.Füllen Sie ein Benutzerobjekt in der Firebase-Datenbank, wenn sich ein neuer Benutzer anmeldet?

Ich möchte ein Objekt in der Firebase-Datenbank auffüllen, die die UUID jedes neuen Benutzers und Informationen über sie speichert. Idealerweise möchte ich diese Informationsserverseite generieren und keinen schreibenden Zugriff auf das Objekt vom Client aus zulassen.

Wie kann ich am besten sagen, wenn ein neuer Benutzer angemeldet ist? Ich übergebe das Token des Benutzers als Cookie an den Server, um bei jeder Anfrage authentifiziert zu werden, um sicherzustellen, dass sie angemeldet und autorisiert sind. Ich könnte die UUID jeder Anfrage überprüfen, um zu sehen, ob sie sich bereits im Benutzerobjekt befindet, aber dies scheint sehr verschwenderisch zu sein, da die Mehrheit der Anfragen nicht von neuen Benutzern stammen wird.

+1

Sie Feuerbasis Funktionen nutzen können. Sie bieten einen Auslöser für die Nutzeranmeldung: https://firebase.google.com/docs/functions/auth-events – bojeil

+0

@bojeil Danke, ich denke, das ist, was ich am Ende tun muss. Im Idealfall möchte ich meine gesamte Anwendungslogik am selben Ort behalten, aber ich denke, dass ich diese Konzession machen muss. –

Antwort

0

modify Regel von Echtzeit-Datenbank:

"rules": { 
    "Users":{ 
     "$uid":{ 
      ".read": "auth.uid == $uid", 
      ".write": "auth.uid == $uid" 
} 
} 
} 
Verwandte Themen