LocalAuthentication iOS

Please provide the following:

  1. SDK Version: ^38.0.0
  2. Platforms(Android/iOS/web/all): iOS, iPhone 6, Software 12.4.7

Problem:

  1. LocalAuthentication.authenticateAsync() does not resolve even though successfully authenticated (the prompt disappears upon authentication) or canceled.
  2. Even though TouchID is supported and enrolled, the authentication prompt does not always show when LocalAuthentication.authenticateAsync() is called.
  3. disableDeviceFallback does not work. Even though set to true, the option to authenticate with passcode still shows after one unsuccessful TouchID authentication attempt.

Snack:

Note:
Only tested with iPhone 6.

Hey @hackandroll,

I was able to reproduce the 3rd problem you indicated but not the other two. Would you be able to create a github issue for us to track this problem?

Cheers,
Adam

Hey @adamjnav,

Thanks for the quick response.

I think I realized the issue.

This morning, I tried and found that LocalAuthentication.authenticateAsync() resolved.

However, following that, I intentionally failed the TouchID authentication (I can’t remember the sequence of events) and now, I found that TouchID is not enrolled at all, i.e. console.log(enrolled) returns “false”.

Since in the snack, LocalAuthentication.authenticateAsync() is called only if enrolled === true, I couldn’t see console.log(“results”). When I allowed LocalAuthentication.authenticateAsync() to be called even when enrolled === false, I saw that console.log(“results”) showed me the error, i.e. “…, error = lockout, …”.

As disableDeviceFallback is set to true, nothing happens following the error.

So back to the 3 problems I highlighted earlier, I believe the first two are not problems at all, as you have noted.

For the last problem, depending on what the docs mean by “After several failed attempts the system will fallback to the device passcode”, it might not even be an issue. If disableDeviceFallback set to true meant that when the lockout error occurs, nothing happens, then this is correct. However, if disableDeviceFallback set to true meant that the option to authenticate with passcode will not show within the dialog box after one failed authentication attempt, then there is an issue that needs solving.

Separately, I am thinking that enrolled becoming false when the error occurs might not be the best way forward, since the biometrics are still enrolled but may be just temporarily disabled.

Let me know your thoughts!

Best,
Greg

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.