获取创建用户的用户ID

Getting the user ID of the created user

我在我的 angular 应用程序中使用 angularfire 作为后端,但在提取刚刚创建的最后一个帐户的用户 ID 时我需要帮助已创建。

下面是来自数据库 "login and auth" 部分的图像,这是用户 ID 所在的位置。

这是创建新用户的功能,使用用户通过注册表单输入的电子邮件和密码。 (user 是一个来自验证函数的对象,在这个函数之前得到 运行)。

$scope.registerNewUser = function(user) {

    var ref = new Firebase("https://pie-shop.firebaseio.com/");
        ref.createUser({
            email    : user.email,
            password : user.password
        }, function(error) {
            if (error === null) {
                $('#error-message').show().html('Success!').css({color: 'limegreen'});
            }
            else {
                $('#error-message').show()
                .html('Something went wrong when trying to create your account, please try again later')
                .css({color: 'red'});
            } 
        });
},
$scope.storeUserInfo = function(user, userID) {

    var newUser = new Firebase('https://pie-shop.firebaseio.com/' + userID);
}

所以我需要做的是,最好在 function(error) if 语句中,获取新创建帐户的用户 ID 并使用用户 ID 作为参数调用 storeUserInfo 函数这样我就可以用它来存储用户输入的其他信息。

通过简单地使用 $push 将信息存储在数据库中不允许我将用户 ID 与 key 匹配以获得相应的信息,因为 Firebase 生成 将数据推送到数据库时的唯一键。 (或者即使使用推送也有聪明的方法吗?如果是这样的话请告诉我)。

Firebase docscreateUser

onComplete Function

A callback function that will be called when the user account has been created. On failure, the first argument will be an Error object indicating the failure, with a machine-readable code attribute. On success, the first argument will be null, and the second argument will be an object containing attributes of the newly-created user, including the uid.

(强调我的)

所以,这样做:

var ref = new Firebase("https://pie-shop.firebaseio.com/");
ref.createUser({
    email    : user.email,
    password : user.password
}, function(error, user) {
    if (error === null) {
        console.log(user);
    }
    else {
        // deal with error
    } 
});

在此 tutorial(部分:使用服务对用户进行身份验证)中,您将执行此操作。您注册一个用户并立即登录。然后将用户对象存储在 $scope.user 中。您可以使用 $scope.user.userId 从 firebase 获取用户 ID(或 console.log 以找到正确的值)。希望能帮助到你。顺便说一句:学习 angular 和 firebase 的好教程。