【发布时间】:2015-01-29 00:47:42
【问题描述】:
要在 Angularfire 0.9 中创建新用户,我可以使用 $firebaseAuth 服务和 $createUser 方法。
但是据我所知,此方法不会返回任何新用户凭据。因此,如果我想向该用户添加配置文件,那么检索该用户身份验证数据的最佳方法是什么,特别是“uid”,这样我就可以为我的新用户保存配置文件数据。下面是我正在尝试做的一个例子
var FIREBASEURL = "https://<my-firebase>.firebaseio.com"
var ref = new Firebase(FIREBASEURL);
$rootScope.authObj = $firebaseAuth(ref);
var newUser = {
email: "email@email.com",
password: "password",
displayName: "Display Name",
favFood: "Food"
};
$rootScope.authObj.$createUser(newUser.email, newUser.password).then(function() {
console.log("User created successfully!");
// Retrieve new Auth Data specifically uid
var newAuthData = ??????????
// Remove password from object and create user profile
delete newUser.password;
newUser.timestamp = Firebase.ServerValue.TIMESTAMP;
var userRef = new Firebase(FIREBASEURL + '/users/');
userRef.child( newAuthData.uid ).set(newUser);
}).catch(function(error) {
console.error("Error: ", error);
});
【问题讨论】:
-
部分回答我自己的问题,根据 Firebase Javascript API 2.0.5 更改日志“通过回调中的第二个参数公开创建的用户到 createUser()。”。这为您提供了我需要的新 Auth 的“uid”。我假设 Angularfire 库会相应更新,我会在更新时更新这个问题。
标签: javascript angularjs firebase angularfire