Skip to content

Tracking various WebAuthn features #5649

@lgarron

Description

@lgarron

The WebAuthn spec editor's draft is very much a living document, with features being added or removed features every few months. There is an old "level 1" spec (dated Mar. 4, 2019) and an in-progress "level 2" spec, but there is little correlation between these levels and the the way browsers have introduced features. Therefore, https://caniuse.com/?search=webauthn is missing a lot of useful details for website authors. For example:

Feature Introduced to spec Supported in browsers Not supported
Basic security key support long ago see caniuse.com Chrome on iOS (cannot use WebKit implementation)
uvm Sep. 1, 2016 ???
requireResidentKey (boolean) authenticator selectionª Sep. 13, 2017 Chrome 70 on macOS (mid-2017)
Chrome 73 on Windows
Firefox 66 on Windows (early 2019)
Safari on iOS 14 (Sep. 16, 2020)
Safari 14 on macOS 11ᵇ (late 2020)
Chrome on iOS (cannot use WebKit implementation)
Chrome on Android (hopefully in 2021)
Firefox on macOS (stalled)
residentKey (enum) authenticator selection May 8, 2019 Chrome 87 (Nov. 17, 2020ᵇ) Safari 14
credProps extension May 8, 2019 Chrome 87 (Nov. 17, 2020ᵇ) Safari 14
appidExclude extension July 1, 2019 Chrome 78 (mid-2019)
largeBlob extension June 22, 2020 (main feature)
Sep. 30, 2020 (querying for support)
Chrome ?? (late 2020)
Creates resident keys even if not requested Currently outside the scope of the spec Safari 14 Chrome

Note that this table is far from complete, but it makes clear that implementation timelines vary wildly depending on the feature.

I'd like to ask: does it make sense for caniuse to keep track of support for individual features like this?

  • If so, how do I best contribute them?
  • If not, how would you recommend keeping track of them?

ª I'm assuming that browsers supported this boolean when they initially introduced resident key support. This... might not exactly be the case, in which case there should probably be a separate row for "supports resident keys in some other way".
ᵇ Has not reached a "stable" release.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions