2016-11-25 18 views
0

「機密データを保存する方法」(thisおよびthisなど)について質問しましたが、これらのすべてのケースでは機密データを動的に(サーバーなどから)取得することについて話し合っていました。 AsyncStorageを使用して保存します。 しかし、CODEの敏感なTOKEN/PASSWORDを書く必要があるのはどうですか?機密データをReactネイティブコードに保存する方法は?

たとえば、私はこのライブラリを実装したいと思います。https://github.com/fullstackreact/react-native-oauth 最初の例からわかるように、コードには秘密トークンを書き込む必要があります。

私のトークンを置いてアプリケーションに入れることができる反応ネイティブプロジェクトディレクトリにファイルがありますか? アプリケーション内の安全なトークンをどのくらい安全に操作することができますか?

おかげ

+0

Asyncstorageはpermamentストレージです。したがって、一時的に値を格納するmobxまたはreduxを使用して、これらの情報を格納することができます。 –

+0

@BurakKarasoyしかし、情報は決してredux/mobxを使って特別な方法で保護されることは決してありません。また、情報は永続的ではなく、それらの値を設定するという課題があります。 – martinarroyo

+0

この質問を見てください:http://stackoverflow.com/questions/1934187/oauth-secrets-in-mobile-apps – martinarroyo

答えて

1

ネイティブコードを反応させるのにどのように機密データを保存するには?

はい、あなたが

Androidの場合、それは使うことはキーホルダー共有機能を使用してiOS用react-native

で機密データを保存するためにreact-native-keychainを使用することができ、それを行うための方法があります

  • APIレベル16-22使用Facebook Conceal
  • APIレベル23+使用Androidキーストア
  • あなたはそのようにそれを使用することができます:私は、アプリを出た後にそれらを削除コントロールがあってもそこに重要な情報を保存しないように

    // 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); 
        }); 
    
    関連する問題