web-dev-qa-db-fra.com

Profil utilisateur de Firebase Ajouter des champs personnalisés

Est-il possible d'ajouter des champs personnalisés à la table de profil utilisateur dans FireBase?

À l'heure actuelle, il semble que je ne puisse ajouter que des données à:

  • "UID"
  • "Afficher un nom"
  • "photourl"
  • "e-mail"
  • "Email verifié"
  • "numéro de téléphone"
  • "isanonymous"
  • "télantid"
  • "ProviderData":
  • "clé API"
  • "nom de l'application"
  • "Authomain"
  • "SSTOGENMANAGER"
  • "RedirecteventID"
  • "lastloginat"
  • "créé à"

J'aimerais avoir la possibilité d'ajouter des objets personnalisés à la chaîne JSON pour contenir toutes les données utilisateur.

https://firebase.google.com/docs/auth/web/Manage-utilisateurs

4
Olivia

Exemple rapide, où après avoir enregistré un utilisateur, j'ajoute cet utilisateur à un utilisateurCollection et fournissez d'autres informations sur le terrain si nécessaire.

Dans mon application powered Firebase, ce que je fais est ce qui suit:

import app from 'firebase/app'
import 'firebase/auth'
import 'firebase/database'
import 'firebase/firestore'

const config = {
  apiKey: process.env.REACT_APP_API_KEY,
  authDomain: process.env.REACT_APP_AUTH_DOMAIN,
  databaseURL: process.env.REACT_APP_DATABASE_URL,
  projectId: process.env.REACT_APP_PROJECT_ID,
  storageBucket: process.env.REACT_APP_STORAGE_BUCKET,
  messagingSenderId: process.env.REACT_APP_MESSAGING_SENDER_ID 
}

class Firebase {
  constructor (props) {
    app.initializeApp(config)

    this.auth = app.auth()
    this.db = app.database()
    this.firestore = app.firestore()
  }

  signUpWithEmailAndPassword = (email, pw) => {
    this.auth.createUserWithEmailAndPassword(email, password)
    .then(registeredUser => {
      this.firestore.collection("usersCollection")
      .add({
        uid: registeredUser.user.uid,
        field: 'Info you want to get here',
        anotherField: 'Another Info...',
        ....
      })
    }
  }
}

J'espère que cela t'aides.

8
Angelo