duo-labs / py_webauthn

Pythonic WebAuthn 🐍
https://duo-labs.github.io/py_webauthn
BSD 3-Clause "New" or "Revised" License
856 stars 171 forks source link

feat/cable-support #129

Closed MasterKale closed 2 years ago

MasterKale commented 2 years ago

The "cable" transport hasn't formally been recognized in the WebAuthn spec yet, but that hasn't stopped Apple and Google from debuting support for this new means of performing WebAuthn registration and authentication ceremonies.

Since support is out in the wild as of Safari 15.4 and Chrome 100 I'm making an exception and adding support for this new value now. This should resolve errors like this that RP's might have started seeing:

pydantic.error_wrappers.ValidationError: 1 validation error for RegistrationCredential
transports -> 0
  value is not a valid enumeration member; permitted: 'usb', 'nfc', 'ble', 'internal'
  (type=type_error.enum; enum_values=[<AuthenticatorTransport.USB: 'usb'>,
  <AuthenticatorTransport.NFC: 'nfc'>, <AuthenticatorTransport.BLE: 'ble'>,
  <AuthenticatorTransport.INTERNAL: 'internal'>])

Fixes #126.