繁体   English   中英

在 iOS 中卸载应用程序时如何从钥匙串中删除存储的用户名和密码?

[英]How to remove the stored username and password from keychain while uninstalling application in iOS?

我很新来为我的应用程序和购物应用程序实现生物识别身份验证,我正在使用以下逻辑来实现相同的功能。 如果这不是发布此问题的正确位置,请耐心等待。 我要求版主移动到适当的论坛。 目前我们只将用户名存储为 AES 加密格式(甚至不在钥匙串中),因为客户端也不满意在应用程序中存储密码。 但由于我必须实现生物测定,我遵循下面给出的逻辑:逻辑如下:

首次登录:

  1. 用户使用用户名/密码进行身份验证

  2. 如果身份验证成功,系统会询问他们是否要使用 TouchID/FaceID

  3. 如果这样做,用户名和密码将存储在钥匙串中,需要生物识别身份验证才能访问数据

    在后续登录时:

  4. 应用程序尝试检索存储的用户名/密码触发生物识别身份验证

  5. 应用程序使用存储的用户名和密码对服务器进行身份验证。

我能够成功实现相同的功能,但是我有一个疑问,如果我卸载该应用程序,他们是否会删除钥匙串中存储的凭据。 我已经提到了很多 SO 问题,但我无法给出一个特定的答案。 如果卸载应用程序后它仍然存在,如何删除这些?

有一个帖子关于这个在苹果开发者论坛。 它基本上告诉我们,即使在删除并重新安装应用程序后,KeyChain 仍然是持久的(这意味着应用程序在技术上可以再次使用旧密钥)。 这种行为并不符合预期(如果您仔细阅读该线程)。

为了解决这个问题,将提供论坛通过在设置标志的溶液UserDefault存储(这当应用程序被卸载删除)。 当用户第一次运行应用程序时,清除 KeyChain 并设置标志。 这样,您几乎可以肯定,在第一次使用之前,密钥已被移除。

要直接回答您的问题,(截至目前)无法判断应用程序何时被卸载并在卸载后采取行动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM