用户可以清除钥匙串吗?

Posted

技术标签:

【中文标题】用户可以清除钥匙串吗?【英文标题】:Can users clear the keychain? 【发布时间】:2022-01-03 17:35:09 【问题描述】:

我正在尝试决定是否应该将值存储在钥匙串或 AsyncStorage 中。

该值是用于备份私钥的恢复 PIN。我想设置用户已设置恢复 PIN 的本地标志,以便当用户重新打开应用程序时,我可以决定是否重定向他们以设置恢复 PIN。

在我看来,我有两个主要选择:

    异步存储。使用 AsyncStorage.setItem('isRecoveryPinSetup', true) 在本地设置布尔标志 钥匙扣。店铺Keychain.setGenericPassword(username, password)

专业钥匙链

大概可以设置钥匙串同步,因此当他们通过其他设备登录时,可能会为他们预先填写 PIN。 钥匙串应在同一设备上的安装之间保持不变,因此在同一设备上删除并重新安装应用后应适当设置标志。

我担心的是我不确定用户是否有权清除钥匙串数据以及可能存在的其他注意事项。

最后我可以询问服务器他们是否备份了密码,但如果可能的话,我想避免往返。

【问题讨论】:

【参考方案1】:

AsyncStorage 根本没有用处。一旦用户删除应用程序,它将被清除,但用户将无法修改它,直到设备被植根。

钥匙串应该是最好的选择。钥匙串可以由用户随时编辑,但用户很少会修改它。至少我从来没有编辑过它。

【讨论】:

您能详细说明用户如何修改它吗?在 androidios 上? 钥匙串适用于 ios。用户可以选择在设置中修改钥匙串。

以上是关于用户可以清除钥匙串吗?的主要内容,如果未能解决你的问题,请参考以下文章

向当前捆绑包 ID 添加前缀会重置钥匙串吗?

PhoneGap 构建 iOS 钥匙串访问?

如何在我的应用程序中使用 iCloud 钥匙串在不同设备的安装之间共享价值?

清除 UIAutomation 测试的钥匙串

在钥匙串 Swift 中存储整数

如何检查用户名和密码是不是已保存在钥匙串中