firebase - 如何向 firebase.auth() 添加附加信息

标签 firebase firebase-realtime-database firebase-authentication

如何向该数据集添加额外的电话号码和地址属性? Firebase 文档似乎没有对此进行任何说明。

我已经使用firebase.auth()实现了登录、注册和更新

登录:

//Email Login
firebase.auth().signInWithEmailAndPassword(email, password).then(
   ok => {
        console.log("Logged in User",ok.user);              
    },
    error => {
        console.log("email/pass sign in error", error);
    }
);

注册:

 //Sign Up
firebase.auth().createUserWithEmailAndPassword(email, password).then(
    ok => {
        console.log("Register OK", ok);
    },
    error => {
        console.log("Register error", error);
    }
)

更新:

//User Authentication
firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    $scope.data=user;
  } else {
    // No user, Redirect to login page
  }
});

//Save Function
$scope.save=function(values){

    $scope.data.updateProfile({

      displayName: "Test User",
      email: "test@gmail.com",
     /* phone: 123412341,
      address: "Temp Address",*/
      photoURL: "www.example.com/profile/img.jpg"

    }).then(function() {

     // Update successful.

    }, function(error) {

     // An error happened.

    }); 

};  

最佳答案

据我所知,如果您想要拥有比 Firebase 提供的默认用户更多的字段,则必须自己管理用户个人资料。

您可以在 Firebase 中创建引用来保留所有用户个人资料。

users: {
  "userID1": {
    "name":"user 1",
    "gender": "male" 
  },
  "userID2": {
    "name":"user 2",
    "gender": "female" 
  }
}

您可以使用onAuthStateChanged来检测用户何时登录,如果是,您可以使用once()来检索用户数据

firebaseRef.child('users').child(user.uid).once('value', callback)

希望对你有帮助

关于firebase - 如何向 firebase.auth() 添加附加信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37926672/

相关文章:

java - DataSnapshot 无法创建自定义对象

ios - 当我不注销就终止应用程序时,经过身份验证的用户是否保持登录状态?

java - 在 Firebase (Android) 中同时更新多个节点中的多个字段

firebase - 超过 Firebase Auth API 配额时会发生什么

javascript - 如何使用 AngularJS 从 Firebase 读取对象

firebase - 导出火力基地

java - 无法删除 Firebase 中的子节点

java - 如何在 Android 中读取 Firebase 用户数据

java - 为什么 FirebaseUser DisplayName 不更新?

创建用户后 Flutter Firebase 身份验证应用程序崩溃