2017-05-08 81 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

相关问题