我在我的应用程序中使用 Firebase 和 AngularJS。当用户使用 Facebook 身份验证登录应用程序时,我想创建一个新的用户对象(一些属性来自 Facebook,一些属性与我的应用程序相关)并将其存储在 Firebase 中。很简单,我正在推送新的 User 对象:
...
var travelBidsFirebaseRef = new Firebase(url);
var newUserRef = travelBidsFirebaseRef.child("user").push(user, callback);
...
push()
生成一个唯一的 ID,smth。像:-J08SgyOeOU_fFb1CB3G。所以我可以访问这个用户对象的唯一方法是使用这个 ID:
angularFire(travelBidsFirebaseRef + "/user/-J08SgyOeOU_fFb1CB3G", $scope, 'user', {});
但是当我从 Facebook 收到身份验证数据时,我只有 Facebook ID,而且我无法知道之前生成的 Firebase ID(否则我将不得不维护所有用户的地图,我不想这样做)。那么问题来了:如何使用自定义 ID(例如 Facebook ID)将新用户保存到 Firebase?