Firebase身份验证服务 - 无需登录即可从电子邮件中查找uid

时间:2014-09-24 14:18:54

标签: javascript firebase firebasesimplelogin

我正在使用Firebase,Firebase的身份验证服务(简单的电子邮件/密码登录)构建应用程序,并以与所述here非常相似的方式存储用户信息。

我的部分功能需要允许根据电子邮件地址查找其他用户。

是否有一种直接的方法可以使用电子邮件查找Firebase定义的uid(即'simpleLogin:9'),而无需迭代所有用户,或者能够实际登录?

1 个答案:

答案 0 :(得分:4)

您的users节点只是Firebase中的常规节点。因此,查找项目的唯一方法是通过节点的名称或节点的优先级。

如果您想坚持使用uid作为节点名称,可以使用setPrioritysetWithPriority将电子邮件地址设置为优先级,然后使用{{1}进行过滤}和startAt

endAt

但是,如果您只使用简单的电子邮件,则可以考虑通过电子邮件地址直接存储用户:

  // save new user's profile into Firebase so we can
  // list users, use them in security rules, and show profiles
  myRef.child('users').child(user.uid).setWithPriority({
    displayName: user.displayName,
    provider: user.provider,
    provider_id: user.id
  }, user.email);

  var userRef = myRef.child('users').startAt(user.email).endAt(user.email);

另见: