获取创建用户的用户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 docs 到 createUser
:
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 的好教程。
我在我的 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 docs 到 createUser
:
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 的好教程。