Mam aplikację ionic2 i korzystam z Firebase i angularFire2. Chciałbym uzyskać bieżący stan uwierzytelnienia i bieżący obiekt/użytkownik auth z firebase za pomocą metody angularFire2.Jak uzyskać aktualnie zalogowany stan uwierzytelniony/użytkownik z angularfire2
Oto, co działa do tej pory - mogę uwierzytelnić użytkownika i zasubskrybować FirebaseAuthState, aby uzyskać obiekt użytkownika Facebook.
constructor(platform: Platform, private auth: FirebaseAuth) {
auth.subscribe((user: FirebaseAuthState) => {
if (user) {
// I could store user in localstorage, but I'd like to see an All Firebase solution
this.rootPage = TabsPage;
} else {
this.rootPage = LoginPage;
}
});
Teraz mogę tylko ustawić localstorage tutaj i buforować mój obiekt użytkownika, aby zapamiętać stan auth. Jednak jestem ciekawy, jak mogę korzystać z Firebase tylko bez mojego wdrożenia własnego, niestandardowego lokalnego klucza pamięci. Widzę, że Firebase przechowuje własny klucz localStorage, więc wie, że jest zalogowany.
Jak mogę uzyskać obiekt auth z kodu? Dodatkowo wypróbowałem wymieniony przykład w dokumentacji AngularFire2, aby renderować stan auth w szablonie - ale to daje mi błąd.
import {FirebaseAuth} from 'angularfire2';
@Component({
selector: 'auth-status',
template: `
<div *ng-if="auth | async">You are logged in</div>
<div *ng-if="!(auth | async)">Please log in</div>
`
})
class App {
constructor (@Inject(FirebaseAuth) public auth: FirebaseAuth) {}
}
. ge Metoda tAuth zostanie usunięta. Powinieneś użyć metody auth subscribe, aby sprawdzić stan auth. – afmeva
@afmeva Jak uzyskać userInfo? – sandrooco
@Sandrooco Właśnie dodałem odpowiedź. Mam nadzieję, że działa dla ciebie – afmeva