使用 Firebase 1.0.21 和 $firebaseSimpleLogin - 注册用户 - 我做了这样的事情:
app.controller('AuthCtrl', function ($scope, $firebase, $firebaseSimpleLogin) {
var ref = new Firebase(MY_FIREBASE_URL);
var auth = $firebaseSimpleLogin(ref);
$scope.register = function (valid) {
// user contains email ad password fields, from my view
auth.$createUser($scope.user.email, $scope.user.password).then(function (auth) {
// auth.user.uid is defined, here; for example: 'simplelogin:13'
// ...
});
};
};
在 Firebase 1.1 中,$firebaseSimpleLogin 已被弃用,它的功能并入 Firebase 核心。
所以我 - 相信我是:-) - 以这种方式更改代码:
app.controller('AuthCtrl', function ($scope, $firebase) {
var ref = new Firebase(MY_FIREBASE_URL);
var auth = $firebase(ref);
$scope.register = function (valid) {
// user contains email ad password fields, from my view
auth.$createUser($scope.user.email, $scope.user.password).then(function (auth) {
// ...
});
};
};
虽然,我得到 $createUser() 为'未定义'......
所以我尝试了:
app.controller('AuthCtrl', function ($scope, $firebase) {
var ref = new Firebase(MY_FIREBASE_URL);
var auth = $firebase(ref);
$scope.register = function (valid) {
// user contains email ad password fields, from my view
ref.createUser({
email: $scope.user.email,
password: $scope.user.password
}, function(err) {
if (!err) {
// ??? how do I access uid from here ???
}
});
};
};
我确实希望 ref.createUser() 应该返回一个承诺,就像 auth.$createUser 所做的那样,但事实并非如此。
所以,我不知道如何获取我的新用户 uid,将其插入到我的用户扩展信息对象数组中......