2017-05-30 11 views
3

Ich versuche, ein Benutzerzugriffstoken in einer React Native-Anwendung zu speichern. Anfangs habe ich mir Redux angeschaut, aber stattdessen habe ich gemerkt, dass RN AsyncStorage hat, jetzt gehe ich davon aus, dass dies im Fall von IOS gleich NSUserDefaults ist. Ich kann mich irren.Sicher, um Zugriffstoken in AsyncStorage zu speichern?

Wäre dies eine gute Möglichkeit, das Zugriffstoken zu speichern? Ich möchte den Prozess der Verwendung von Redux nicht wirklich durchmachen, wenn ich ihm bei der einfachen Datenspeicherung helfen kann.

Antwort

2

AyncStorage möglicherweise nicht die gute Lösung, davon abhängen, wie Ihr Server verarbeiten Ihre Anfrage tun.

auch immer Sie Redux verwenden können, und Redux-andauern, wird der Parameter-Transformation können Sie Ihre Daten verschlüsseln,

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

Key-Verschlüsselung: https://github.com/maxdeviant/redux-persist-transform-encrypt

Sie noch AsyncStorage verwenden, aber dies Zeit mit Verschlüsselungsschicht, um Ihre Daten zu schützen

1

Redux ist über Datenflusskontrolle. Nicht unbedingt Langzeitspeicherung. Wenn Sie Redox-Daten beibehalten möchten, verwenden Sie am Ende AsyncStorage, um dies zu tun.

AsyncStorage ist ein Sandkasten auf nicht-jailbroken iOS-Geräten. Die Daten werden jedoch in keiner Weise verschlüsselt.

Eine sicherere Lösung für beide Plattformen scheint https://github.com/pradeep1991singh/react-native-secure-key-store

0

AsyncStorage ist nicht sicher für sensible Informationen zu sein. Lesen Sie mehr here

In Ihrem Fall wird es besser sein, Firebase-Dienste zu verwenden, um Token zu erhalten. Wenn App gestartet wird, können Sie so etwas wie

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() 
    } 
}); 
Verwandte Themen