Как получить идентификатор пользователя (UID) из базы данных Firebase в реальном времени без входа в систему - PullRequest
0 голосов
/ 29 октября 2018

Как получить идентификатор пользователя (UID) из базы данных Firebase в реальном времени без входа в систему.

String currentuser = FirebaseAuth.getInstance().getCurrentUser().getUid();

Поскольку этот код работает, когда в систему вошел любой пользователь firebase. Например, если пользователь вошел в систему и хочет получить UID другого пользователя, то как он может получить UID этого пользователя. Я хочу получить этот идентификатор пользователя ...

1 Ответ

0 голосов
/ 29 октября 2018

Я бы НЕ рекомендовал вам раскрывать UID любого пользователя, который открыто, потому что он может легко использоваться неправильно, если выставлен в приложении любому пользователю.

Это может быть угрозой безопасности вашей базы данных.

Тем не менее, если вы уверены, что это не будет проблемой в вашем случае, то получить uid любого другого пользователя можно только тогда, когда вы храните uid всех аутентифицированных пользователей. в вашей базе данных.

Предположим, у вас есть такая структура JSON:

-FirebaseAndroidUniqueName
|
 -Users
  |
   -uid
   |
    -name
    -uid
    -otherThings

Тогда получить uid любого пользователя можно с помощью кода, подобного приведенному ниже:

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("Users");
                    databaseReference.orderByChild("name").equalTo(userNameWhoseUidYouWant).addListenerForSingleValueEvent(new ValueEventListener() {
                        @Override
                        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                            for (DataSnapshot ds : dataSnapshot.getChildren()) {
                               String uid = ds.child("uid").getValue(String.class);

                            }
                        }

                        @Override
                        public void onCancelled(@NonNull DatabaseError databaseError) {

                        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...