我正在尝试用SecureStorage替换ionic 2 Storage插件.但是,在文档中,据说“用户必须拥有安全的屏幕锁定设置”.所以我有点困惑.还有人说,如果安全设置不足,那么应用程序开发人员应该告知用户她的应用程序的安全要求,并在用户更改了屏幕锁定设置后再次初始化.我想我现在不需要安全存储.因此,将“存储”移至“SecureStorage”是一个好主意.如果没有那么可能是另一种选择.
解决方法:
So will it be a good idea to move ‘Storage’ to ‘SecureStorage’
不,“安全存储”(由cordova-plugin-secure-storage提供)旨在存储少量敏感数据,例如用户凭证或信用卡详细信息.它不是一般存储机制的替代品,例如sqlite数据库(例如cordova-sqlite-storage).它没有提供无限量的存储容量,例如在Android上,尝试存储超过大约1.5Mb将导致内存异常.例如,如果需要存储大量敏感数据,可以加密存储在较大sqlite数据库中的数据,并使用安全存储来安全地存储解密密钥.
in the documentation it is said that ‘Users must have a secure screen-lock set’
这意味着在Android上,设备必须具有安全的锁定屏幕 – 即必须输入的图案或密码锁定以解锁设备(注意:幻灯片解锁不被认为是安全的).如果不是这种情况,那么安全存储插件构造函数将调用错误回调,并且您将无法使用安全存储来在该设备上存储数据.
it is also said that if the security setting is not sufficient then the app developer should inform the user about the security requirements of her app and initialize again after the user has changed the screen-lock settings.
如果在初始化插件时调用错误回调,您有机会通知用户,即“您的设备没有安全的屏幕锁定.没有安全屏幕锁定,您将无法{使用此功能}.”想现在订一个?“
您可以使用您喜欢的任何机制向用户呈现消息,例如the confirm() function from cordova-plugin-dialogs
.
如果用户同意,您可以从安全存储插件调用secureDevice()函数,该插件调用本机活动以引导用户完成设置屏幕锁定的过程.在此过程中,您的应用程序将被置于后台,因此当它恢复时,您可以使用onResume()处理程序来检查安全存储插件是否已经初始化,如果没有重试初始化它:如果用户设置了一个屏幕锁定,那么插件将成功初始化.如果没有,将再次调用错误回调(返回到第一个方块).
另请注意,安全存储插件需要Android 4.4或更高版本:在Android 4.3或更低版本下,无论锁定屏幕设置如何,插件始终无法初始化.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。