Ho un'app ionic2 e sto usando Firebase e angularFire2. Mi piacerebbe ottenere lo stato di autenticazione corrente e l'oggetto/utente corrente da Firebase usando angularFire2.Come accedere al login stato/utente di angularfire2
Ecco cosa funziona finora: posso autenticare l'utente e iscriversi a FirebaseAuthState per ottenere l'oggetto utente di 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;
}
});
Ora posso solo impostare localstorage qui e memorizzare l'oggetto utente nella cache per ricordare lo stato di autenticazione. Tuttavia, sono curioso di vedere come posso utilizzare Firebase solo senza che io implementi la mia chiave di archiviazione locale personalizzata. Vedo che Firebase memorizza una chiave localStorage di sua proprietà, quindi sa che è loggato.
Come posso ottenere l'oggetto auth dal codice? Inoltre, ho provato l'esempio elencato nella documentazione di AngularFire2 per il rendering dello stato di autenticazione nel modello, ma mi dà un errore.
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 Il metodo tAuth verrà rimosso. È necessario utilizzare il metodo auth subscribe per verificare lo stato di autenticazione. – afmeva
@afmeva Come ottenere l'utente Info quindi? – sandrooco
@Sandrooco ho appena aggiunto una risposta. Spero che funzioni per voi – afmeva