Frage Konto erstellen: Wenn ein Benutzerkonto erstellt wird, wie Cloud-Funktionen nutzen, um seine display zu speichern, um EchtzeitDB in Schritten Feuerbasiswie Cloud-Funktionen verwenden, um Benutzer-display zu sparen, wenn sie in Feuerbasis
Das Szenario:
ich habe eine Anmeldeseite enthält
email, password, displayName
Felder, Benutzern zu ermöglichen, neues Konto erstellen in FeuerbasisAbove Seite wird 1) Trigger
createUserWithEmailAndPassword
bis c reate das Benutzerkonto, 2) SpeicherndisplayName
Wert zu userProfile in Auth DB.In der Cloud-Funktion wird der folgende Code verwendet, damit die E-Mail-Adresse des neuen Benutzers im DB-Knoten
users
gespeichert werden kann.
exports.createProfile = functions.auth.user().onCreate(event => return admin.database().ref(`/users/${event.data.uid}`).update ({email: event.data.email})
- Ich wünsche
displayName
-users
Knoten mit obigem Code zu speichern, aber es scheint nicht möglich, da es nicht im Zusammenhang mit demevent
inonCreate
ist.
Was soll ich tun? Es wird fies, wenn ich sowohl die Client- als auch die Cloud-Funktion brauche, um den Knoten users
zu aktualisieren.
Mit freundlichen Grüßen, D
Mein Problem ist, dass, wenn die Verwendung E-Mail & Passwort-Konto zu erstellen, gibt es keine Möglichkeit scheint in eine ‚Anzeige‘ zu übergeben, wenn Benutzer verwendet Oauth mit Facebook oder Google, die ‚Wähle‘ wird von Anbietern abgerufen und zugänglich. –
Vielleicht könnten Sie versuchen, es direkt nach der Erstellung auf dem Client zu setzen, um zu sehen, ob es festgeschrieben wird, bevor die Funktion auslöst. https://stackoverflow.com/questions/39804867/how-to-add-displayname-with-email-password-authentication-in-firebase-android –
Vielen Dank! Ihr Kommentar ähnelt dem unten vorgeschlagenen Dhruv. Ich denke, ich sollte Cloud-Funktionen für On-User-Creating-Event löschen und alles von Client-Seite aus tun. Der ursprüngliche Grund für die Verwendung der Cloud-Funktion ist, dass sie im Vergleich zum Client-Code 100% garantiert ist. –