我的计划是仅在电子邮件已验证的情况下登录用户。我正在使用if语句来检查是否已使用内置的“ emailVerified”功能对电子邮件进行了验证,但是它崩溃了。
function login(email, password) {
if (email.emailVerified) {
console.log("trying to log user");
return auth.signInWithEmailAndPassword(email, password);
} else {
console.log("failed to log user");
alert("Please verify your email");
return false;
}
}
emailVerified
如果没有登录就无法确定是否在客户端SDK中设置了配置文件的属性。因此,仅使用客户端SDK,您将无法执行伪代码。
你可以做的是在你使用一个信任的环境(例如在云计算功能)创建自定义的API管理SDK,以通过其电子邮件地址获取用户的个人资料,然后检查其emailVerified
属性设置为true。然后,您可以在应用程序代码中调用此自定义API。但这仍然不会阻止恶意用户signInWithEmailAndPassword
自己调用该方法
或者,更简单的方法是先登录,然后检查电子邮件是否已验证,并且仅允许用户在电子邮件已验证的情况下继续使用应用程序(和访问数据)。
请注意,这个主题经常出现,因此我建议您也阅读以下内容:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句