Bug 271623 - isConditionalMediationAvailable and isUserVerifyingPlatformAuthenticatorAvailable incorrectly returns false on Safari on macOS
Summary: isConditionalMediationAvailable and isUserVerifyingPlatformAuthenticatorAvail...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: Safari 17
Hardware: Mac (Apple Silicon) macOS 14
: P2 Normal
Assignee: pascoe@apple.com
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2024-03-24 21:30 PDT by James Manger
Modified: 2024-03-26 16:25 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description James Manger 2024-03-24 21:30:24 PDT
PublicKeyCredential.isConditionalMediationAvailable() returns false (after the promise resolves) on Safari 17.4 on macOS 14.4 when it should return true.

PublicKeyCredential.getClientCapabilities() returns conditionalMediation: true. So passkey (aka WebAuthn) conditional mediation is supported, but the two ways to report that are inconsistent.

var icma = await window.PublicKeyCredential.isConditionalMediationAvailable();
console.log(icma);

PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() also returns false incorrectly.
PublicKeyCredential.getClientCapabilities() correctly returns userVerifyingPlatformAuthenticator: true.
Comment 1 James Manger 2024-03-25 08:34:53 PDT
"iCloud > Passwords & Keychain" is off (by corporate policy).

It's good to know that the problem may be limited to people with less common settings. But it is still a bug.
Comment 2 Radar WebKit Bug Importer 2024-03-25 09:24:54 PDT
<rdar://problem/125357876>
Comment 3 pascoe@apple.com 2024-03-25 09:43:34 PDT
I'm unable to reproduce this on my machine running 14.4 and Safari 17.4. 

Is Keychain enabled in your iCloud settings?
Comment 4 James Manger 2024-03-26 16:25:55 PDT
"iCloud > Passwords & Keychain" is off (by corporate policy).

It's good to know that the problem may be limited to people with less common settings. But it is still a bug.