【发布时间】:2016-06-14 11:05:22
【问题描述】:
我正在尝试一个 phonegap 应用程序。我想知道的是,即使在应用程序关闭并重新打开而不要求用户重新登录后,让用户保持登录状态的最佳方法是什么?我应该使用本地存储吗?
【问题讨论】:
标签: android cordova phonegap-build
我正在尝试一个 phonegap 应用程序。我想知道的是,即使在应用程序关闭并重新打开而不要求用户重新登录后,让用户保持登录状态的最佳方法是什么?我应该使用本地存储吗?
【问题讨论】:
标签: android cordova phonegap-build
简短的回答是肯定的 - 这是我的方法。请记住,根据设备操作系统的不同,存储的数据可能不太安全。
我不知道您是否可以 100% 消除风险,但您可以降低风险。
我有两把钥匙。
LOCALKEY 是随机散列,存储在设备本地。
SERVERKEY 是 LOCALKEY 的哈希值并保存在我的服务器上。
当 LOCALKEY 重新连接到服务器时,服务器会对 LOCALKEY 进行哈希处理并使用它来查找 SERVERKEY。
如果没有找到 SERVERKEY,那么要么是有人手动创建了密钥,要么是第一次连接。
我为什么要制作 SERVERKEY?为什么不在我的服务器上存储 LOCALKEY?
这是一个额外的安全/隐私层...我曾为德国的一位客户工作过,他解释了德国为确保尊重隐私所做的一些努力。通过散列散列,您可以 100% 直言不讳地说您的服务器上没有设备数据的直接副本 - 如果您的服务器被黑客入侵,追踪散列来源的能力充其量是有限的。
祝你好运
【讨论】:
您绝对可以使用本地存储..但是,我想对您可以使用的其他一些存储方式进行一些解释
localStorage:这可以存储您的信息,只要您不删除它们。 例如,如果你想在你的 localStorage 中存储一个 JSON,你有 localStorage.setItem('data', JSON.stringify(message));
要获取数据,您有 var gm = JSON.parse(localStorage.getItem('data'));
删除:localStorage.removeItem('data); 删除 window.localStorage['data']; 要么 window.localStorage.clear();
您可以在用户退出应用程序后使用删除。
sessionStorage:只要会话进行,它就会存储信息。通常直到用户关闭界面。
【讨论】: