我正在尝试在Firebase的帮助下进行电子邮件验证,这是在您注册之后。然后执行此代码,然后应用一个新场景,其中包含一个按钮,用于检查电子邮件是否得到验证。这是两个代码。提前感谢您的任何答案!!我很乐意接受任何建议!
更详细的错误描述:点击链接检查邮件后,尚未验证。我发现在这篇文章中使用< code>isEmailVerified之前,您必须使用< code > signInWithEmailAndPassword ,但它仍然不起作用。
注册:
public void registerByEmail(AppCompatActivity activity, Context context, String email, String password) {
System.out.println(email + " " + password);
AuthSupport.firebaseAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(task -> {
if(task.isSuccessful()) {
AuthSupport.firebaseAuth.signInWithEmailAndPassword(email, password);
FirebaseUser firebaseUser = AuthSupport.firebaseAuth.getCurrentUser();
Task<Void> voidTask = firebaseUser.sendEmailVerification()
.addOnSuccessListener(unused -> {
Toast.makeText(context, "Verification Email has been sent.", Toast.LENGTH_SHORT).show();
new VerificationEmailSupport().updateUIVerification(activity);
})
.addOnFailureListener(e -> Log.d("Error", "Cannot send verification email"));
Toast.makeText(context, "Registration successful", Toast.LENGTH_SHORT).show();
} else Toast.makeText(context, "Registration failed, try again later...", Toast.LENGTH_SHORT).show();
});
}
验证按钮点击动作代码:
public void verifyEmail(View view, AuthSupport authSupport) {
System.out.println("EXECUTING!");
System.out.println(AuthSupport.firebaseAuth.getCurrentUser().getEmail() + " im checking for him! ");
if(!AuthSupport.firebaseAuth.getCurrentUser().isEmailVerified()) {
Toast.makeText(view.getContext(), "Check the email and retry again...", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(view.getContext(), "Email verified successfully.", Toast.LENGTH_SHORT).show();
authSupport.updateUI(view.getContext(), AuthSupport.firebaseAuth.getCurrentUser());
}
}
验证电子邮件地址发生在应用程序之外(通常在用户的默认浏览器中),不会立即更新应用程序中的用户配置文件。
用户配置文件仅在以下情况下更新:
另请参见:
我目前正在开发一个移动应用程序作为我最后一学期的项目。在我的移动应用程序中,我使用Firebase身份验证进行了此电子邮件验证。这是我执行此功能的教程(如果您感兴趣)。 Firebase登录 我这里的问题是,当我在我的移动应用程序中添加了重置密码功能(本教程的下一部分)时,即使电子邮件经过验证,电子邮件验证警报仍然存在。 设置活动(重置密码和电子邮件验证功能所在) 这是错误日志 这是设置中的图片
我有一个静态的AuthProvider类,它集中了所有的身份验证。 我有以下注册码。 在应用程序上注册后,我收到了一封验证电子邮件,所以我点击了它。当我下次尝试登录时,isEmailVertify返回false。经过一些研究,我认为我应该重新加载用户对象,如下所示: 不幸的是,isEmailVerified仍然返回false。有人知道为什么会这样吗?
实际上我在这里做什么,当用户登录他们的帐户时,然后我检查他们是否验证了他们的电子邮件地址,如果没有,那么我将启动。当用户单击发送验证电子邮件按钮时,电子邮件验证码将被发送到用户的电子邮件地址。 之后,当用户成功验证他们的电子邮件地址,当他们再次点击发送验证链接按钮。 而不是显示toast消息<code>toast。makeText(这是“您的电子邮件已验证,现在您可以登录了。”,Toast.LEN
我正在实施firebase电子邮件验证,但是当用户收到电子邮件时,它会重定向到应用程序,这很好。当我尝试使用经过验证的电子邮件 始终返回 false。以下是我的代码:
我有一个关于firebase电子邮件验证工作的问题。 案例: 我的用户已登录我的网站(使用设备A)。 他们使用其他浏览器或设备(设备B)创建另一个帐户,但他们使用他已登录的浏览器和设备(设备A)打开电子邮件验证链接。 已经登录的用户(在设备A中)发生了什么?firebase是将它们签出还是只是验证新的电子邮件,但仍然与当前用户签入?
问题内容: 我查询“所有者”一词,文档显示了所有者的电子邮件。我想看看所有有此电子邮件的房屋,以查询电子邮件而不是所有者。 当我执行以下curl请求时,它不返回任何实际情况。 它不会返回正确的信息。我想找到一个确切的结果。我也在考虑使用以下术语: 试图找到完全匹配的内容。这似乎不返回任何文档信息。我认为这可能与句点或 @ 符号有关。 在尝试使用转义引号,转义句号包装电子邮件时,我也尝试过匹配。 我