Сохраняйте конфиденциальные данные в React Native
Я создаю приложение React Native, и мне нужно сохранить некоторые конфиденциальные данные, такие как токен и токен обновления. Очевидное решение - сохранить эту информацию, используяAsyncStorage, Проблема заключается в уровне безопасности AsyncStorage.
AsyncStorage предоставляет способ локального хранения токенов и данных. В некотором смысле это можно сравнить с опцией LocalStorage. В полнофункциональных приложениях рекомендуется не обращаться напрямую к AsyncStorage, а вместо этого использовать уровень абстракции, поскольку AsyncStorage используется совместно с другими приложениями, использующими тот же браузер, и, таким образом, непродуманное удаление всех элементов из хранилища может повредить функционирование соседних приложений.
https://auth0.com/blog/adding-authentication-to-react-native-using-jwt/
В родном приложении я бы пошел наKeychain
вiOS
а такжеShared Preferences
вприватный режим вAndroid
.
Для того, что я прочитал в документации, предоставленной React Native:
На iOS AsyncStorage поддерживается собственным кодом, который хранит небольшие значения в сериализованном словаре и большие значения в отдельных файлах. На Android AsyncStorage будет использовать RocksDB или SQLite в зависимости от того, что доступно.
https://facebook.github.io/react-native/docs/asyncstorage.html
Они никогда не говорят о безопасности этих данных.
Это лучшее решение для создания модуля дляAndroid
(который используетShared Preferences
вприватный режим) и еще один дляiOS
(который используетБрелок) сохранить разумные данные? Или это безопасно использоватьAsyncStorage
методы предоставляются?