Hello everyone,
I'm facing a couple of issues while creating & using passkeys in Windows. I'm wondering if anyone has also encountered something similar and has any tips or insights I could use.
Issue 1 (attachment being ignored):
When sending the options to the authenticator I'm specifically setting the attachment as "platform" due to an internal requirement:
....
"timeout"
:
180000
,
"excludeCredentials"
:
[
]
,
"authenticatorSelection"
:
{
"authenticatorAttachment"
:
"platform"
,
"requireResidentKey"
:
true
,
"userVerification"
:
"required"
,
"residentKey"
:
null
}
,
"attestation"
:
"direct"
,
"extensions"
:
{
.....
Nonetheless, in Windows specifically, I'm getting a cross-platform behavior. It offers the option to create a passkey using a roaming authenticator. This does not happen in macOS systems.
Is this a known issue or expected behavior? Is there a known way to enforce the attachment sent?
Issue 2 (transport set incorrectly):
Another issue I'm facing, is the transport being returned after creating the passkey with a roaming authenticator. After creating the passkey, the publicKey returned has an "internal" transport, instead of a "hybrid" transport.
Is it not the expected behavior to return the transport array with "hybrid" when using a roaming authenticator? I'm aware the mobile phone (i.e.) will send its transport as "internal", but shouldn't the paired browser push the "hybrid" transport when using a cross-platform authenticator?
Here is an extracted response from the authenticator creation with a roaming passkey:
{
...
"publicKeyCredentials"
:
{
"id"
:
"3Kv-VKnJeAX9ORq4OR59ww"
,
"type"
:
"public-key"
,
"response"
:
{
"clientDataJSON"
:
REDACTED
,
"attestationObject"
:
REDACTED
,
"transports"
:
[
"internal"
]
}
,
...
Thank you for your attention!