[PR #3099] [PM-6848] Improved User verification on passkeys creation #4023

Closed
opened 2025-11-26 23:39:44 -06:00 by GiteaMirror · 0 comments
Owner

Original Pull Request: https://github.com/bitwarden/android/pull/3099

State: closed
Merged: Yes


Type of change

  • Bug fix
  • New feature development
  • Tech debt (refactoring, code cleanup, dependency upgrades, etc)
  • Build/deploy pipeline (DevOps)
  • Other

Objective

Improved user verification on passkeys creation to better take into account User verification cancellation and also enforcement at the moment of creation.

Code changes

  • MobilePlatformUtilsService: Now AuthenticateBiometricAsync returns null when cancelled by the user.
  • UserVerificationMediatorService: Changed to use CancellableResult<T> to tackle cancellation flows.
    • Same applies to its strategies
  • LoginListViewController/LoginAddViewController: Added cancellation flow so the user can try again and also implemented user verification enforcement at this stage as well to prevent the cipher to be created if the verification fails and is required.

Before you submit

  • Please check for formatting errors (dotnet format --verify-no-changes) (required)
  • Please add unit tests where it makes sense to do so (encouraged but not required)
  • If this change requires a documentation update - notify the documentation team
  • If this change has particular deployment requirements - notify the DevOps team
**Original Pull Request:** https://github.com/bitwarden/android/pull/3099 **State:** closed **Merged:** Yes --- ## Type of change - [X] Bug fix - [ ] New feature development - [ ] Tech debt (refactoring, code cleanup, dependency upgrades, etc) - [ ] Build/deploy pipeline (DevOps) - [ ] Other ## Objective <!--Describe what the purpose of this PR is. For example: what bug you're fixing or what new feature you're adding--> Improved user verification on passkeys creation to better take into account User verification cancellation and also enforcement at the moment of creation. ## Code changes <!--Explain the changes you've made to each file or major component. This should help the reviewer understand your changes--> <!--Also refer to any related changes or PRs in other repositories--> * **MobilePlatformUtilsService:** Now `AuthenticateBiometricAsync` returns `null` when cancelled by the user. * **UserVerificationMediatorService:** Changed to use `CancellableResult<T>` to tackle cancellation flows. * Same applies to its strategies * **LoginListViewController/LoginAddViewController:** Added cancellation flow so the user can try again and also implemented user verification enforcement at this stage as well to prevent the cipher to be created if the verification fails and is required. ## Before you submit - Please check for formatting errors (`dotnet format --verify-no-changes`) (required) - Please add **unit tests** where it makes sense to do so (encouraged but not required) - If this change requires a **documentation update** - notify the documentation team - If this change has particular **deployment requirements** - notify the DevOps team
GiteaMirror added the pull-request label 2025-11-26 23:39:44 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#4023