2017-05-08 28 views
0

是否需要我有用戶名/電子郵件和密碼才能將數據保存到Firebase?從我讀過的所有文檔看來,我需要創建UserWithEmailAndPassword,然後才能將信息保存到數據庫。這是真的?如果是這樣,我可以在後臺自動生成一個用戶名,並將其用作會話標識符,以便我可以存儲數據嗎?是否需要用於存儲Firebase數據的用戶名和密碼?

mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
    @Override 
    public void onComplete(@NonNull Task<AuthResult> task) { 
     if (!task.isSuccessful()) { 
      Toast.makeText(LoginActivity.this, "An error occurred", Toast.LENGTH_SHORT).show(); 
     } else { 
      createNewUser(task.getResult().getUser()); 
     } 
     hideProgressDialog(); 
    } 
)}; 


private void createNewUser(User userFromRegistration) { 
    String username = "username"; 
    String email = userFromRegistration.getEmail(); 
    String userId = userFromRegistration.getUid(); 

    User user = new User(username, email); 

    mDatabase.child("users").child(userId).setValue(user); 
} 
+1

您可以創建一些隨機字符串生成背景假的電子郵件地址和密碼,但爲什麼不詢問用戶的信息?您將會擁有一個整潔的Firebase控制檯。 –

+0

@ H.Brooks你說的是真實的,但我不想創建註冊。這個應用程序不是那麼深奧。感謝您的建議。 – portfoliobuilder

回答

2

不需要用戶名和密碼在firebase上存儲數據,但它們在默認情況下是必需的。所有你需要做的就是去你的火力控制檯中的規則選項卡並更改默認設置來:

{ 
    "rules": { 
    ".read": "auth == null", 
    ".write": "auth == null" 
    } 
} 
+0

正是我在找的東西。謝謝! – portfoliobuilder

相關問題