2015-07-09 36 views
9

Sono a conoscenza del fatto che using Twitter/Facebook Firebase authentication with React Native genera un errore poiché ovviamente non è l'env giusto aprire una nuova finestra di autenticazione. Inoltre, l'autenticazione Email/Password dovrebbe anche fallire poiché dipende da LocalStorage che React Native non supporta. È il modo migliore per implementare qualsiasi tipo di autenticazione Firebase in React Native per creare un bridge Swift/ObjC quindi utilizzare solo la libreria di autenticazione Swift/ObjC Firebase? Se è così, qualcuno ha qualche esempio di fare questo?React Native con Firebase Authentication

risposta

16

Aggiornamento: A partire da Firebase 3.x, l'autenticazione Firebase mantiene correttamente gli utenti nelle app React Native.

Ah, non mi sono reso conto che React Native non ha localizzato il polyfill. Quindi, se ho capito bene la tua domanda, l'autenticazione email/password con Firebase funziona bene in React Native, tranne per il fatto che non è persistente attraverso l'inizio dell'app, quindi l'utente deve accedere ogni volta.

Una possibile soluzione sarebbe quella di mantenere manualmente il token di autenticazione manualmente. Qualcosa di simile:

  1. Chiama authWithPassword (...) come al solito.
  2. Nel gestore onComplete, recuperare authData.authToken e archiviarlo localmente (ad esempio utilizzando AsyncStorage).
  3. Alla successiva avvio dell'app, recuperare il token di autenticazione dalla memoria e chiamare authWithCustomToken (authToken, ...).

Cercheremo di far sì che Firebase faccia questo automaticamente, ma è un po 'complicato farlo senza influenzare gli altri utenti di Firebase oltre a reagire. Ho aggiunto questo al nostro database interno di bug e vedremo cosa possiamo inventare. Aggiorneremo questa risposta quando avremo una soluzione. Grazie!

+0

Genius. Apprezzo Michael! Invierò qualsiasi risultato sulla mia parte e giocherò con esso. –

+0

C'è uno snippet/demo di codice su come implementarlo? Ad esempio, posso ottenere l'autenticazione dell'utente lavorando per il web usando questo link come riferimento https://www.firebase.com/docs/web/guide/login/password.html ma come posso farlo funzionare in modo nativo senza includere firebase js file? – ak85

+0

è già stato risolto? Firebase mantiene gli utenti? – Ferologics