带有白名单电子邮件地址的Firebase身份验证

时间:2017-10-03 20:27:23

标签: firebase firebase-authentication

假设一个教师/学生的场景,处理电子邮件邀请的好方法是什么?

使用CSV上传我想创建用户或电子邮件白名单,限制所有其他人(未邀请)创建帐户。

我应该创建自己的登录表单,先检查白名单,然后创建用户吗?

是否有某种类型的BeforeAuth钩子? LOL。

2 个答案:

答案 0 :(得分:3)

我建议使用Custom Claims将auth与访问权限分开。允许任何人创建用户,但{}为用户创建事件attach a Cloud Function。如果用户匹配白名单中的一个,请设置custom user claim(最近刚刚推出!)

最后,在您的规则中,在访问数据之前检查该use属性:

{
  "rules": {
    "adminContent": {
      ".read": "auth.token.admin === true",
      ".write": "auth.token.admin === true",
    }
  }
}

答案 1 :(得分:2)

FirebaseAuth仅用于验证某个人是否是他/她所说的人。它不限制使用。

请参阅FirebaseAuth documentation

  

登录成功后,您可以访问用户的基本个人资料   信息,您可以控制用户对存储的数据的访问权限   其他Firebase产品。您还可以使用提供的身份验证   用于验证您自己的后端服务中用户身份的令牌

即。您可以使用Firebase身份验证来验证用户是否是他们所声称的用户,但根据用户个人资料信息中的信息对您的服务进行限制

但是,您可以将FirebaseAuth与其他与auth集成的Firebase服务(如数据库或存储)结合使用。但是对于您的方案,您仍然需要创建逻辑来限制经过身份验证的用户访问他们无法使用数据库或存储中的规则访问的数据。您还没有在问题中指定其他内容,因此我现在无法给出更好的答案