SimpleWebAuthn icon indicating copy to clipboard operation
SimpleWebAuthn copied to clipboard

largeBlob support?

Open jbrower95 opened this issue 2 years ago • 1 comments

Describe the issue

  • AuthenticationExtensionsClientInputs should probably support largeBlob: {read/write} (https://chromestatus.com/feature/5657899357437952) as an extension: parameter. (maybe i'm missing something on how to enable this?)
  • Since startAuthentication hides the credential directly, we also need a different way to access the optionally available value from the largeBlob store while using this library.

Has anyone looked into this already? As of iOS17 / Safari 17, we should have largeBlob support on all Apple devices now... would be nice to be able to use with SimpleWebAuthn!

Reproduction Steps

Expected behavior

  • If specifying {extensions: largeBlob: {read: true}}, there must be some way to read the associated value.
  • Similarly, there should be available types for largeBlob on startAuthentication / startRegistration.

Code Samples + WebAuthn Options and Responses

https://chromestatus.com/feature/5657899357437952 https://webauthn-large-blob.glitch.me/

Dependencies

  • OS: (e.g. macOS 13.2)
  • Browser: (e.g. Chrome 110)
  • Authenticator: (e.g. YubiKey 5, iPhone 12 @ iOS 16.3, 1Password browser extension 2.15.1)

SimpleWebAuthn Libraries

$ npm list --depth=0 | grep @simplewebauthn
├── @simplewebauthn/browser@_._._
├── @simplewebauthn/server@_._._
# ...

Additional context

jbrower95 avatar Dec 01 '23 22:12 jbrower95

Thanks for opening this issue @jbrower95, it's not a bad idea. There's definitely an opportunity here to simplify the use of largeBlob because the spec requires reading the description of the extension a few times to fully understand the couple of combinations of legitimate options that will lead to success.

MasterKale avatar Dec 31 '23 07:12 MasterKale