将本地存储从 Cordova 迁移到 Xamarin 应用程序
Posted
技术标签:
【中文标题】将本地存储从 Cordova 迁移到 Xamarin 应用程序【英文标题】:Migrating local storage from Cordova to Xamarin App 【发布时间】:2017-01-08 16:48:53 【问题描述】:我们计划将我们的应用(ios、android、WP)从 Cordova/Ionic 迁移到 Xamarin。
基本计划是在 Xamarin 中重建所有内容,在商店中保留相同的 appid,并仅提供新应用作为“更新”。
现在是棘手的部分。今天,我们的用户通过存储在设备上的令牌使用 window.localStorage.setItem
in Cordova 登录。
如何在 Xamarin 中访问这些数据?它是否存储在我可以在启动时查找并进行转换的文件中?格式是什么?是明文还是加密?
任何帮助将不胜感激。谢谢!
【问题讨论】:
您为什么要这样做?为什么不简单地要求用户再次登录呢?您可以在发行说明中提及它。我担心您尝试实现的目标可能会暴露安全漏洞。 这真的取决于 Cordova 的localStorage
到底在做什么。我试着挖掘了一下,在 iOS 上它似乎通过 WebKit 使用本地浏览器存储。我似乎找不到适用于 Android 或 Windows 的等效代码。
@Demitrian 我不让他们再次登录,因为我们的用户可能不记得他们的密码,然后他们会淹没我们的支持。您能否告诉我您在迁移已存储在设备/应用程序上的数据时发现了哪种安全漏洞?
【参考方案1】:
所以经过更多研究后,我发现 Cordova 中的 localStorage 根本不是持久的。
有关更多信息,请查看以下内容:
Don't Assume localStorage Will Always Work In Your Hybrid App (iOS)(Cordova) localStorage can get unexpectedly cleared when device storage is low所以无论如何我都需要在我的 Cordova 应用程序中修复这个奇怪的错误,我决定使用 Cordova File Plugin 将令牌“移动”到 Cordova 中的磁盘,现在 localStorage 的内容是“只是磁盘上的一个文件” .
通过这样做,我有效地回答了我自己关于如何“从本地存储迁移数据”的问题;)
我希望这可以帮助处于相同情况的人。
【讨论】:
感谢您回答这个问题。你找到其他方法了吗?如果我使用cordova文件插件将令牌移动到磁盘,您能否指出有关如何访问localStorage的Xamarin代码?以上是关于将本地存储从 Cordova 迁移到 Xamarin 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
Cordova [Android 平台] 从 API 29 迁移到 API 30
将使用相机拍摄的照片捕获并存储到本地数据库/PhoneGap/Cordova/iOS