2016-05-31 114 views
5

我們的要求無法使用火力驗證模塊

註冊使用電子郵件/密碼與火力地堡SDK在Android

問題

的的onComplete()方法不獲取調用登記。沒有錯誤/異常被拋出。 注:我們已經啓用了火力地堡控制檯上的電子郵件/密碼提供商

請找到下面的代碼 -

public void onClick(View v) { 
     try { 
      if (v == saveView) { 
       String email = emailView.getText().toString(); 
       String password = passwordView.getText().toString(); 
       if (validate(email, password)) { 

        mAuth.createUserWithEmailAndPassword(email, password) 
          .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
           @Override 
           public void onComplete(@NonNull Task<AuthResult> task) { 
            Log.d(TAG, "createUserWithEmail:onComplete:" + task.isSuccessful()); 

            // If sign in fails, display a message to the user. If sign in succeeds 
            // the auth state listener will be notified and logic to handle the 
            // signed in user can be handled in the listener. 
            if (!task.isSuccessful()) { 
             Toast.makeText(UserRegisterActivity.this, "Authentication failed.", 
               Toast.LENGTH_SHORT).show(); 
            } 
           } 
          }); 
       } 
      } 
     }catch (Exception e) { 
      Log.d("BIG", e.getStackTrace().toString()); 
     } 
    } 

private boolean validate(String email , String password){ 
     return true; 
    } 
+0

是問題解決了嗎?我正面臨與相同的問題 – Prabs

+0

面對與我的一些用戶相同的問題,他們中的一些人成功了一些不......您是否有任何解決方案到目前爲止 –

回答

0

試一試它的工作對我來說,也許這是幫你

firebase.createUser(etEmail.getText().toString(), etPassword.getText().toString(), new Firebase.ValueResultHandler<Map<String, Object>>() { 
       @Override 
       public void onSuccess(Map<String, Object> result) { 


        System.out.println("Successfully created user account with uid: " + result.get("uid")); 

       } 
       @Override 
       public void onError(FirebaseError firebaseError) { 
        // there was an error 

        String errorMessage = firebaseError.getMessage(); 

        Toast.makeText(RegisterActivity.this, ""+errorMessage, Toast.LENGTH_SHORT).show(); 
       } 


      }); 

用於登錄

firebase.authWithPassword(etEmail.getText().toString(), etPassword.getText().toString(), new Firebase.AuthResultHandler() { 
       @Override 
       public void onAuthenticated(AuthData authData) { 

        Log.e(TAG, "User Authenticated"); 

        System.out.println("User ID: " + authData.getUid() + ", Provider: " + authData.getProvider()); 

       } 

       @Override 
       public void onAuthenticationError(FirebaseError firebaseError) { 
        switch (firebaseError.getCode()) { 
         case FirebaseError.USER_DOES_NOT_EXIST: 
          // handle a non existing user 

          Log.e(TAG, "User Does Not Exist"); 
          break; 
         case FirebaseError.INVALID_PASSWORD: 
          // handle an invalid password 
          Log.e(TAG, "Invalid Password"); 
          break; 
         default: 
          // handle other errors 
          break; 
        } 
       } 
      }); 
+1

查看谷歌Firebase文檔的代碼是不同的https://firebase.google.com/docs/auth/android/password-auth#create_a_password-based_account –

+0

@AshutoshKumar也讀這個https://www.firebase.com/docs/android/quickstart.html –

+0

@AshutoshKumar也許此方法已過時,但仍可正常工作 –

0

對於火力地堡舊的API試試這個

fbRoot.authWithPassword("email", "pasw", new Firebase.AuthResultHandler() { 
      @Override 
      public void onAuthenticated(AuthData authData) { 
       Toast.makeText(MainActivity.this, "User ID: " + authData.getUid() + ", Provider: " + authData.getProvider(), Toast.LENGTH_SHORT).show(); 
      } 

      @Override 
      public void onAuthenticationError(FirebaseError firebaseError) { 

      } 
     }); 

這爲創建帳戶

fbRoot.createUser("email", "password", new Firebase.ResultHandler() { 
      @Override 
      public void onSuccess() { 
       Toast.makeText(MainActivity.this, "Saved", Toast.LENGTH_SHORT).show(); 
      } 

      @Override 
      public void onError(FirebaseError firebaseError) { 
       Toast.makeText(MainActivity.this, firebaseError.getMessage(), Toast.LENGTH_SHORT).show(); 
      } 
     }); 
+0

請注意,您的電子郵件應遵循EMAIL FORMAT([email protected]), –

+0

檢查Google Firebase文檔https://firebase.google.com/docs/auth/android/password- auth#create_a_password-based_account –

+0

mhhh,你說的是新的API,謝謝,讓我檢查一下。謝謝 –