goaaats / xl-authenticator

Android/iOS OTP authenticator app for XIVLauncher built in Flutter
GNU General Public License v3.0
38 stars 12 forks source link

Implement biometrics (#15) #20

Open Berna-L opened 1 year ago

Berna-L commented 1 year ago

This implementation adds an option to the settings page to require biometrics (on devices that offer such a feature).

When enabled (and enabling it requires authentication, BTW):

  1. Upon opening the app, the code will only autosend the code to XL after authenticating the user.
  2. Suspending the app or closing the app will prompt a reauthentication upon resuming/opening it again, and the OTP code in the main page will appear as "???" while authentication is pending.

This also includes the commits from #21 .

Berna-L commented 1 year ago

Finished up the implementation and got my environment to work on real devices, so I tested on both a Galaxy A10s (with fingerprint sensor) and an iPhone 14 Pro, but further testing is welcome (and desirable).

Berna-L commented 1 year ago

Generated a local IPA and installed on my device through AltStore. The only issues (both caused by recent Xcode 14.3, so they may be fixed in a future Flutter build) are:

  1. Some of the dependencies have set their minimum iOS as 8.0, which gives some issues when compiling. Using this solution worked.
  2. When building the IPA, the build spits out some error about DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled. This can be solved with this.