2017-04-15 33 views
5

Angularfire2'yi kullanarak çalışan bir kimlik doğrulaması var, sadece kullanıcı, sunucuya son kez giriş yaptıktan sonra oturum açtıktan sonra kullanıcının kimliğinin doğrulanıp doğrulanmadığını kontrol etmenin başka bir yolu olup olmadığını merak ediyorum. Bunu yolu Herhangi bir yardımKullanıcı angularfire2 içinde hala doğrulanmış olup olmadığını kontrol etme

takdir bu

isAuthenticated():boolean{ 
this.af.auth.subscribe(data => { 
    if(data){ 
    // User is authenticated 
    return true; 
    } 
}); 
} 

gibidir

Düzenleme 1:.

Hala kullanıcı Son zamanlarda giriş olup olmadığını kontrol etmek için orijinal kodu kullanmaya karar ne @ Firmanın önerisi, uygulamayı başlangıçta kontrol etmediğinizde yeterince iyi olduğundan, firebase resmi belgelerinde belirtildiği gibi null döndürebilir. Burada kullanmamın yolu, yalnızca kimliği doğrulanmış kullanıcılara gösterilmesi gereken ve firebase.auth().currentUser numaralı sayfanın kullanılması, sayfanın ilk yüküne her zaman boş değer katacak menü öğelerine sahip olduğumdur.

+0

sen misin nedir oluyorlar. herhangi bir hata ya da? – Aravind

+0

@Aravind Bir hata alamıyorum. Ben sadece kullanıcı bu this.af.auth.subscribe() – brijmcq

cevap

7

AngularFire2 şu anda bazı üstlenmeden ve kimlik doğrulama API önemli kısımları AngularFire2 ile birlikte Firebase Web API kullanarak lehine kaldırıldı olacak geçiyor. this issue'da daha fazla bilgi var.

Kullandığınız gözlemlenebilir AngularFire2'de kalacak ve kimlik doğrulama durumunda değişiklik bildirimleri almak için abone olabilirsiniz. Bir anda doğrulanmış kullanıcı olup olmadığını belirlemektir ilgilenen tüm sizi bu anlatacağım Firebase Web API bir currentUser özellik varsa

Ancak:

import * as firebase from "firebase"; 
... 
console.log(firebase.auth().currentUser); 
+0

kullanmadan giriş yapıp yapmadığınızı kontrol etmek için bir yol olup olmadığını öğrenmek istiyorum. Evet, o kodu da bir yerlerde gördüm. Sadece açısal ateşte bunun için bir api olabileceğini düşündüm2. Sanırım bunun için bir güncelleme beklemek zorundayım. – brijmcq

+1

Endişeye gerek yok. Cevabımda yapmaya çalıştığım nokta, AngularFire2'nin temelde Firebase Web API'sı ile yapılabilecek şeyleri sarmaktan kaçınmak için yeniden düzenlenmesi ve ikisi birlikte kullanılmasının teşvik edilmesiydi. Bu nedenle, bir "currentUser" eşdeğeri AngularFire2'ye eklenmeyecek ve Firebase Web API'sının "currentUser" işlevini şimdi kullanmaya başlayabilirsiniz. – cartant

+0

tekrar teşekkürler! Aklımda tutarım. – brijmcq

İlgili konular