[PR #3020] [MERGED] [PM-5153] Android Passkey Implementation #79202

Closed
opened 2026-05-19 16:52:24 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/3020
Author: @dinisvieira
Created: 2/21/2024
Status: Merged
Merged: 4/9/2024
Merged by: @vvolkgang

Base: feature/maui-migration-passkeysHead: feature/maui-migraton-passkeys-android-unlock


📝 Commits (10+)

  • 482563d Initial WIP implementation for the app unlock flow when called from Passkey. Still needs code organization and to be finished.
  • 820e731 Added missing IDeviceActionService.cs implementation for iOS to build.
  • cddd167 Added Async to ReturnToPasskeyAfterUnlockMethod
  • 7bef854 minor code change (added comment)
  • 02380f1 Merge branch 'feature/maui-migration-passkeys' into feature/maui-migraton-passkeys-android-unlock
  • 5da04a3 Merge branch 'feature/maui-migration-passkeys' into feature/maui-migraton-passkeys-android-unlock
  • dada617 Merge branch 'feature/maui-migration-passkeys' into feature/maui-migraton-passkeys-android-unlock
  • be804e0 Merge branch 'feature/maui-migration-passkeys' into feature/maui-migraton-passkeys-android-unlock
  • 75b160a Merge branch 'feature/maui-migration-passkeys' into feature/maui-migraton-passkeys-android-unlock
  • 5605dc8 Merge branch 'feature/maui-migration-passkeys' into feature/maui-migraton-passkeys-android-unlock

📊 Changes

41 files changed (+1182 additions, -263 deletions)

View changed files

src/App/Platforms/Android/Autofill/CredentialHelpers.cs (+159 -0)
src/App/Platforms/Android/Autofill/CredentialProviderConstants.cs (+0 -9)
📝 src/App/Platforms/Android/Autofill/CredentialProviderSelectionActivity.cs (+136 -24)
📝 src/App/Platforms/Android/Autofill/CredentialProviderService.cs (+76 -78)
src/App/Platforms/Android/Autofill/Fido2GetAssertionUserInterface.cs (+21 -0)
src/App/Platforms/Android/Autofill/Fido2MakeCredentialUserInterface.cs (+151 -0)
📝 src/App/Platforms/Android/MainActivity.cs (+4 -0)
📝 src/App/Platforms/Android/MainApplication.cs (+40 -0)
📝 src/App/Platforms/Android/Services/AutofillHandler.cs (+27 -5)
📝 src/App/Platforms/Android/Services/DeviceActionService.cs (+96 -17)
📝 src/Core/Abstractions/IDeviceActionService.cs (+2 -0)
src/Core/Abstractions/IFido2MakeCredentialConfirmationUserInterface.cs (+32 -0)
📝 src/Core/App.xaml.cs (+40 -7)
src/Core/Controls/Settings/ExternalLinkSubtitleItemView.xaml (+22 -0)
src/Core/Controls/Settings/ExternalLinkSubtitleItemView.xaml.cs (+26 -0)
📝 src/Core/Core.csproj (+6 -0)
📝 src/Core/Models/AppOptions.cs (+6 -2)
📝 src/Core/Pages/Accounts/LockPage.xaml.cs (+1 -1)
📝 src/Core/Pages/Accounts/LockPageViewModel.cs (+7 -4)
📝 src/Core/Pages/Settings/AutofillSettingsPage.xaml (+9 -9)

...and 21 more files

📄 Description

Type of change

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

Objective

  • Implement Unlock flow when launched from Passkey
  • Make sure Window workarounds on Android work

Code changes

  • WIP implementation for the app unlock flow when called from Passkey.
  • Also added a new Window workaround in App.xaml.cs to allow CredentialProviderSelectionActivity.cs to launch separately.

TODO

  • Organize code in DeviceActionService.cs into some place where it can be shared with CredentialProviderService.cs
  • Method ReturnToPasskeyAfterUnlock() (in DeviceActionService.cs) can possibly be moved somewhere else also?

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

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/bitwarden/android/pull/3020 **Author:** [@dinisvieira](https://github.com/dinisvieira) **Created:** 2/21/2024 **Status:** ✅ Merged **Merged:** 4/9/2024 **Merged by:** [@vvolkgang](https://github.com/vvolkgang) **Base:** `feature/maui-migration-passkeys` ← **Head:** `feature/maui-migraton-passkeys-android-unlock` --- ### 📝 Commits (10+) - [`482563d`](https://github.com/bitwarden/android/commit/482563d76bac1ed57799d94f670d76ee1c0d4af6) Initial WIP implementation for the app unlock flow when called from Passkey. Still needs code organization and to be finished. - [`820e731`](https://github.com/bitwarden/android/commit/820e73123bf429e0f58062698359fb5f8e37eaa7) Added missing IDeviceActionService.cs implementation for iOS to build. - [`cddd167`](https://github.com/bitwarden/android/commit/cddd1678d708c23b45fedd546c942e1cb012e287) Added Async to ReturnToPasskeyAfterUnlockMethod - [`7bef854`](https://github.com/bitwarden/android/commit/7bef854183cb971bc54793641ad941f0949aa2d9) minor code change (added comment) - [`02380f1`](https://github.com/bitwarden/android/commit/02380f1e119ecd317c0995729ad59ab02289764f) Merge branch 'feature/maui-migration-passkeys' into feature/maui-migraton-passkeys-android-unlock - [`5da04a3`](https://github.com/bitwarden/android/commit/5da04a3bea67f300b363ee063ce8d5a0579eff2d) Merge branch 'feature/maui-migration-passkeys' into feature/maui-migraton-passkeys-android-unlock - [`dada617`](https://github.com/bitwarden/android/commit/dada617b8a3eb0824d2401c271bb25d0afcc790c) Merge branch 'feature/maui-migration-passkeys' into feature/maui-migraton-passkeys-android-unlock - [`be804e0`](https://github.com/bitwarden/android/commit/be804e0584f6b501d88ae8e0859ce051f63ffd14) Merge branch 'feature/maui-migration-passkeys' into feature/maui-migraton-passkeys-android-unlock - [`75b160a`](https://github.com/bitwarden/android/commit/75b160a990e8cd89f02a231202616f7982373b02) Merge branch 'feature/maui-migration-passkeys' into feature/maui-migraton-passkeys-android-unlock - [`5605dc8`](https://github.com/bitwarden/android/commit/5605dc8314638ecd3675168a7b3cce32bde31647) Merge branch 'feature/maui-migration-passkeys' into feature/maui-migraton-passkeys-android-unlock ### 📊 Changes **41 files changed** (+1182 additions, -263 deletions) <details> <summary>View changed files</summary> ➕ `src/App/Platforms/Android/Autofill/CredentialHelpers.cs` (+159 -0) ➖ `src/App/Platforms/Android/Autofill/CredentialProviderConstants.cs` (+0 -9) 📝 `src/App/Platforms/Android/Autofill/CredentialProviderSelectionActivity.cs` (+136 -24) 📝 `src/App/Platforms/Android/Autofill/CredentialProviderService.cs` (+76 -78) ➕ `src/App/Platforms/Android/Autofill/Fido2GetAssertionUserInterface.cs` (+21 -0) ➕ `src/App/Platforms/Android/Autofill/Fido2MakeCredentialUserInterface.cs` (+151 -0) 📝 `src/App/Platforms/Android/MainActivity.cs` (+4 -0) 📝 `src/App/Platforms/Android/MainApplication.cs` (+40 -0) 📝 `src/App/Platforms/Android/Services/AutofillHandler.cs` (+27 -5) 📝 `src/App/Platforms/Android/Services/DeviceActionService.cs` (+96 -17) 📝 `src/Core/Abstractions/IDeviceActionService.cs` (+2 -0) ➕ `src/Core/Abstractions/IFido2MakeCredentialConfirmationUserInterface.cs` (+32 -0) 📝 `src/Core/App.xaml.cs` (+40 -7) ➕ `src/Core/Controls/Settings/ExternalLinkSubtitleItemView.xaml` (+22 -0) ➕ `src/Core/Controls/Settings/ExternalLinkSubtitleItemView.xaml.cs` (+26 -0) 📝 `src/Core/Core.csproj` (+6 -0) 📝 `src/Core/Models/AppOptions.cs` (+6 -2) 📝 `src/Core/Pages/Accounts/LockPage.xaml.cs` (+1 -1) 📝 `src/Core/Pages/Accounts/LockPageViewModel.cs` (+7 -4) 📝 `src/Core/Pages/Settings/AutofillSettingsPage.xaml` (+9 -9) _...and 21 more files_ </details> ### 📄 Description ## Type of change - [ ] Bug fix - [x] New feature development - [ ] Tech debt (refactoring, code cleanup, dependency upgrades, etc) - [ ] Build/deploy pipeline (DevOps) - [ ] Other ## Objective - Implement Unlock flow when launched from Passkey - Make sure Window workarounds on Android work ## Code changes - WIP implementation for the app unlock flow when called from Passkey. - Also added a new Window workaround in `App.xaml.cs` to allow `CredentialProviderSelectionActivity.cs` to launch separately. ## TODO - Organize code in `DeviceActionService.cs` into some place where it can be shared with `CredentialProviderService.cs` - Method `ReturnToPasskeyAfterUnlock()` (in `DeviceActionService.cs`) can possibly be moved somewhere else also? ## 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 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-05-19 16:52:24 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#79202