发送链接以验证用户注册

时间:2021-05-19 07:09:17

标签: java firebase android-studio

我如何强制用户点击通过电子邮件发送的注册链接,以便成为会员。 我已经在新用户的电子邮件中发送了这个链接,他不需要点击它。他可以使用他创建的电子邮件和密码直接连接

  fAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(task -> {
                if(task.isSuccessful()){
                    // send verification link
                    FirebaseUser fuser = fAuth.getCurrentUser();
                    fuser.sendEmailVerification().addOnSuccessListener(aVoid -> Toast.makeText(Register.this, "La vérification de l'email a été envoyée.", Toast.LENGTH_SHORT).show()).addOnFailureListener(e -> Log.d(TAG, "Echec: Email non envoyé " + e.getMessage()));

                    Toast.makeText(Register.this, "Compte créé", Toast.LENGTH_SHORT).show();
                    userID = fAuth.getCurrentUser().getUid();
                    DocumentReference documentReference = fStore.collection("users").document(userID);
                    Map<String,Object> user = new HashMap<>();
                    user.put("fName",fullName);
                    user.put("email",email);
                    user.put("phone",phone);
                    documentReference.set(user).addOnSuccessListener(aVoid -> Log.d(TAG, "Succès: profil utilisateur crée pour "+ userID)).addOnFailureListener(e -> Log.d(TAG, "échec" + e.toString()));
                    startActivity(new Intent(getApplicationContext(),LoginActivity.class));
                }else {
                    Toast.makeText(Register.this, "Erreur ! " + task.getException().getMessage(), Toast.LENGTH_SHORT).show();
                    progressBar.setVisibility(View.GONE);
                }
            });

        });

1 个答案:

答案 0 :(得分:0)

您创建一个函数来检查电子邮件是否经过验证,然后才开始这样的活动

private void IsEmailVerified() {
 FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

    if (user.isEmailVerified()) {
           Log.d("verified", "Email is verified.");
    } else {
          Log.d("verified", "Email is not verified !.");
    }
}
相关问题