[PR #3019] [PM-5154] Implement iOS Passkey -> Add login item #3964

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

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

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

Add Passkey creation logic to "Add login item" flow on iOS Autofill.
This includes autofilling fields on "Add login item" view and saving the new Passkey login item appropriately.

Note: iOS AuthenticationServices doesn't give us the "Relying party name" so we're defaulting to the "Relying party identifier" for autofilling the Login item Name.

Code changes

  • Fido2MakeCredentailUserInterface: Added params to the context so we can autofill the values on the "Add login item" view.
  • LoginAddViewController: Added logic to autofill values with the ones in the context params and also to encrypt and save the new passkey login item.
  • LoginAddViewController (base): Added new logic for when a passkey is being created and refactor a bit the methods so they can be overridden with passkey specific logic on the iOS Autofill add view controller.
  • CipherService: Changed to use the new Fido2 params to create a new login from passkey with proper values.
  • Fido2ConfirmNewCredentialParams: Added back the RpId to be able to use it in the CipherService
  • LoginListViewController: Added loading and better error handling to saving passkey as new login.

Screenshots

Add login Passkey creation flow.

Add login Passkey creation flow

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/3019 **State:** closed **Merged:** Yes --- ## Type of change - [ ] Bug fix - [X] 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--> Add Passkey creation logic to "Add login item" flow on iOS Autofill. This includes autofilling fields on "Add login item" view and saving the new Passkey login item appropriately. _Note: iOS AuthenticationServices doesn't give us the "Relying party name" so we're defaulting to the "Relying party identifier" for autofilling the Login item Name._ ## 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--> * **Fido2MakeCredentailUserInterface:** Added params to the context so we can autofill the values on the "Add login item" view. * **LoginAddViewController:** Added logic to autofill values with the ones in the context params and also to encrypt and save the new passkey login item. * **LoginAddViewController (base):** Added new logic for when a passkey is being created and refactor a bit the methods so they can be overridden with passkey specific logic on the iOS Autofill add view controller. * **CipherService:** Changed to use the new Fido2 params to create a new login from passkey with proper values. * **Fido2ConfirmNewCredentialParams:** Added back the `RpId` to be able to use it in the `CipherService` * **LoginListViewController:** Added loading and better error handling to saving passkey as new login. ## Screenshots <!--Required for any UI changes. Delete if not applicable--> ### Add login Passkey creation flow. <img width="314" alt="Add login Passkey creation flow" src="https://github.com/bitwarden/mobile/assets/15682323/28dfb635-467b-4734-aac3-c603c053bf6c"> ## 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:01 -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#3964