Я создаю приложение 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
(который использует Keychain). для сохранения разумных данных? Или безопасно использовать методы AsyncStorage
?