即使在验证电子邮件后,Firebase isEmailVerified也会返回false

12 android firebase firebase-authentication

我发送电子邮件验证并点击链接.然后我打电话isEmailVerified()FirebaseUser对象.这总是回归null,可能是什么原因?

yeh*_*att 12

您应该在验证后刷新用户对象,如下所示:

usertask = mAuth.getCurrentUser().reload();
usertask.addOnSuccessListener(new OnSuccessListener() {
@override
public void onSuccess(Void aVoid) {
user = mAuth.getCurrentUser();
boolean useremailveri = user.isEmailVerified();
String useremailuid = user.getUid();
}
});
Run Code Online (Sandbox Code Playgroud)


小智 6

首先,您必须在signInWithEmailAndPassword用户验证其电子邮件后至少调用此方法 1 次....

只有在那之后,你才会isEmailVerified() 得到true


And*_*diM 0

我认为您需要首先使用用户的电子邮件和密码登录signInWithEmailAndPassword,然后尝试调用isEmailVerified() 返回用户的方法。

  • 那没有必要。如果创建了新帐户,则用户也已登录。正如@yehyatt所说,您只需要重新加载当前用户即可。 (2认同)