Passkey not working for some sites when created from desktop.
Checks
- [x] I have read the Wiki, searched the open issues, and still think this is a new bug.
Explain the problem clearly and succinctly:
The problem is with https://www.target.com/ specifically, every other passkey I have works on XC and DX flawlessly. I created a passkey on firefox on my linux desktop, waited for my database to sync to my phone and tried it there. I get "We couldn't sign you in with that passkey" on firefox mobile. I am still able to use it on the same desktop on other browsers and my laptop.
Describe what you expected to happen:
When clicking "Sign in with passkey" the target website accepts the login as it does on desktop.
KeePassDX version:
4.2.4
Build:
Libre
Database version:
V2 - KBDX4.1
File provider (content:// URI)
No response
Android version:
15
Android device:
Samsung Galaxy S21
Additional context:
No response
https://github.com/Kunzisoft/KeePassDX/wiki/Passkeys#server-rejection
I think the problem is this: a KeePassXC key may not work if it was created with a false backup eligibility. In any case, a key created with KeePassDX works with KeePassDX. There is nothing else to do in the application code.
I just had the same issue with another site.
The passkey was created with KeePassXC and has neither KPEX_PASSKEY_FLAG_BE nor KPEX_PASSKEY_FLAG_BS.
I can work around it by setting KPEX_PASSKEY_FLAG_BS=0 or by disabling the "Backup State" option in the KeePassDX passkey settings.
Maybe KeePassDX shouldn't default KPEX_PASSKEY_FLAG_BS to 1 if a passkey doesn't have a KPEX_PASSKEY_FLAG_BE or if the KPEX_PASSKEY_FLAG_BE is 0?
The passkey was created with KeePassXC and has neither KPEX_PASSKEY_FLAG_BE nor KPEX_PASSKEY_FLAG_BS.
Not yet
Maybe KeePassDX shouldn't default KPEX_PASSKEY_FLAG_BS to 1 if a passkey doesn't have a KPEX_PASSKEY_FLAG_BE or if the KPEX_PASSKEY_FLAG_BE is 0?
A default value must be set in all cases. A KeePass file can be exported to another device, so it makes sense to have Backup Eligibility set to true at first. The settings is precisely the place designed to change the default value according to your needs.