2015-02-26 14 views
10

Attualmente sto usando firebase per creare un ionic app. Sto usando firebase simple login per (facebook, twitter, email & password). L'autenticazione funziona perfettamente, è $broadcasts il authed user. Tuttavia non sembra creare un utente nell'effettivo firebase db. Mi stavo chiedendo come posso ottenere gli utenti che sono stati authed usando il mio app. Grazie, l'aiuto è molto apprezzato :).Dove si salva Firebase sono semplici utenti di accesso?

risposta

12

Per la maggior parte dei protocolli di autenticazione supportati, Firebase non memorizza i dati dell'utente da nessuna parte. Anche per i protocolli in cui è i dati del negozio (conosco solo l'email + password che lo fa), memorizza queste informazioni in un posto a cui l'applicazione non può accedere (anche se puoi trovarli nel dashboard del tuo Firebase).

Per citare il Firebase documentation:

Non memorizzare lo stato del profilo o utente nella vostra Firebase. Per mantenere i dati dell'utente devi salvarlo sul tuo Firebase.

Ciò che la maggior parte delle applicazioni finisce per fare, è mantenere un elenco di utenti all'interno del proprio Firebase che gestiscono da soli. Pertanto, quando un utente esegue l'autenticazione per la prima volta con l'applicazione, crea un nodo sotto /users/<uid> che contiene le informazioni per quell'utente.

Vedere questa sezione dello Firebase documentation that describes storing user data.

6

Firebase non memorizza il profilo o lo stato utente nell'istanza di Firebase. Per mantenere i dati dell'utente devi salvarlo sul tuo Firebase.

Firebase fornisce molteplici authentications services

  1. utilizzando risorse esistenti fornitori di accesso sociale come Facebook, Twitter, Google, e GitHub. L'utilizzo di questi servizi offre un'opzione per gli utenti di accedere alla tua applicazione senza creare un nuovo account.

  2. Utilizzo del supporto integrato per l'accesso con la password & e-mail. Ciò richiede la registrazione e la creazione dell'account gestita da Firebase. Le informazioni sull'account utente sono memorizzate all'esterno dell'applicazione.

  3. Utilizzo di un'autenticazione personalizzata per implementare l'autenticazione lato server esistente, single sign-on, sistemi legacy o servizi basati su OAuth di terze parti (come Yahoo).

Una volta autenticato, Firebase restituire una variabile auth per l'applicazione che è possibile utilizzare per authorization and access control. Questa variabile è nullo per gli utenti non autenticati, ma per gli utenti autenticati è un oggetto contenente l'univoco dell'utente (auth.uid) e potenzialmente altri dati sull'utente.

Se si desidera mantenere le informazioni utente aggiuntive, quali il nome e la posizione, allora avete bisogno di utilizzare auth.uid e memorizzarlo nella Firebase con i dati del profilo aggiuntivi.

Internamente, Firebase genera JSON web Gettoni (JWTs) e crea sessioni autenticate chiamando Firebase.loginWithCustomToken() con quelle pedine. Ad ogni utente viene assegnato un uid (un ID univoco), che è garantito per essere distinto tra tutti i fornitori e che non cambia mai per uno specifico utente autenticato.

Problemi correlati