When i setup navigator.credentials.create() everything works as expected (Safari asks for touch-id) and the credentials are created and saved.
Later when performing the login using navigator.credentials.get() I am not able to force safari to ask for touchId. Instead it only wants a security key.
This is almost the same code as used in the wwdc video, except that I added authenticatorSelection, attestation and timeout.
In credentials.create() I noticed that authenticatorAttachment="platform" is important to force touchId. But in credentials.get() this did not help.
Has anyone already built a full demo that is working for ios?
I wonder also why the code from the "shiny" demo app from the wwdc video is not available for download somewhere!
This would be really helpful for developers!
Later when performing the login using navigator.credentials.get() I am not able to force safari to ask for touchId. Instead it only wants a security key.
Code Block js return { publicKey: { challenge:"sampleChallenge", authenticatorSelection: { authenticatorAttachment: 'platform'}, attestation: 'direct', timeout: 15000, allowCredentials:[ { type:'public-key', id:"sampleId", transports:['internal'] } ] } }
This is almost the same code as used in the wwdc video, except that I added authenticatorSelection, attestation and timeout.
In credentials.create() I noticed that authenticatorAttachment="platform" is important to force touchId. But in credentials.get() this did not help.
Has anyone already built a full demo that is working for ios?
I wonder also why the code from the "shiny" demo app from the wwdc video is not available for download somewhere!
This would be really helpful for developers!
Looks like Apple fixed this with iOS 14 Beta 6!
Same code as above just works now!
On the server side (I am using node.js) now cbor.decodeAllSync returns "apple" as fmt before this was "none"
Same code as above just works now!
On the server side (I am using node.js) now cbor.decodeAllSync returns "apple" as fmt before this was "none"
Code Block Swift let ctapMakeCredResp = cbor.decodeAllSync(attestationBuffer)[0] console.log('fmt',ctapMakeCredResp.fmt) // will return "apple", before iOS 14 BETA 6 this was "none"