2016-06-20 19 views
6

Bu veri grubuna fazladan nitelikler telefon numarası ve adresi nasıl ekleyebilirim? Firebase belgelerinin bu konuda hiçbir şey belirtmediği görülüyor.Firebase.auth ile ilgili ek bilgi nasıl eklenir()

//Email Login 
firebase.auth().signInWithEmailAndPassword(email, password).then(
    ok => { 
     console.log("Logged in User",ok.user);    
    }, 
    error => { 
     console.log("email/pass sign in error", error); 
    } 
); 

Kayıt:

//Sign Up 
firebase.auth().createUserWithEmailAndPassword(email, password).then(
    ok => { 
     console.log("Register OK", ok); 
    }, 
    error => { 
     console.log("Register error", error); 
    } 
) 

Güncelleme:

Ben firebase.auth()

Girişi kullanarak giriş, kayıt ve güncelleme uygulayan

//User Authentication firebase.auth().onAuthStateChanged(function(user) { if (user) { $scope.data=user; } else { // No user, Redirect to login page } }); //Save Function $scope.save=function(values){ $scope.data.updateProfile({ displayName: "Test User", email: "[email protected]", /* phone: 123412341, address: "Temp Address",*/ photoURL: "www.example.com/profile/img.jpg" }).then(function() { // Update successful. }, function(error) { // An error happened. }); }; 
+0

Lütfen yardımcı olur umarım kullanıcının veri almak için once() kullanabilirsiniz Sorununuzu çözdünüz, böylece diğer insanlar çözümü biliyorlar. Ayrıca, başka sorularınız varsa bana bildirin :) –

+0

Bu güzel bir uygulama: http://stackoverflow.com/questions/32151178/how-do-you-include-a-username-when-storing-email- ve-parola kullanarak-firebase-ba –

+0

Evet, bu Firebase uygulamasıdır. Ancak, yalnızca bu özelliklerle sınırlıdır: https://firebase.google.com/docs/reference/ios/firebaseauth/interface_f_i_r_user#properties Cevabım için yorumda yazdığım bağlantıda bunlar hakkında konuşuyorlar;) –

cevap

3

Bildiğim kadarıyla, Firebase tarafından sağlanan varsayılan kullanıcıdan daha fazla alana sahip olmak istiyorsanız, kullanıcı profillerini kendiniz yönetmek zorundasınız.

Bunu, tüm kullanıcı profillerini saklamak için Firebase'de bir başvuru oluşturarak yapabilirsiniz.

users: { 
    "userID1": { 
    "name":"user 1", 
    "gender": "male" 
    }, 
    "userID2": { 
    "name":"user 2", 
    "gender": "female" 
    } 
} 

Kullanıcı giriş yaptığında algılamak için onAuthStateChanged kullanabilir ve bunun olup olmadığını

firebaseRef.child('users').child(user.uid).once('value', callback) 

cevap, eğer

+0

Şu anda bu iyi bir çözüm. Ama aynı –

+1

için daha iyi bir çözüm olup olmadığını bilmek isterim. Bunu yapmak için önerilen yol budur. Daha iyi bir çözüm, ihtiyaçlarınıza daha iyi uyan bir çözüm olabilir. Verilerinizi nasıl almak istediğinize bağlı olarak yapılandırmalısınız. Örneğin, bazı bilgi sırlarını saklamak isterseniz şunları yapabilirsiniz: "userId": {"kredi kartı": "0000", "public": {"name": "Devid", "genere": "dragon" }} ve diğer kullanıcıların yalnızca "herkese açık" düğümü okumasına izin vermek için güvenlik kurallarını kullanın. Umarım yardımcı olur :) Başka bir soru için burdayım –

+0

Bu yanıt yardımcı olabilir: http://stackoverflow.com/a/37420701/4695325 –

İlgili konular