Discoverable passkey upgrade

Use the same UVPA with discoverable credential support (e.g. Touch ID or Windows Hello) for all the following steps:

Step # Action Expected Actual Matches Expected Details
1.
Simulate an old security key registration
2.
3.
Attempt to register as discoverable passkey
4.
Upgrade security key registration to discoverable passkey
5.
6.
Verify discoverable passkey registration
7.
8.

This journey simulates the following situation:

Informally, the RP is "upgrading" is platform authenticator from a security key registration (UVPA/RK status potentially unknown) to a discoverable passkey registration in step 6.

Note that this particular flow still has a flaw: there is no guarantee to the RP that that the device identified in step 5 is the same one registered in step 6. This is not an issue in practice, so long as device supports at most platform authenticator. However, it would be nice to address this issue while also improving the UX of this flow, by consolidating steps 4-6.

Step 2 uses:
"authenticatorSelection": {
  "userVerification": "discouraged"
}

Steps 4 and 6 use:
"authenticatorSelection": {
  "authenticatorAttachment": "platform",
  "userVerification": "required"
  "requireResidentKey": true
}

Step 7 uses:
"allowCredentials": []

Step 8 uses:
"allowCredentials": [/* registration from step 6 */]

Currently stored registrations: