安全地保存令牌?

时间:2017-02-27 07:13:24

标签: angularjs cordova ionic-framework oauth

要在localstorage中保存令牌以避免每次启动应用时都登录,我找到了以下链接。但是,它安全吗?

Ionic - How to store session token as globally (for app) accessible variable?

2 个答案:

答案 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)

This may help

答案 1 :(得分:0)

不,仅凭localStorage对访问和/或会话密钥的存储不够安全。您应该加密数据(而不是在应用程序代码中存储加密密钥)。

您可以使用Cordova SecureStorage插件执行此操作:

https://github.com/Crypho/cordova-plugin-secure-storage

它与localStorage几乎相同,只需设置和获取键/值对。

由于此安全存储的Android实施使用KeyStore,因此用户必须具有安全的屏幕锁定设置(如指纹,图案或PIN)。该插件提供了检查此功能的功能,因此如果不是这样,您将能够发出警告(或阻止登录)。没有锁定的屏幕,就无法在Android上以安全的方式保存您的密钥。