簡體   English   中英

email未驗證時如何注銷用戶,Firebase Auth

[英]How to sign out the user when the email is not verified, Firebase Auth

email未驗證,Firebase Auth時如何退出用戶,或者email未驗證登錄時出錯?

我使用 'com.google.firebase:firebase-auth:19.4.0' Androidx 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);
                        }
                    }
                });
            }
        });

請幫忙,謝謝大家

您需要檢查用戶是否已通過以下方式驗證其 email 地址:

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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM