【问题标题】:Save token securely?安全地保存令牌?
【发布时间】:2017-02-27 16:23:22
【问题描述】:

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

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

【问题讨论】:

    标签: angularjs cordova ionic-framework oauth


    【解决方案1】:

    将令牌简单地存储在本地存储中可能是一种安全威胁,您可以使用Crypto 加密数据,然后在需要时使用秘密密钥解密类似:-

    var secretKey = 'your-secret-key';
    
      var encryptedData = CryptoJS.AES.encrypt(yourtoken, secretKey).toString();
    

    存储此加密数据

    当你需要它时

     var encryptedValue = valuefrom your local;
    
      var decryptedData= CryptoJS.AES.decrypt(encryptedValue, secretKey)
    

    This may help

    【讨论】:

    • 您将如何保护您的“您的密钥”?
    【解决方案2】:

    不,仅 localStorage 不足以存储访问和/或会话密钥。您应该加密数据(而不是将加密密钥存储在您的应用代码中)。

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

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

    它的工作原理与 localStorage 几乎相同,让您可以简单地设置和获取键/值对。

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

    【讨论】:

      猜你喜欢
      • 2012-09-11
      • 2018-09-02
      • 2019-02-20
      • 2021-05-02
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      • 2012-04-05
      • 2016-07-23
      相关资源
      最近更新 更多