我正在构建一个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提供的方法是否安全?
如何remember me通过反应应用程序进行身份验证时实现功能?我认为未加密AsyncStorage并不是最好的方法,因为数据对用户是开放的.我试图使用realm,但陷入了无法在Android中使用expo测试应用程序解决的问题.它说我需要为android编译本机代码并编辑它(在MainApplication.js中添加领域对象创建).我还不想在尚未发布的情况下编译我的项目.instagram和其他RN-apps如何存储身份验证数据?什么是最好的方法?