2016-11-25 4 views
0

Я видел пару вопросов, спрашивающих о том, как «хранить конфиденциальные данные en React Native» (например, this и this), но все эти случаи говорили о том, что динамические данные (например, с сервера) а затем сохраните его с помощью AsyncStorage. Но, если вам нужно НАПИСАТЬ чувствительный TOKEN/PASSWORD в коде?Как хранить конфиденциальные данные в реакторе?

Например, я хочу реализовать эту библиотеку: https://github.com/fullstackreact/react-native-oauth Как вы можете видеть в первом примере, я должен написать в коде секретный токен.

Есть ли файл во всей директории проекта с реакцией, где я могу поместить свои токены, а затем получить ее в приложении? Насколько безопасно управлять этими защищенными токенами в приложении?

Благодаря

+0

Asyncstorage является экспозиционно хранения, так что я бы не сохранить важную информацию там, даже если есть элемент управления, который удаляет их после выхода из приложения. Таким образом, вы можете хранить эти сведения с помощью mobx или redux, которые временно сохраняют значения. –

+0

@BurakKarasoy. Но информация никоим образом не защищена с помощью redux/mobx. Кроме того, информация не будет сохраняться, и у вас все еще есть задача установить эти значения. – martinarroyo

+0

Посмотрите на этот вопрос: http://stackoverflow.com/questions/1934187/oauth-secrets-in-mobile-apps – martinarroyo

ответ

1

Как хранить конфиденциальные данные в React Native код?

Да, есть способ сделать это, вы можете использовать react-native-keychain для хранения конфиденциальных данных с react-native

Для прошивки это использовать возможности Keychain Sharing

Для Android это использовать:

  • API-уровень 16-22 использовать Facebook Скрыть
  • Уровень API 23+ использует Android Keystore

Вы можете использовать его так:

// Generic Password, service argument optional 
Keychain 
    .setGenericPassword(username, password) 
    .then(function() { 
    console.log('Credentials saved successfully!'); 
    }); 

// service argument optional 
Keychain 
    .getGenericPassword() 
    .then(function(credentials) { 
    console.log('Credentials successfully loaded for user ' + credentials.username); 
    }).catch(function(error) { 
    console.log('Keychain couldn\'t be accessed! Maybe no value set?', error); 
    }); 
Смежные вопросы