[MOD-2382] Android Touch ID Module bugs/ Queries
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2018-02-28T22:13:55.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 7.1.0 |
Components | TouchID |
Labels | n/a |
Reporter | Victor Vazquez Montero |
Assignee | Gary Mathews |
Created | 2017-12-15T20:32:10.000+0000 |
Updated | 2018-03-14T20:51:29.000+0000 |
Description
Issue: Customer has uncovered some bugs
1. TouchID.invalidate() results in the crash. Please let me know if I am using it incorrectly or is it an actual bug. The idea is to stop Android device from listening for fingerprint as there is no modal dialogue being presented by Android OS unlike iOS where user is presented with a dialogue and has a way of cancelling out of it. 2. Consider following TouchID item declaration supplied by Eric Merriman: var TouchID = require('ti.touchid'); keychainItem = TouchID.createKeychainItem({ identifier: 'MeridianTest10', accessibilityMode: TouchID.ACCESSIBLE_WHEN_PASSCODE_SET_THIS_DEVICE_ONLY }); This code should allow us to save/read keychain values without having to provide fingerprint given that there is pin/gesture/passcode setup on the device. There are 3 separate issues here: a) When trying to read keychain value back I always get empty value. This also happens if I call update on the keychain item and try to read it back. b) Once passcode/pin/gesture are removed I am still able to do save/read/update operations. In my opinion keychain item should be invalidated if it happens. c) There is no way to check whether passcode/pin/gesture are setup on device. TouchID.authenticationPolicy = TouchID.AUTHENTICATION_POLICY_PASSCODE; var res = TouchID.deviceCanAuthenticate(); On iOS this code will return TouchID.ERROR_PASSCODE_NOT_SET constant, on Android it returns "No fingerprints found" message. 4) When accessControlModeis set to TouchID.ACCESS_CONTROL_TOUCH_ID_CURRENT_SET and I remove a fingerprint, I am still able to authenticate keychain item. On iOS keychain item is invalidated when user adds or removes a fingerprint. Is this OS limitation? 5) noticed when accessControlMode is set to TouchID.ACCESS_CONTROL_TOUCH_ID_CURRENT_SET and users adds a fingerprint I get error code ERROR_KEY_PERMANENTLY_INVALIDATED. After a quick google search I noticed this happens when there is a change to lock screen settings. Is there a full list of action that would result in this error available anywhere? 6)After 5 unsuccessful fingerprint authentication attempts it is possible to try again after about 15 seconds. On iOS it is possible to do it right away given you put phone to sleep, awake it and type passcode. Is it possible to achieve same functionality? If no, is it possible to control 15 second time frame?Attachments
File | Date | Size |
---|---|---|
AndroidTouchID.zip | 2017-12-15T20:34:02.000+0000 | 9373468 |
saveAndRead.gif | 2018-01-11T22:22:13.000+0000 | 1221867 |