Firebase是否为所有身份验证类型创建帐户?

时间:2014-04-02 20:46:27

标签: firebase firebase-security

电子邮件注册被视为伪造内容简单登录电子邮件标签下的新记录。

但是当用户使用Facebook或Google之类的OAuth2登录进行登录时会发生什么?

从网站上取下example并向其应用多个上下文:

{
  "rules": {
    ".read": true,
    "comments": {
      "$comment": {
        ".write": "auth != null",
        ".validate": "auth.id == newData.child('userid').val() && newData.hasChildren(['userid', 'body']) && newData.child('body').isString()"
      }
    }
  }
}
  • 如果用户使用Facebook帐户登录,Firebase会在与电子邮件/密码登录相同的上下文中创建新的auth记录和范围安全规则吗?

  • 如果是这样,那些注册的可见方式与我们的电子邮件身份验证类型相同?您是否以相同的方式对(删除)等记录执行操作?

  • 设置主userId集合的最佳方法是什么,使用户能够将多种帐户类型绑定在一起? (Facebook,Google和电子邮件都捆绑在一起)

1 个答案:

答案 0 :(得分:2)

请记住"创建用户"在该控制台(以及Firebase Simple Loign电子邮件/密码身份验证)中,只会在电子邮件地址和密码之间生成新的映射,并为该帐户提供唯一的自动递增ID。

Firebase简单登录不会自动在您的Firebase中存储任何数据,但在登录后,它会自动生成新的Firebase身份验证。您可以使用auth变量编写安全规则的令牌。

使用任何其他提供程序的登录方法当前不存储任何数据,但将来可能会有更多功能。使用Facebook / Google /等登录还可以获取大量有用的用户元数据并将其发送到客户端,此外还可以创建Firebase身份验证。用于安全规则的令牌。要在所有提供商中查看auth变量的内容,请参阅“验证后”'每个简单登录提供程序文档页面上的部分,例如:Facebook。除了电子邮件/密码提供者之外,没有任何提供者删除的概念。

如果您希望拥有与多个社交凭据相关联的用户帐户,则可以完成,但目前有点笨重(和手动)。有关详细演练,请参阅How can I login with multiple social services with Firebase?