2017-05-30 8 views
3

私はReact Nativeアプリケーション内にユーザーアクセストークンを格納することを検討しています。当初は私はReduxを見てきましたが、RNにAsyncStorageがあることに気付きましたが、IOSの場合はNSUserDefaultsに相当すると仮定しています。私は間違っているかもしれません。AsyncStorageの内部にアクセストークンを安全に保存できますか?

これはアクセストークンを保存するのに適していますか?単純なデータ保存のためにReduxを使用することができれば、私は本当にReduxを使用するプロセスを踏みたいとは思っていません。

答えて

2

AyncStorageような何かを行うことができ、あなたのサーバがリクエストを処理する方法によって異なります。

、あなたのデータを暗号化できる変換パラメータを使用して、あなたはReduxのを使用することができ、かつReduxのは、持続しかし、

https://github.com/rt2zz/redux-persist#transforms

鍵暗号:https://github.com/maxdeviant/redux-persist-transform-encrypt

あなたはまだ、AsyncStorageを使用しますが、これをデータを保護するための暗号化レイヤーのある時間

1

Reduxは、データフロー制御に関するものです。必ずしも長期間保存する必要はありません。還元データを永続化したい場合は、AsyncStorageを使用して終了します。

AsyncStorageは、非jailbroken iOSデバイスでサンドボックス化されています。ただし、データは暗号化されません。両方のプラットフォーム用

より安全な解決策はhttps://github.com/pradeep1991singh/react-native-secure-key-store

0

AsyncStorageは、機密情報のために安全ではないと思われます。続きを読むhere

あなたは、Firebaseサービスを使ってトークンを取得する方が良いでしょう。 アプリが起動し、あなたは良い解決策ではないかもしれない

var auth = firebase.auth().onAuthStateChanged(function(user) { 
    if (user) { 
    user.getIdToken().then(function(data) { 
     console.log(data) 
     // Save it redux, or component state(in that case you need to do this in every component where token will be used 

    // Unsubscribe from listener 
    auth() 
    }); 
    } else { 
    // User is not authenticated 
    // Unsubscribe from listener 
    auth() 
    } 
}); 
関連する問題