2016-06-21 14 views
5

Jeśli administrator utworzył konto użytkownika w konsoli Firebase, po zalogowaniu się użytkownika, czy możliwe jest pobranie "stworzonej" daty użytkownika?Czy mój kod może określać datę utworzenia konta bieżącego użytkownika?

Dzięki.

P.S Duży głos dla Firebase, aby dodała więcej kontrolek administratora programowo, do zarządzania użytkownikami.

+0

Ty tagiem [Firebase-database], ale nie wiem, jak to jest związane. Czy możesz zaktualizować, aby relacja była bardziej przejrzysta lub usunąć ten tag? –

+0

Cześć Frank, nie wstawiłem tych tagów, wierzę, że mod musiał je dostosować do tego. Powiedziałbym, że duża część zarządzania użytkownikami Firebase jest częścią bazy danych, ale Firebase sugeruje, że rekordy użytkownika poza e-mailem i hasłem powinny być przechowywane na przykład w węźle/users. –

+1

Witaj Josh. Odbieramy wewnętrznie swój głos na dodanie bardziej programistycznych kontroli administratora :) –

Odpowiedz

2

Pomimo tego, że możesz zobaczyć te informacje w konsoli Firebase Auth, nie będziesz w stanie pobrać tych danych po stronie aplikacji, jak widać w documentation.

Jeśli chcesz użyć tych danych w swojej aplikacji, musisz przechowywać je w bazie danych w sposób przypominający databaseRoot/user/userUid/createdAt. Dlatego upewnij się, że tworzysz ten węzeł za każdym razem, gdy tworzysz nowego użytkownika, na przykład w this question.

0

Funkcja ta iterację wszystkich użytkowników i rekordu nie sporządzenia pod users/$uid/company lokalizacja

const iterateAllUsers = function() { 
    const prom = db.ref('/users').once('value').then(
    (snap) => { 
     const promArray = []; 
     const users = snap.val(); 

     Object.keys(users).forEach((user) => { 
     promArray.push(getUIDCreationDate(user)); 
     }); 
     return Promise.all(promArray); 
    }); 
    return prom; 
} 

const getUIDCreationDate = function (uid) { 

    const prom = fb.getUser(uid) 
    .then(function (userRecord) { 
     const prom2 = db.ref(`/users/${uid}/company`).update({ creationDate: userRecord.metadata.createdAt }).then((success) => console.log(success)).catch((error) => console.log(error)); 
     return prom2; 
    }).catch(
    error => { 
     console.log(JSON.stringify(error)) 
    }); 
    return prom; 
} 
Powiązane problemy