2017-04-15 24 views
5

Mam działające uwierzytelnienie za pomocą angularfire2, zastanawiam się tylko, czy istnieje inny sposób sprawdzenia, czy użytkownik jest uwierzytelniany po tym, jak użytkownik ostatnio się zalogował bez trafienia na serwer? Sposób, w jaki to zrobić, jak toSprawdzanie, czy użytkownik nadal jest uwierzytelniany w angularfire2

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

Każda pomoc jest mile widziana

Edit 1:.

postanowiłem nadal korzystać z oryginalnego kodu, aby sprawdzić, czy użytkownik jest ostatnio zalogowany Co @cartant zasugerował, że jest wystarczająco dobry, gdy nie sprawdzasz użytkownika przy uruchomieniu aplikacji, ponieważ może zwrócić wartość null, jak podano w oficjalnych dokumentach bazy firebase. Sposób, w jaki go użyłem, polega na tym, że mam pozycje menu, które powinny być pokazywane wyłącznie uwierzytelnionym użytkownikom, a użycie firebase.auth().currentUser zawsze zwróci wartość null przy początkowym załadowaniu strony.

+0

co to za Ciebie dostają. jakikolwiek błąd lub? – Aravind

+0

@Aravind Nie otrzymuję błędu. Chcę tylko wiedzieć, czy istnieje sposób sprawdzenia, czy użytkownik jest zalogowany bez korzystania z this.af.auth.subscribe() – brijmcq

Odpowiedz

7

AngularFire2 przechodzi obecnie niektóre refaktoryzacji i znaczące fragmenty jego uwierzytelniania API będą usuwane za pomocą Web API Firebase w połączeniu z AngularFire2. Więcej informacji znajduje się w this issue.

Obserwowalny, który został użyty pozostanie w AngularFire2 i można go subskrybować, aby otrzymywać powiadomienia o zmianach w stanie uwierzytelniania.

Jednak jeśli wszystko jesteś zainteresowany jest ustalenie, czy istnieje obecnie uwierzytelniony użytkownik znajduje się nieruchomość currentUser w sieci Web API Firebase że będzie powiedzieć, że:

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

dziękuję za odpowiedź. Tak, widziałem gdzieś ten kod. Pomyślałem tylko, że może być api do tego w angularfire2. Chyba muszę poczekać na aktualizację. – brijmcq

+1

Bez obaw. W odpowiedzi usiłowałem wyjaśnić, że AngularFire2 jest poddawany refaktoryzacji, aby uniknąć po prostu pakowania rzeczy, które można wykonać za pomocą interfejsu API Firebase Web i że korzystanie z tych dwóch elementów będzie zachęcane. Więc odpowiednik 'currentUser' nie zostanie dodany do AngularFire2 i równie dobrze możesz zacząć korzystać z' currentUser' Firebase Web API. – cartant

+0

jeszcze raz dziękuję! Zapamiętam to. – brijmcq

Powiązane problemy