Firebase密码注册不会保存用户

时间:2017-08-01 22:49:10

标签: android firebase firebase-authentication

我现在已经使用过Firebase serval时间,我知道如何正确使用它。 我相信我已经遇到了一个错误,并希望听到一个解决方案,以防你有一个。

所以 - 我使用了Firebase Google auth,它运行正常,然后我决定使用电子邮件+密码方法。 现在这是一个奇怪的部分 - 我创建了一个用户,我得到了成功的结果,但它没有保存用户 - 无法在Autherecation面板中看到它+在我退出后无法登录用户。

 mLoginContainer.setVisibility(View.GONE);
    mLoginProgress.setVisibility(View.VISIBLE);
    mAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if(task.isSuccessful())
                Toast.makeText(LoginActivity.this,"",Toast.LENGTH_SHORT).show();
            else
                Toast.makeText(LoginActivity.this,"",Toast.LENGTH_SHORT).show();
            mLoginContainer.setVisibility(View.VISIBLE);
            mLoginProgress.setVisibility(View.GONE);
        }
    });

3 个答案:

答案 0 :(得分:0)

您需要在firebase控制台上启用电子邮件/密码。

Click here for Firebase Auth Doc

  

如何启用电子邮件/密码登录:

In the Firebase console, open the Auth section.
On the Sign in method tab, enable the Email/password sign-in method and click Save.

希望有所帮助

答案 1 :(得分:0)

参考此

希望您已在gradle依赖项中添加compile 'com.google.firebase:firebase-auth:9.2.1'

启用电子邮件/密码验证

  • 转到您的firebase面板。
  • 在左侧菜单中,您将看到Auth,单击它。 enter image description here
  • 现在点击“设置登录方法”。 enter image description here

  • 现在点击电子邮件/密码,启用它并按保存。

对于SignUp

在您的注册活动中

//定义firebaseauth对象

私人FirebaseAuth firebaseAuth;

的onCreate

//初始化firebase auth对象         firebaseAuth = FirebaseAuth.getInstance();

//成功验证用户名和密码后[请使用以下方式调用您的注册方法]

//创建新用户

 firebaseAuth.createUserWithEmailAndPassword(email, password)
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    //checking if success
                    if(task.isSuccessful()){
                        //display some message here
                        Toast.makeText(this,"Successfully registered",Toast.LENGTH_LONG).show();
                    }else{
                        //display some message here
                        Toast.makeText(this,"Registration Error",Toast.LENGTH_LONG).show();
                    }
                    progressDialog.dismiss();
                }
            });
  • 点击您设计中的注册按钮,如果您收到成功消息。检查您的firebase控制台。 enter image description here

对于SignIn

mAuth.signInWithEmailAndPassword(strUsrL,strPassL)
                            .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                                @Override
                                public void onComplete(@NonNull Task<AuthResult> task) {
                                    progressBar.setVisibility(View.GONE);
                                    if(task.isSuccessful()){

                                        Toast.makeText(this, "Successfully Login", Toast.LENGTH_SHORT).show();
                                    }

                                }})
                            .addOnFailureListener(new OnFailureListener() {
                                @Override
                                public void onFailure(@NonNull Exception e) {

                                    Toast.makeText(this, e.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
                                    Log.e("EXCEPTION",e.getLocalizedMessage().toString());
                                }
                            });

答案 2 :(得分:0)

在模拟器中重新安装应用程序并尝试提供带有 Play 商店安装的模拟器