-
Notifications
You must be signed in to change notification settings - Fork 877
[PM-13789] add credential manager provider for passwords #4110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
[PM-13789] add credential manager provider for passwords #4110
Conversation
kilian.eller seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
Thank you for your contribution! We've added this to our internal Community PR board for review. |
4aa9f5a
to
5a6e528
Compare
I would like a check/pre-review from the code owners before starting to work on the tests. Maybe this could be split into multiple smaller PRs as it got already a lot bigger than i thought it would be - and it's also a lot to review |
due to a lot of changes in the types it's currently not compiling however i am not sure if i just waste my time here since i get no response or any info if this feature is planned ... |
Hi @Nailik Apologies for the late response. We've been busy shoring up our native releases. We are interested in consuming these changes and do appreciate you taking the time to submit them. As you stated, there has been refactoring that conflicts with the changes you submitted. There's potential for more refactoring once Google releases the next version of Credential Manager (1.5.0). I suggest holding this PR until the new CredMan library is available. As soon as time permits we will review and provide feedback. |
@SaintPatrck perfect thank you. |
androidx.credentials:credentials:1.5.0 was released on 15. Mar so i will resume working on this PR now. |
|
thx for letting me know |
I am currently rewriting the whole PR. Currently i am blocked because of an issue with #5101. |
…universal Credential intent and functions
…le password requests
Hi @SaintPatrck |
…ider # Conflicts: # app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/manager/intent/IntentManager.kt
…ider # Conflicts: # app/src/main/kotlin/com/x8bit/bitwarden/data/credentials/builder/CredentialEntryBuilderImpl.kt # app/src/main/kotlin/com/x8bit/bitwarden/data/credentials/util/CredentialProviderIntentUtils.kt
Hey @Nailik! These updates look great. Everything is working as expected. I'm going to push a small commit to fix the build error and make a few formatting tweaks. Once the build checks complete I'll have another team member review the changes for anything I may have overlooked. Thank you for your patience while we review, and your amazing contributions. 🫶 |
New Issues (1)Checkmarx found the following issues in this Pull Request
|
app/src/test/kotlin/com/x8bit/bitwarden/data/vault/datasource/sdk/model/CipherViewUtil.kt
Dismissed
Show dismissed
Hide dismissed
- BitwardenCredentialManagerImpl.kt: formatting. - CredentialEntryBuilderExtensions.kt: fix compile error. - CredentialEntryBuilderImpl.kt: use generic login icon for password credntial entry icon to match autofill items and better distinguish from passkeys. - CredentialProviderIntentUtils.kt: invert build version check. - provider.xml: Add public key credential capability so debug builds still handle passkeys. - VaultItemListingViewModel.kt: formatting.
e1b13e7
to
02cde31
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4110 +/- ##
==========================================
+ Coverage 84.02% 84.06% +0.03%
==========================================
Files 698 698
Lines 52872 53076 +204
Branches 7198 7241 +43
==========================================
+ Hits 44428 44617 +189
- Misses 5970 5973 +3
- Partials 2474 2486 +12 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
app/src/main/kotlin/com/x8bit/bitwarden/data/credentials/builder/CredentialEntryBuilderImpl.kt
Outdated
Show resolved
Hide resolved
...c/main/kotlin/com/x8bit/bitwarden/data/credentials/manager/BitwardenCredentialManagerImpl.kt
Outdated
Show resolved
Hide resolved
@@ -1450,6 +1466,10 @@ class VaultItemListingViewModel @Inject constructor( | |||
handleFido2AssertionResultReceive(action) | |||
} | |||
|
|||
is VaultItemListingsAction.Internal.ProviderGetPasswordCredentialRequestReceive -> { | |||
handleProviderGetPasswordCredentialRequestReceive(action) | |||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we get some test coverage on this file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good point, while writing the tests i found some issues regarding authentication if a credential has reprompt set. i also renamed some functions to show that it is regarding credentials and not only fido2 and updted some texts for the same reason (passkey ... -> credential ..)
🎟️ Tracking
#4100
📔 Objective
Currently there is only an implementation to provide or save Fido2 credentials via the CredentialManager.
The objective is to add the possibility to save and create Passwords.
Credential Manager usage: https://developer.android.com/identity/sign-in/credential-manager
Credential Provider to provide Credential Manager: https://developer.android.com/identity/sign-in/credential-provider
Example Project: https://github.com/android/identity-samples/tree/main/CredentialManager
Status
Working on:
Found issues:
showFido2ErrorDialog
doesn't always show the correct reason, however to stay consistent theshowPaswordErrorDialog
also shows always the same issue📸 Screenshots
⏰ Reminders before review
🦮 Reviewer guidelines
:+1:
) or similar for great changes:memo:
) or ℹ️ (:information_source:
) for notes or general info:question:
) for questions:thinking:
) or 💭 (:thought_balloon:
) for more open inquiry that's not quite a confirmedissue and could potentially benefit from discussion
:art:
) for suggestions / improvements:x:
) or:warning:
) for more significant problems or concerns needing attention:seedling:
) or ♻️ (:recycle:
) for future improvements or indications of technical debt:pick:
) for minor or nitpick changes