Skip to content
This repository has been archived by the owner on Dec 14, 2021. It is now read-only.

Implement Biometric (fingerprint) unlock fragment/activity #68

Closed
linuxwolf opened this issue Aug 28, 2018 · 4 comments
Closed

Implement Biometric (fingerprint) unlock fragment/activity #68

linuxwolf opened this issue Aug 28, 2018 · 4 comments
Assignees
Labels
feature-unlocking MVP task Issue describes a task that needs to be completed but is not a defect or enhancement in itself.

Comments

@linuxwolf
Copy link
Contributor

linuxwolf commented Aug 28, 2018

Implement the Activity or FragmentActivity for Unlock Firefox Lockbox design.

  • Uses FingerprintManager API to engage hardware when initialized
  • Cancel hardware when user clicks "Cancel"
  • Dismiss (Fragment)Activity when hardware successfully unlocks via fingerprint
  • Fallback to device PIN when the user requests it

Related #28
Required by #31
Required by #32
Required by #69
Required by #70
Required by #118
Required by #144

@linuxwolf linuxwolf added task Issue describes a task that needs to be completed but is not a defect or enhancement in itself. feature-unlocking labels Aug 28, 2018
@devinreams devinreams added this to the M3 - Lock and Unlock milestone Oct 8, 2018
@devinreams devinreams added the MVP label Oct 11, 2018
@ioana-farcas
Copy link
Contributor

ioana-farcas commented Oct 18, 2018

@nickbrandt , @changecourse
Which should be the behaviour of the app when the fingerprint authentication fails?
If the fingerprint authentication fails for 5 times in a row, the fingerprint sensor will be unresponsive for 30 seconds, and the API sets a message for the error: "Too many attempts. Try again later" (the error message can be changed in the dialog).

Also in other apps (for unlocking the screen is the same), when the fingerprint authentication fails for 5 times in a row, the behaviour is to fallback to other type of authentication. If for this other type, in our case PIN, the authentication will fail again for 5 times in a row, the user will not be able to unlock app for 30 seconds. After those 30 seconds pass, the user can use fingerprint or pin to authenticate.

I added a screenshot with the dialog, please advise how do you think the designs and the UX should be/look like for this scenario and please let me know what do you think about falling back to PIN, taking into account that the sensor will be unresponsive for 30 seconds when fingerprint auth fails.

fingerprint_fail

@changecourse
Copy link
Contributor

My hope for how we handle this, based on a conversation with @linuxwolf would be as follows:

  1. Present fingerprint auth for the first 5 attempts (solely)
  2. Then direct user to Device PIN input automatically
  3. After all attempts for both fingerprint auth and device pin have failed, present lockout messaging

How automated we are able to be (as referenced in no. 2 may need to still be up for discussion.

@changecourse
Copy link
Contributor

@nickbrandt there was a request in stand-up to confirm the following states (or approve the default styling by Android)

  1. Fingerprint unlock failed (too many attempts)
  2. PIN unlock failed (too many attempts)
  3. Lockout state

@nickbrandt
Copy link
Contributor

nickbrandt commented Oct 18, 2018

Yes, and after talking with @ioana-farcas I think it does make sense to display a different message briefly to the user of "Too many attempts" on the 5th try of fingerprint, then route the user to the device auth screen. I agree with using the default styling by Android for those instances. My assumption if the user fails device auth, is that we display a message of "Too many attempts. Try again later." and route the user back to where they were (either Lock Screen or wherever they were authenticating to use autofill)

@ioana-farcas ioana-farcas mentioned this issue Oct 19, 2018
6 tasks
jhugman added a commit that referenced this issue Oct 25, 2018
This won't be useful/testable until we start with the FxA login #22 and locking #68.
@ghost ghost assigned jhugman Oct 25, 2018
@ghost ghost removed the in progress label Oct 25, 2018
jhugman added a commit that referenced this issue Nov 6, 2018
This won't be useful/testable until we start with the FxA login #22 and locking #68.
jhugman added a commit that referenced this issue Nov 8, 2018
This won't be useful/testable until we start with the FxA login #22 and locking #68.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-unlocking MVP task Issue describes a task that needs to be completed but is not a defect or enhancement in itself.
Projects
None yet
Development

No branches or pull requests

6 participants