0

When i try to login using WebAuthn on navigator.credentials.get(). I need to push some values on property allowCredentials because Chrome Mobile it does not allow empty allowCredentials. The hard part is inside the transports property, because according to Mozilla documentation, is an array of strings. I have an array of only one string = internal, because i don't need a usb or enything else.

credencialesPermitidas.push({
  id: base64ArrayBuffer.decode(id),
  type: "public-key",
  transports: ["internal"]
});
navigator.credentials
 .get({
    publicKey: {
      rpId: "localhost",
      challenge: base64ArrayBuffer.decode(response.data.result),
      userVerification: "discouraged",
      allowCredentials: credencialesPermitidas,
      timeout: 60000
     }
   })

With these configuration, everything works, but when the process finishes verifying the identity, the result is an error: enter image description here

If transports is empty, the process needs a USB Key... and I do not understand this point.

Isaías Orozco Toledo
  • 1,919
  • 5
  • 19
  • 35
  • Is it the navigator.credentials.get() call that throws that error but only after you've authenticated using the internal method? Does the UI not let you choose the method if you omit the transport hint? – mackie Jan 02 '20 at 14:44
  • The selector was removed as part of the operation. But even with the selector, the fingerprint did not appear. – Isaías Orozco Toledo Jan 14 '20 at 19:17

0 Answers0