【问题标题】:How to sign out the user when the email is not verified, Firebase Auth未验证电子邮件时如何注销用户,Firebase Auth
【发布时间】:2021-01-07 15:37:39
【问题描述】:

未验证电子邮件时如何注销用户,Firebase Auth, 还是在尝试唱歌时出错并且电子邮件未通过验证?

我使用“com.google.firebase:firebase-auth:19.4.0” 安卓x minSdkVersion 21 targetSdkVersion 30 buildToolsVersion "30.0.2"

SingIn_Button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String email = email_login.getText().toString().trim();
                String password = password_login.getText().toString().trim();

                if (TextUtils.isEmpty(email)) {
                    email_login.setError("حقل البريد الالكتروني فارغ");
                    return;
                }

                if (TextUtils.isEmpty(password)) {
                    password_login.setError("حقل كلمة المرور فارغ");
                    return;
                }

                if (password.length() < 6) {
                    password_login.setError("يجب ان تكون كلمة المرور اكثر من 6 حروف");
                    return;
                }

                progressBar.setVisibility(View.VISIBLE);


                mFirebaseAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()) {
                            Toast.makeText(SingInActivity.this, "تم تسجيل الدخول", Toast.LENGTH_SHORT).show();
                            startActivity(new Intent(getApplicationContext(), MainActivity.class));
                            finish();
                            overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
                        } else {
                            Toast.makeText(SingInActivity.this, "خطأ :" + task.getException().getMessage(), Toast.LENGTH_SHORT).show();
                            progressBar.setVisibility(View.GONE);
                        }
                    }
                });
            }
        });

请大家帮忙,谢谢大家

【问题讨论】:

标签: android firebase firebase-authentication


【解决方案1】:

您需要检查用户是否通过以下方式验证了他们的电子邮件地址:

mFirebaseAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
    @Override
    public void onComplete(@NonNull Task<AuthResult> task) {
        if (task.isSuccessful()) {
            Toast.makeText(SingInActivity.this, "تم تسجيل الدخول", Toast.LENGTH_SHORT).show();
            progressBar.setVisibility(View.GONE);

            if (!task.getResult().getUser().isEmailVerified()) {
                ...
            }

        }
    }
});

如果你想注销用户,那就是task.getResult().getUser().signOut()

【讨论】:

    猜你喜欢
    • 2019-08-12
    • 2016-10-20
    • 2021-10-21
    • 2022-11-12
    • 1970-01-01
    • 2022-01-24
    • 2018-12-15
    • 2019-12-13
    • 1970-01-01
    相关资源
    最近更新 更多