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

関連する問題