сохранить / получить учетные данные Firebase в React-native-keychain - PullRequest
0 голосов
/ 26 мая 2019

Нужно знать, как правильно хранить / извлекать данные из реактивной базы Firebase с помощью собственной цепочки ключей React, документы показывают только, как сохранить имя пользователя и пароль, но FireBase возвращает объект

при сохранении данных возвращает true и при извлечении возвращает _40: 0 _55: undefined _65: 1 _72: null.

keychainhelper.js

import * as Keychain from 'react-native-keychain';



const saveUserToken = async (user) =>{

   const credentials = await Keychain.setGenericPassword('userdata',user);
   console.log('credentials', credentials)

}

const retrieveUserToken = async (user) =>{

    try {
        // Retrieve the credentials
        const credentials = await Keychain.getGenericPassword();
        if (credentials) {
          console.log('Credentials successfully loaded for user ' + credentials.user);
        } else {
          console.log('No credentials stored');
        }
      } catch (error) {
        console.log('Keychain couldn\'t be accessed!', error);
      }
    //   await Keychain.resetGenericPassword();

}

App.js

import{ retrieveUserToken ,saveUserToken } from './keychainhelper.js'

login(){
     try{
        await firebase.auth().signInWithEmailAndPassword(email, password)
          .then(res =>{
              let userData = JSON.parse(res.user)
              console.log('userData',userData)
              let store = await saveUserToken(userData)
              console.log('store',store)


             let retrieve = retrieveUserToken()
             console.log('retrieve',collect)

}


}
}

ответ

   Object {
       "apiKey": "jkbdsc78wgf8wb98fhg89sgc87dgsc3fddsjhbcds",
       "appName": "[DEFAULT]",
       "authDomain": "myapp-89hg9cd.firebaseapp.com",
       "createdAt": "1531206612000",
       "displayName": null,
       "email": "user393@gmail.com",
       "emailVerified": false,
       ...
       "stsTokenManager": Object {
            "accessToken":"qwerty",
            "apiKey": "qwerty",
            "expirationTime": 1531339781120,
            "refreshToken": "qwerty",
       },
       "uid": "qwerty123",
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...