-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
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.