Чтобы создать нового пользователя в Angularfire 0.9, я могу использовать службу $ firebaseAuth и метод $ createUser.Firebase/Angularfire 0.9 - Создайте нового пользователя и профиль
Однако из того, что я могу сказать, этот метод не возвращает никаких учетных данных новых пользователей. Поэтому, если я хочу добавить к этому профилю профиль, лучший способ получить данные Auth Data, в частности, «uid», поэтому я могу сохранить данные профиля для моего нового пользователя. Ниже приведен пример того, что я пытаюсь сделать.
var FIREBASEURL = "https://<my-firebase>.firebaseio.com"
var ref = new Firebase(FIREBASEURL);
$rootScope.authObj = $firebaseAuth(ref);
var newUser = {
email: "[email protected]",
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 changelog «Expose создал пользователя через второй аргумент в обратном вызове createUser().». Это дает вам новый «uid» Auth, который мне нужен. Я предполагаю, что библиотека Angularfire будет обновлена соответствующим образом, и я обновлю этот вопрос, когда это произойдет. – pessato