要在localstorage中保存令牌以避免每次启动应用时都登录,我找到了以下链接。但是,它安全吗?
Ionic - How to store session token as globally (for app) accessible variable?
答案 0 :(得分:0)
将令牌存储在本地存储中可能是一种安全威胁,您可以使用Crypto加密数据,然后在需要时使用secrate密钥解密: -
var secretKey = 'your-secret-key';
var encryptedData = CryptoJS.AES.encrypt(yourtoken, secretKey).toString();
存储此encryptedData
当你需要它时
var encryptedValue = valuefrom your local;
var decryptedData= CryptoJS.AES.decrypt(encryptedValue, secretKey)
答案 1 :(得分:0)
不,仅凭localStorage对访问和/或会话密钥的存储不够安全。您应该加密数据(而不是在应用程序代码中存储加密密钥)。
您可以使用Cordova SecureStorage插件执行此操作:
https://github.com/Crypho/cordova-plugin-secure-storage
它与localStorage几乎相同,只需设置和获取键/值对。
由于此安全存储的Android实施使用KeyStore,因此用户必须具有安全的屏幕锁定设置(如指纹,图案或PIN)。该插件提供了检查此功能的功能,因此如果不是这样,您将能够发出警告(或阻止登录)。没有锁定的屏幕,就无法在Android上以安全的方式保存您的密钥。