-
Notifications
You must be signed in to change notification settings - Fork 218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expose touchIDAuthenticationAllowableReuseDuration setting for SecureEnclaveValet #167
Comments
Seems like something that could be added to That said, I’m not convinced this API is necessary yet: I need to better understand the use case. Are you avoiding keeping the secret you need access to in memory? Would love to get a sense of the exact flow you’re solving for here – it can help us design an API that works |
I'd like to set
At step 2, there is no point to ask user for touch/face ID again because they just unlocked the device a few seconds before. |
Got it. So this is for the first keychain access your application makes. Seems like a reasonable addition to the API, though we’ll want the naming to reflect that this API works across all user presence tests (we’ll need to test if it works with passcode and Face ID). |
Btw, I don’t see us adding this to |
It can be added to Would be nice if both |
My thinking there is that If you think |
OK, I see your point.
Thanks for the tip! |
@the-pear did you ever get On my Face ID device, I've tried the following configurations:
It seems possible that this reuse identifier only works on Touch ID devices, and would need to be left off on Face ID devices. I won't have access to a Touch ID device for a couple weeks, so any help you could provide would be great. |
Unfortunately I don't have any touch-id device at hand... |
I am not using Valet now, but working with plain keychain api. touchIDAuthenticationAllowableReuseDuration works fine on Face ID device. This code works as expected on my iPhone X iOS 13.3.
|
Thank you for the information! That helped me track down what was causing my local failures: in order to retrieve a value with In other words, the following write works:
But the following write will fail when read during the reuse duration:
Similarly, the below write will also fail to be read:
Here's my read code for reference:
This discovery means that in order to ensure forwards compatibility, I'd likely need to create a new Valet type to support this functionality. Otherwise, values set prior to enabling this functionality wouldn't be readable during the reuse duration, which isn't great. |
This issue is five years old and hasn't gotten traction, so I'm closing it out. If folk want this, please do leave a comment. |
Like apple doc says.
Some times that scenario is really annoying.
The text was updated successfully, but these errors were encountered: