gpt4 book ai didi

firebase - 我们如何保证Firebase用户保存的电子邮件确实是他自己的电子邮件?

转载 作者:行者123 更新时间:2023-12-04 13:58:26 26 4
gpt4 key购买 nike

换句话说,有没有一种方法可以验证用户(当他设置为说用户//email时),确实是登录用户的电子邮件ID?

我们正在构建一个Firebase应用程序,该服务的某些方面是通过电子邮件通知传递的。我们不想将电子邮件发送给错误的用户。似乎没有办法保证写入用户//电子邮件路径的电子邮件信息确实与用于登录的电子邮件(直接或通过google或facebook等)相同。

我认为,如果auth(规则)除了auth.uid之外还具有auth.email字段,它将解决问题,并且可以编写规则来处理用例。

最佳答案

最新版本的Firebase身份验证支持电子邮件验证。

如果身份提供者(email + password,google)支持可选的电子邮件地址验证,则该信息将在API和安全规则中可用。(**)

例如,您可以在代码中 checkin 的JavaScript API has an emailVerified property:

firebase.auth().currentUser.emailVerified

true



在安全规则中,您既可以访问电子邮件地址,也可以访问是否经过验证,这使得一些很好的用例成为可能。例如,使用这些规则,只有经过身份验证,已验证的gmail用户才能编写其个人资料:
{
"rules": {
".read": "auth != null",
"gmailUsers": {
"$uid": {
".write": "auth.token.email_verified == true &&
auth.token.email.matches(/.*@gmail.com$/)"
}
}
}
}

(**)这肯定适用于Google登录和电子邮件+密码。据我所知,Facebook仅在经过验证的情况下才会公开该电子邮件地址,因此您可以依靠它。

关于firebase - 我们如何保证Firebase用户保存的电子邮件确实是他自己的电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37986097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com