【问题标题】:Firebase createUser() does not return id of created userFirebase createUser() 不返回创建用户的 id
【发布时间】:2014-12-16 12:05:53
【问题描述】:

我使用的是 Firebase 1.1(它嵌入了旧的 firebase-simple-login 功能)。

现在,在创建用户时,我如何获取它的 id(或 uid)?

app.controller('AuthCtrl', function ($scope, $firebase) {
  var ref = new Firebase(MY_FIREBASE_URL);
  ref.createUser({
    email: 'mary@mail.com',
    password: 'her-super-secret-password'
  },
  function(err) {
    switch (err.code) {
      ...
    }
  }
}

据我了解,createUser 函数回调只报告一个err 对象以防出错。但是 - 如果成功 - 我需要创建的用户 ID(或更好的 uid),以使用它将用户添加到我的内部用户配置文件中......

如何从 Firebase createUser 获取创建的用户 ID?

更新: 我确实放弃了 1.1,恢复到 1.0,直到有更多文档可用(或者我得到一些答案......):-(

【问题讨论】:

  • 我遇到了同样的问题,我正在拔头发。为什么他们要创建一个没有带有 uid 回调的 createUser 函数?
  • 谢谢,我以为我是一个人……希望一些 Firebase 开发人员能提供帮助……@Kato……Rob DiMarco……你在吗??? :-)
  • 我最终只需要在 createUser 回调中嵌套一个登录调用(例如,authWithPassword),只是为了获取 uid,然后立即将用户注销(因为用户需要登录前通过电子邮件激活)。不是世界上最优雅的解决方案,但目前它正在发挥作用。
  • 太棒了。不过,我想我会等待一个“官方”解决方案,一直使用 1.0,直到那时...... :-)
  • 仅供参考,我在 2.04 中遇到过这个问题,不知道为什么回调的第二个参数是 undefined。似乎该功能是在 2.05 中添加的。我更新了版本,它工作了。

标签: angularjs firebase firebasesimplelogin


【解决方案1】:

Firebase 最近发布了一个更新的 JavaScript 客户端 (v2.0.5),它通过完成回调的第二个参数直接公开新创建用户的用户 ID。

查看https://www.firebase.com/docs/web/changelog.html 的更新日志并查看以下示例:

ref.createUser({
  email: '...',
  password: '...'
}, function(err, user) {
  if (!err) {
    console.log('User created with id', user.uid);
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 2021-01-28
    • 1970-01-01
    相关资源
    最近更新 更多