2017-09-10 103 views
0

我的应用程序在注册时无法验证新用户身份。该应用程序已连接到Google Firebase,似乎没有任何问题。代码似乎也没问题,它显示没有错误,我检查了所有10000000次。所需的一切都已经导入。当我尝试注册新用户时,出现一个错误消息:“发生了内部错误。[未配置访问权限.Google Identity Toolkit API尚未在项目中使用(这里是12位数的项目编号),或者它已被禁用。通过访问console.developers.google.com/apis/api/...项目编号启用它),然后重试。如果您最近启用了此API,请等待几分钟,以便将操作传播到我们的系统并重试。]我设置了身份验证昨天,所以我不知道该怎么办...Firebase身份验证的无尽失败

public class RegisterUserActivity extends AppCompatActivity { 
    //DECLARE FIELDS 
    EditText userEmailCreateEditText, userPassWordCreateEditText; 
    LinearLayout createAccountBtn; 
    //FIREBASE AUTHENTICATION ID 
    FirebaseAuth mAuth; 
    FirebaseAuth.AuthStateListener mAuthListener; 
    //PROGRESS DIALOG 
    ProgressDialog mProgressDialog; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_register_user); 
     //ASSIGN ID'S 
     userEmailCreateEditText = (EditText) findViewById(R.id.emailRegisterEditText); 
     userPassWordCreateEditText = (EditText) findViewById(R.id.passwordRegisterEditText); 
     createAccountBtn = (LinearLayout) findViewById(R.id.createAccountSubmitBtn); 
     //PROGRESS DIALOG INSTANCE 
     mProgressDialog = new ProgressDialog(this); 
     //FIREBASE INSTANCE 
     mAuth = FirebaseAuth.getInstance(); 
     mAuthListener = new FirebaseAuth.AuthStateListener() { 
      @Override 
      public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { 
       //CHECK USER 
       FirebaseUser user = firebaseAuth.getCurrentUser(); 
       if(user != null) 
       { 
        Intent moveToHome = new Intent(RegisterUserActivity.this, Home.class); 
        moveToHome.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        startActivity(moveToHome); 
       } 
      } 
     }; 
     mAuth.addAuthStateListener(mAuthListener); 
     //CREATE ON CLICK LISTENER 
     createAccountBtn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       mProgressDialog.setTitle("Create Account"); 
       mProgressDialog.setMessage("Wait while the account is being created.."); 
       mProgressDialog.show(); 
       createUserAccount(); 
      } 
     }); 
    } 
    @Override 
    protected void onStart() { 
     super.onStart(); 
     mAuth.addAuthStateListener(mAuthListener); 
    } 
    @Override 
    protected void onStop() { 
     super.onStop(); 
     mAuth.removeAuthStateListener(mAuthListener); 
    } 
    //LOGIC FOR CREATING THE USER ACCOUNT 
    private void createUserAccount() { 
     String emailUser, passUser; 
     emailUser = userEmailCreateEditText.getText().toString().trim(); 
     passUser = userPassWordCreateEditText.getText().toString().trim(); 
     if(!TextUtils.isEmpty(emailUser) && !TextUtils.isEmpty(passUser)) 
     { 
      mAuth.createUserWithEmailAndPassword(emailUser, passUser).addOnCompleteListener(new OnCompleteListener<AuthResult>() { 
       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 
        if(task.isSuccessful()) 
        { 
         Toast.makeText(RegisterUserActivity.this, "Account created Success", Toast.LENGTH_LONG).show(); 
         mProgressDialog.dismiss(); 
         Intent moveToHome = new Intent(RegisterUserActivity.this, Home.class); 
         moveToHome.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
         startActivity(moveToHome); 
        }else 
        { 
         Toast.makeText(RegisterUserActivity.this, task.getException().getMessage(), Toast.LENGTH_LONG).show(); 
         mProgressDialog.dismiss(); 
         task.getException().getMessage(); 
        } 
       } 
      }); 
     } 
    } 
} 
+0

所以你做了它所说的并且在你的项目的仪表板中启用了Google auth? –

+0

当然,我确实启用了电子邮件/密码和Google身份验证。 –

+0

您可能需要联系Firebase支持人员,以便他们进行诊断。 https://firebase.google.com/support/contact/troubleshooting/ –

回答

0

在Android应用的google-services.json文件的project_id应该是一样的,你启用了谷歌登录身份验证火力地堡控制台项目。请尝试重新下载来自Firebase控制台的google-services.json,并重新构建您的Android应用