I am trying to log the support for Webauthn and Passkeys of the devices/browsers visiting my webapp.
I am checking webauthn support this way:
window.PublicKeyCredential?.isUserVerifyingPlatformAuthenticatorAvailable().then((e: boolean)=> e)
and determining Passkey support by verifying support for Conditional UI this way:
if(typeof window.PublicKeyCredential.isConditionalMediationAvailable === "function") {
return window.PublicKeyCredential?.isConditionalMediationAvailable().then( (e: boolean) => e )
}
I believe that, in order to support passkeys, the browser or device has to support webauthn. What is interesting is I do find a small subset of logs where webauthn support for that device is false, however, isConditionalMediationAvailable support has evaluated to true.
This subset of devices seem to be coming in from the following User-Agents:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.61
How is this possible? Is my understanding correct?