0

Я делаю приложение с объектом Message, у которого есть свойства отправителя и получателя.Как получить Firebase User (fb auth) напрямую? (без реального времени db ref)

Я хотел бы присвоить эти свойства пользователям, которые живут на вкладке Auth в Firebase Console (fb auth-ed).

Поскольку функциональность моего приложения требует только чтения данных от пользователей, я думал, что мне не нужно добавлять их в базу данных реального времени, просто получить к ним доступ через FIRAuth (который я предполагаю, является внутренним представлением Auth 'на Firebase Console).

я могу получить «текущий пользователь», как это:

FIRAuth.auth()?.currentUser

И это будет свойство 'отправителя сообщения.

Но для свойства 'receiver' я хочу захватить пользователя (который отправитель выберет из выпадающего списка контактов fb) из fb-файлов, перечисленных на вкладке Auth 'Firebase Console. Для получателя, мне нужно, чтобы быть в состоянии сделать что-то вроде этого (псевдокод):

users.find(where uid == current_user.uid)

Можно ли сделать это непосредственно без пользователя таблицы (ов) в базе данных? Нужно ли мне копировать записи из Firebase Auth в базу данных Firebase? Разве не должно быть лучшего способа получить неактивных пользователей из Firebase? Кто-нибудь еще думает, что это действительно плохой дизайн (просто для чтения записи)? Разве я не отвечаю за содержание этих записей?

Признайте указатели конкретному чтению!

Для ясности я не пытаюсь запросить запись на вкладке базы данных реального времени в Firebase Console. Я пытаюсь запросить объект User, который Firebase сохраняет из Facebook (который отображается на вкладке Auth в Firebase Console).

+1

Если вы пытаетесь получить доступ к информации других пользователей, вам необходимо сохранить эти значения в базе данных, а затем получить к ним доступ .. Из текущего * '' '' '' '' '' '' '' '' '' '' '' '' '' '' был бы доступ только к данным текущего пользователя – Dravidian

+0

спасибо @Dravidian, я верю вам и счастлив попробовать, но если вы знаете, где в документах указано, что это необходимо, мне тоже понравится ссылка. –

+1

Нет API для получения списка пользователей из Firebase Authentication. Типичный подход, как ответил Дравидий, который уже включен в многие вопросы, включая этот [оригинальный] (http://stackoverflow.com/q/14673708), этот [один от меня] (http://stackoverflow.com/q/31038611) и этот [последний] (http://stackoverflow.com/q/39757121). –

ответ

0

Чтобы получить доступ к другим пользователям сделать структуру JSON как это: -

Users:{ 
    userID1 : {...//PERSONAL DATA}, 
    userID2 : {...//PERSONAL DATA}, 
    userID3 : {...//PERSONAL DATA} 
    }, 
users_Data:{ 
    userID1 : {...//data to be shared like userID, name..etc}, 
    userID2 : {...//data to be shared like userID, name..etc}, 
    userID3 : {...//data to be shared like userID, name..etc} 
} 

Просто доступ к тем users_Data хранить в DataSource, в котором вы будете иметь ваши usersID для доступа.