【问题标题】:Create a user with custom details in Firebase在 Firebase 中创建具有自定义详细信息的用户
【发布时间】:2016-06-20 13:23:04
【问题描述】:

我正在用 php 制作一个小应用程序,我正在使用 firebase 作为后端服务器来管理和验证用户。我有一个包含两个以上字段的注册表单,电子邮件和密码(姓名、电话号码、位置等)但在 firebase 文档(下面的代码)中,我们只能使用电子邮件和密码注册用户。所以,我的问题是如何保存用户的其他信息以及以后如何检索这些信息?

firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  // ...
});

【问题讨论】:

标签: javascript firebase firebase-realtime-database firebase-authentication


【解决方案1】:

您可以在 firebase 中创建一个引用来保存所有用户的个人资料。

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

您可以使用 onAuthStateChanged 来检测用户何时登录

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.
  } else {
    // No user is signed in.
  }
});

然后如果用户已登录,您可以使用它来检索用户的数据

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

就我而言,如果您想拥有比 Firebase 提供的默认用户更多的字段,您必须自己管理用户配置文件

希望对你有帮助

【讨论】:

  • useid 必须是正确的电子邮件,这样我才能稍后获得结果?或 this 用户 ID。
  • 您在屏幕截图中突出显示的用户 ID。每次登录时,您都会收到一个包含用户数据的 authData 令牌,例如提供商、电子邮件和那个 uid。
  • 如果清楚或者您还有其他问题,请告诉我;)
猜你喜欢
  • 2011-07-03
  • 2012-05-23
  • 1970-01-01
  • 1970-01-01
  • 2019-07-16
  • 2014-03-10
  • 2021-09-09
  • 2012-07-20
  • 2011-02-03
相关资源
最近更新 更多