簡體   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