电容器安全存储器 
此插件用于 电容 8 提供iOS和Android的安全密钥/值存储. 它最初的设计是作为同伴 @aparajita/ 电容- 生物测量- 原子 为了安全地存储登录证书,但可用于存储任何JSON数据类型.
🛑 打破变化:
见 控制器 8 支持页面 用于了解对最低限度支持的发展工具和平台的修改情况.
安装
pnpm add @aparajita/capacitor-secure-storage # npm install, yarn add
没有使用 小时你欠它自己 一个尝试。 更快速、更适合单簧管 就是这样,就是这样 磁盘空间比其它选项少.
使用量
API 完整记录 这里。关于在实践中如何使用此插件的完整实例,请参见 演示区域。 。 。 .
iOS系统
在iOS上,数据被存储在加密的系统密钥链中,并且是您的应用程序所特有的. 请注意,目前iOS将 没有 删除应用程序的密钥链数据 。 但由于只有具有相同应用id的应用程序——苹果公司保证在所有应用中都是独一无二的——才能访问该数据,所以这不是一个安全问题.
iCloud 密钥链同步
您可以与 iCloud 键链同步数据 。 同步可以在全球和每个操作中进行控制. 这使得您可以在多个设备中共享同一应用程序的安全数据(例如登录证书).
QQ 用户必须启用设备上的 iCloud 密钥链, 以便数据同步 .
要打开或关闭全球同步,请打电话 setSynchronize()。您可以通过在 sync 选项.
注意:iOS将本地键链和iCloud键链视为两个独立的键链. 哪个键链受到操作的影响取决于全球和每个操作同步设置. 这意味着,例如,一个值可以用两个键链中相同的键来存储和取回.
当解析同步设置为真时, 呼叫到
keys()返回密钥 两者 iCloud和本地密钥链。 因此可能会出现重复.
机器人
在Android上,数据在GCM模式下使用AES加密,使用由Android KeyStore所生成的秘密密钥,再被存储在"共享优先级"中,该密钥是您的应用程序所特有的. 如果该应用被删除,其数据也被删除.
网页
在网络上存储数据 未加密 内 localStorage,这样您就可以看到您存储的数据。 这只用于调试目的; 生产时不应在网络上使用此插件 .
演示
Ionic/Vue 演示应用演示了这个插件的所有特性. 演示有两种变体,一种使用可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可 当然,CocoaPods和Swift软件包管理器只应用于iOS. 在两种演示中,Android版本是相同的.
安装
小时 需要运行演示.
# Clone the github repo and install dependencies
git clone https://github.com/aparajita/capacitor-secure-storage.git
cd capacitor-secure-storage
pnpm install -r
运行
在运行其中任一演示之前, 您必须先构建插件, 因为演示参考了插件的本地构造 .
pnpm build
从根目录中可以使用:
iOS: (英语)
pnpm demo.pods.ios
pnpm demo.spm.ios
机器人:
pnpm demo.pods.android
pnpm demo.spm.android
网络 :
pnpm demo.pods.browser
pnpm demo.spm.browser
您也可以在演示目录中运行命令 :
cd demo-pods # or cd demo-spm
pnpm ios
pnpm android
pnpm dev
使用量
同步到 iCloud 密钥链( 只有iOS)
在iOS上,出现了“iCloud同步”复选框。 打开/关闭 iCloud 同步系统.
此外,控制了iCloud同步的“关键”字段右侧出现了“同步”复选框。 默认情况下,它处于不确定状态,这意味着使用了全局同步设置. 将“ 同步” 复选框周期在未确定 {} 检查\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 如果检查或未选中“同步”复选框,则该复选框将覆盖全局同步复选框.
当解析同步设置启动时,任何操作(除设置前缀外)都会影响iCloud键链而不是本地键链.
设置前缀
要更改密钥前缀,请编辑"前缀"字段并按"Set".
保存一个值
要保存要存储的密钥/值项,请在"Key"字段中输入密钥,在"Data"字段中输入JSON-parseable值. 当您在“数据”字段中输入时,如果它是有效的值,则数据类型显示在字段下方.
您可以存储任何有效的 JSON 值: 字符串、 数字、 布尔、 数组、 对象或无效 。 此外,如果"数据"字段看起来像ISO 8601日期时间(从YYYY-MM-DD开始),它被解析成这样,如果成功解析该类型将显示为"日期". 注意时间和毫秒是可选的. 因此,例如,这些都被解析为一个有效的日期:
2020-08-27
2020-08-27T13:27:07
2020-08-27T13:27:07.413Z
获得一个值
要从存储中获取值,请输入密钥并按"Get".
删除项目
要删除存储中的项目, 请输入密钥并按" Remove" 键.
清除所有项目
要从存储中移除所有带有当前前缀的项目,请按"Clear".
查看全部密钥
要查看存储中所有带有当前前缀的键,请按"键". 注意,如果解析的同步设置在iOS上是真实的,则密钥来自 两者 将显示 iCloud 密钥链和本地密钥链.