0

Ich mache eine Anwendung mit einem Message-Objekt, das Absender- und Empfängereigenschaften hat.Wie bekomme ich Firebase-Benutzer (fb Auth) direkt? (ohne Realtime db ref)

Ich möchte diese Eigenschaften zuweisen Benutzer, die auf der Registerkarte Auth 'der Firebase-Konsole (fb auth-ed) leben.

Da die Funktionalität meiner Anwendung nur Daten von den Benutzern lesen muss, dachte ich, dass ich sie nicht zur Echtzeitdatenbank hinzufügen muss, sondern nur über FIRAuth (was ich für die interne Darstellung der Auth anwende) "Registerkarte auf Firebase-Konsole).

kann ich die 'aktuelle Benutzer wie folgt aus:

FIRAuth.auth()?.currentUser

Und dies wird der ‚Absender‘ Eigenschaft einer Nachricht sein.

Aber für die "Empfänger" -Eigenschaft möchte ich einen Benutzer (der Absender wird aus einem Dropdown-Liste von fb-Kontakten wählen) von den fb auth-ed in der Auth Registerkarte der Firebase-Konsole aufgeführt. Für Empfänger muß ich in der Lage sein, so etwas wie dieser (Pseudo-Code) zu tun:

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

Ist es möglich, diese direkt ohne User-Tabelle zu tun (s) in der Datenbank? Muss ich wirklich Einträge von Firebase Auth zu Firebase Database kopieren? Sollte es keinen besseren Weg geben, um nicht aktuelle Benutzer von Firebase zu beziehen? Glaubt jemand anderes, dass das wirklich schlechtes Design ist (um nur einen Eintrag lesen zu können)? Bin ich nicht für die Pflege dieser Einträge verantwortlich?

Schätzen Sie Zeiger auch auf spezifisches Lesen!

Aus Gründen der Klarheit versuche ich nicht, einen Eintrag in der Registerkarte Echtzeitdatenbank der Firebase Console abzufragen. Ich versuche, das Benutzerobjekt abzufragen, das Firebase von Facebook speichert (das ist in der Firebase-Konsole in der Registerkarte Auth sichtbar).

+1

Wenn Sie versuchen, auf andere Benutzerinformationen zuzugreifen, dann müssen Sie diese Werte in der Datenbank speichern und dann von dort auf sie zugreifen. Von der aktuellen * 'auth' * Klasse können Sie nur auf die aktuellen Benutzerinformationen zugreifen – Dravidian

+0

Danke @Dravidian, ich glaube dir und glücklich, das zu versuchen, aber wenn du weißt, wo in den Dokumenten es angibt, dass es notwendig ist, würde ich den Link auch lieben. –

+1

Es gibt keine API, um eine Liste von Benutzern von der Firebase-Authentifizierung zu erhalten. Der typische Ansatz ist wie Dravidian beantwortet, der in vielen Fragen bereits abgedeckt ist, darunter auch dieses [Original] (http://stackoverflow.com/q/14673708), dieses [eines von mir] (http://stackoverflow.com)/q/31038611) und dieses [neuere] (http://stackoverflow.com/q/39757121). –

Antwort

0

Für den Zugriff auf die anderen Benutzer Ihre JSON Struktur wie folgt machen: -

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} 
} 

Zugriff Nur diejenigen users_Data in Ihrer Datenquelle zu speichern, in dem Sie Ihre UserSid der Zugriff haben wird.

Verwandte Themen