【发布时间】:2016-12-26 00:10:58
【问题描述】:
我正在构建一个 React Native 应用程序,我需要保存一些敏感数据,例如令牌和刷新令牌。显而易见的解决方案是使用AsyncStorage 保存该信息。问题在于 AsyncStorage 的安全级别。
AsyncStorage 提供了一种在本地存储令牌和数据的方法。它可以 在某些方面,与 LocalStorage 选项相比。在全 生产应用,建议不要访问 AsyncStorage 直接,而是使用抽象层,因为 AsyncStorage 是 与使用相同浏览器的其他应用程序共享,因此 考虑不周地从存储中移除所有物品可能会损害 相邻应用的功能。
https://auth0.com/blog/adding-authentication-to-react-native-using-jwt/
在本机应用程序中,我会在iOS 中选择Keychain,在Android 中选择私人模式 中的Shared Preferences。
对于我在 React Native 提供的文档中读到的内容:
在 iOS 上,AsyncStorage 由存储小值的本机代码支持 在序列化字典和单独文件中的较大值中。在 Android,AsyncStorage 将根据什么使用 RocksDB 或 SQLite 可用。
https://facebook.github.io/react-native/docs/asyncstorage.html
他们从不谈论这些数据的安全性。
最好的解决方案是为Android(在私有模式中使用Shared Preferences)和iOS(使用钥匙串)创建一个模块保存敏感数据?或者使用提供的AsyncStorage 方法是否安全?
【问题讨论】:
-
你在寻找什么,在这篇文章中得到了回答:stackoverflow.com/questions/37563224/…
-
该答案并未对
AsyncStorage的安全性做出任何假设。 -
你可以看看这个帖子:stackoverflow.com/questions/45547657/…
-
Pedro 和 Julien,停止链接到其他帖子。这很烦人。如果有有用的信息,请在此处发布。这样一来,通过 Google 搜索最终到达这里的用户就不必一直链接到其他帖子。
标签: android ios react-native