kvs*_*kvs 6 firebase firebase-authentication
换句话说,有没有办法验证用户(当他设置让我们说用户//电子邮件时),它确实是登录用户的电子邮件ID?
我们正在构建一个firebase应用程序,其中服务的某些方面是通过电子邮件通知提供的.我们不希望向错误的用户发送电子邮件.似乎没有办法保证写给用户的电子邮件信息//电子邮件路径确实与用于登录的电子邮件(直接或通过谷歌或Facebook等)相同
在我看来,如果auth(规则)除auth.uid之外还有auth.email字段,它将解决问题,并且可以编写规则来处理用例.
Fra*_*len 10
最新版本的Firebase身份验证支持电子邮件验证.
如果身份提供商(电子邮件+密码,谷歌)支持可选的电子邮件地址验证,则该信息将在API和安全规则中提供.(**)
例如,JavaScript API有一个emailVerified属性,您可以在代码中检查:
firebase.auth().currentUser.emailVerified
Run Code Online (Sandbox Code Playgroud)
真正
在安全规则中,您可以访问电子邮件地址以及是否已经过验证,这使得一些很好的用例成为可能.例如,使用这些规则,只有经过身份验证的经过验证的gmail用户才能编写其配置文件:
{
"rules": {
".read": "auth != null",
"gmailUsers": {
"$uid": {
".write": "auth.token.email_verified == true &&
auth.token.email.matches(/.*@gmail.com$/)"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
(**)这适用于Google登录和电子邮件+密码.据我所知,如果经过验证,Facebook只会公开电子邮件地址,所以你可以依赖它.
| 归档时间: |
|
| 查看次数: |
1383 次 |
| 最近记录: |