这个问题已经在这里问过了,但是由于 AngularFire 更新了他们的 API,提供的解决方案不再可用。
我正在做的是使用电子邮件/密码创建新用户帐户,将该用户存储在 Firebase 身份验证服务中,并将额外信息存储在数据库中。
但是,在身份验证中,用户的密钥为simplelogin:29
,而在数据中,每个用户的哈希密钥为-JpwB9oUVkeT_XRdiX2V
。我确实需要他们的钥匙是一样的。
下面是创建新用户的代码,使用 auth.$createUser 注册并在用户模型中存储额外信息。
var ref = new Firebase('https://myapp.firebaseio.com/');
var auth = $firebaseAuth(ref);
auth.$createUser({
email: user.email,
password: user.password
}).then(function(regUser) {
var ref = new Firebase('https://myapp.firebaseio.com/users/')
var firebaseUser = $firebaseArray(ref);
var userInfo = {
key : regUser.uid, // ex: simplelogin:29
date : Firebase.ServerValue.TIMESTAMP,
firstname : user.firstname,
lastname : user.lastname,
email : user.email,
}; // user info
firebaseUser.$add(userInfo);
});
它可以工作,但不是应该的方式,因为用户在身份验证和数据中的密钥仍然不同。