【发布时间】:2016-07-23 05:01:53
【问题描述】:
编辑: 请参阅我的answer 以获得解决方案
目前正在使用Ionic 开发一个混合应用程序,其中需要存储身份验证令牌以保持用户登录,并保证无法在应用程序上下文之外访问此数据。
当然,这项任务有很多解决方案,每个解决方案都有不同的优缺点,因此(对我而言)很难找到适合的技术。
我一直在关注angular-localForage 和其他候选人:
本地存储
- 小数据的明显选择。
- 当系统内存不足时,
iOS中的数据会被擦除。
索引数据库
-
iOS(IndexedDB support) 中的错误支持
WebSQL (SQLite)
- 对于小数据和体面的支持 (WebSQL suppport) 显然是一个不错的选择,但它已被弃用。
SQLite
-
Cordova在iOS中存在相关问题。
LokiJS
- 在这种情况下看起来有点矫枉过正,但绝对是一个强有力的候选者。是否有任何我应该注意的安全问题(当我在本地读取它时将数据持久化到
JSON文件中)?
PouchDB + SQLite
- 嗯,它是一个与 CouchDB 或 Couchbase 数据库一起使用的 JS 客户端,它也可以与 SQLite 一起使用,但我只需要存储一个 Token..
显然,具有讽刺意味的是,Android/iOS 交叉兼容性的最佳选择应该是 WebSQL,但它已不再开发,我必须保证长期支持。
所以我的问题是:我还缺少其他安全存储访问令牌的选项吗?如果没有,以上哪一个应该是这项任务的最佳选择?
【问题讨论】:
-
我知道这个问题已经得到解答,但是 LokiJS 有一个 cryptoFsAdapter 可以存储加密的 JSON。
-
@JoeMinichino 谢谢,我会研究一下。
标签: sqlite cordova ionic-framework local-storage