Могу ли я использовать аутентификацию пользователя Firebase в DatabaseReferences? - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть база данных, работающая с firebase, а также с аутентификацией пользователя, но я не могу понять, как использовать электронную почту пользователя или UID в качестве дочерней ссылки. Я использую user.getEmail () для получения их электронной почты в виде строки, а затем помещаю это в .child () или .getReference (). При этом всегда вылетает мое приложение. Я верю, что это как-то связано с тем, как я это организовываю, но я не уверен. У кого-нибудь есть подсказки?


private FirebaseAuth mAuth;
FirebaseUser user;

private TextView mTextView;

private String email;
//private String other;

FirebaseDatabase testReference= FirebaseDatabase.getInstance();
DatabaseReference conditionRef=testReference.getReference();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test_page);

    mTextView=findViewById(R.id.Condition);

    mAuth=FirebaseAuth.getInstance();


    user=mAuth.getCurrentUser();
    if(user!=null){
        mTextView.setText("User on Page!");
        email=user.getEmail();
        conditionRef.child(email);
    }
    if(user==null)
        mTextView.setText("User not on Page");

}

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

если вы пытаетесь отправить электронное письмо в базу данных, хотя бы то, что я думаю, вы пытаетесь сделать, попробуйте это:

if(user!=null){
    mTextView.setText("User on Page!");
    email=user.getEmail();
    conditionRef.child("users").child(user.getUid()).child("email").setValue(email);
}

Ваша база данных должна выглядеть так:

users
|
|----userID
     |
      ----"email":"someone@something.com"
0 голосов
/ 22 апреля 2020

Вы должны проверить документы

Есть четкий пример

{
  "rules": {
    "users": {
      "$uid": {
        ".write": "$uid === auth.uid"
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...