如何检索存储在Firebase中的用户的自动生成密钥



我有点被卡住了。在我的代码中,我让用户通过facebook注册/登录。我使用Oauth令牌,这要归功于我用来登录用户的cordova facebook插件。

如果用户不存在,我会在用户下的firebase数据库中添加一些facebook信息(姓名、电子邮件、个人资料图片(。

我的问题是如何检索这个用户(不知道自动生成的密钥(。假设用户在facebook中修改了他的个人资料图片,因为我只在第一次连接时存储了数据,所以它没有反映在我的应用程序中。

我的数据库如下:

users: {
    -JtGR-24WUU2HVX3x5c3d: {
        image: http//
        name: joe
        email: cezd
    },
    -JtGR-24WUU2HVX3x5c43r: {
        image: http//
        name: john
        email:cezs
    }
}

谢谢你的帮助。

Arnaud

以下是您应该如何做到的:

创建帐户(并且用户登录(后,您将可以通过$firebaseAuth服务访问其用户id。以下是您的操作方法:

// Get the unique id for the user
var uid = $firebaseAuth(<your-firebase-ref>).$getAuth().uid;

然后,我们可以在这个uid变量下存储内容,从而可以轻松地为我们的帐户执行CRUD操作。在uid下面有一个名为programs的数组,它包含一些程序:

// Specify the path we will be working with
var path = uid + '/programs';

接下来,我们可以使用我们刚刚定义的路径获取programs数组:

// Get all programs, make sure to include a / after your reference 
var programs = $firebaseArray(<your-firebase-ref> + path);

加载完成后,将程序分配给$scope,这样我们就可以在前端使用它。

programs.$loaded()
  .then(function(data) {
    $scope.programs = data;
  })
  .catch(function(err) {
    $scope.error = 'There was an error with the request';
});

相关内容

  • 没有找到相关文章

最新更新