【发布时间】:2017-10-03 20:27:22
【问题描述】:
假设教师/学生的场景是什么是处理“电子邮件邀请”的好方法?
使用 CSV 上传我想创建用户或电子邮件白名单,这将限制其他所有人(未受邀)创建帐户。
我是否应该创建自己的登录表单,先检查白名单,然后再创建用户?
是否有某种类型的 BeforeAuth 钩子?哈哈。
【问题讨论】:
标签: firebase firebase-authentication
假设教师/学生的场景是什么是处理“电子邮件邀请”的好方法?
使用 CSV 上传我想创建用户或电子邮件白名单,这将限制其他所有人(未受邀)创建帐户。
我是否应该创建自己的登录表单,先检查白名单,然后再创建用户?
是否有某种类型的 BeforeAuth 钩子?哈哈。
【问题讨论】:
标签: firebase firebase-authentication
我建议使用Custom Claims 将身份验证与访问权限分开。允许任何人创建用户,但attach a Cloud Function 对用户创建事件。如果用户匹配白名单上的一个,设置一个custom user claim(这是最近才推出的!)
最后,在您的规则中,在授予对数据的访问权限之前检查该 use 属性:
{
"rules": {
"adminContent": {
".read": "auth.token.admin === true",
".write": "auth.token.admin === true",
}
}
}
【讨论】:
FirebaseAuth 仅用于验证一个人是他/她所说的那个人。它不限制使用。
成功登录后,您可以访问用户的基本资料 信息,并且您可以控制用户对存储在 其他 Firebase 产品。您还可以使用提供的身份验证 用于在您自己的后端服务中验证用户身份的令牌
即您可以使用 Firebase 身份验证来验证用户是他们所说的身份,但是根据他们的用户个人资料信息中的信息来限制他们使用您的服务由您决定
但是,您可以将 FirebaseAuth 与其他 Firebase 服务(例如与身份验证集成的数据库或存储)结合使用。但是对于您的场景,您仍然需要创建逻辑来限制经过身份验证的用户访问他们不应该使用数据库或存储中的规则访问的数据。你没有在你的问题中指定太多其他内容,所以我现在无法给出更好的答案
【讨论】: