Flutter Secure Storage iOS:即使卸载应用程序,数据仍然存在



我试图为我的一些应用程序使用flutter安全存储,当我卸载这些应用程序并再次安装这些应用程序时,我意识到我在卸载的以前的应用程序上存储的flutter安全存储器上的数据仍然存在,并在这些新应用程序上。当我卸载应用程序时,有人知道如何在iOS上删除这些数据吗
它在Android中运行良好-当我在Android上删除这些应用程序并再次安装时,数据是新的

Flutter Secure Storage使用IOS的KeyChain。这是默认的KeyChain行为。

潜在的解决方案是使用共享首选项并创建一个标志来确定应用程序以前是否运行过。

static const kSecureClearFlag = 'SOMETHING';
final hasRunBefore = pref.getBool(kSecureClearFlag) ?? false;
if(!hasRunBefore) {
secureStorage.deleteAll();
pref.setBool(kSecureClearFlag, true);
}

您可以在SecureStorageService初始化时调用此函数,并且值不会在重新安装过程中持久化。

iOS应用程序也有同样的问题。我开始问自己一个问题:即使在存储相同密钥的两个应用程序之间,这些数据是否可能持续存在?我希望这不太可能,而且问题只会在应用程序被删除后持续存在。

最新更新