MDN updates needed for WebAuthn 2

Hi,

Starting from the changes between Level 1 and 2 of WebAuthn [1], I've
found the following gaps in MDN on the new API surface:
* AuthenticatorAttestationResponse.getAuthenticatorData(),
AuthenticatorAttestationResponse.getPublicKey() and
AuthenticatorAttestationResponse.getPublicKeyAlgorithm() aren't
documented in
https://developer.mozilla.org/en-US/docs/Web/API/AuthenticatorAttestationResponse
(would need additions
https://github.com/mdn/content/tree/main/files/en-us/web/api/authenticatorattestationresponse
both in the index.html file and with new subdirectories for each
individual method)

* the residentKey parameter of authenticatorSelection is not documented
https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredentialCreationOptions/authenticatorSelection
(would need to be added in
https://github.com/mdn/content/blob/main/files/en-us/web/api/publickeycredentialcreationoptions/authenticatorselection/index.html)

* the value "enterprise" is not documented in
https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredentialCreationOptions/attestation
(would need to be added in
https://github.com/mdn/content/blob/main/files/en-us/web/api/publickeycredentialcreationoptions/attestation/index.html)

* appid, appidExclude, credProps, largeBlob aren't documented in
https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredentialCreationOptions/extensions
(would need to be added in
https://github.com/mdn/content/blob/main/files/en-us/web/api/publickeycredentialcreationoptions/extensions/index.html)

* conversely, authnSel, exts, uvi, loc, biometricPerfBounds are listed
there, but have been removed from level 2

* none of the output extensions (not even the level 1)  are documented
in
https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredential/getClientExtensionResults
(lives in
https://github.com/mdn/content/blob/main/files/en-us/web/api/publickeycredential/getclientextensionresults/index.html)

* the "crossOrigin" property of AuthenticatorResponse.clientDataJSON is
not documented in
https://developer.mozilla.org/en-US/docs/Web/API/AuthenticatorResponse/clientDataJSON

* in that same page, tokenBindingId should be renamed tokenBinding

I could take a stab at starting one or several pull requests with the
skeleton for these changes, but a number of them would require someone
with better understanding of the API before they can be submitted to MDN
- any volunteer to help?

Dom


1. 27a28,31
>     sequence<DOMString>                              getTransports();
>     ArrayBuffer
getAuthenticatorData();
>     ArrayBuffer?                                     getPublicKey();
>     COSEAlgorithmIdentifier
getPublicKeyAlgorithm();
38c42
<     required PublicKeyCredentialType      type;
---
>     required DOMString                    type;
52c56
<     AttestationConveyancePreference              attestation = "none";
---
>     DOMString                                    attestation = "none";
58d61
<     USVString             icon;
71c74,75
<     AuthenticatorAttachment      authenticatorAttachment;
---
>     DOMString                    authenticatorAttachment;
>     DOMString                    residentKey;
73c77
<     UserVerificationRequirement  userVerification = "preferred";
---
>     DOMString                    userVerification = "preferred";
80a85,90
> enum ResidentKeyRequirement {
>     "discouraged",
>     "preferred",
>     "required"
> };
>
84c94,95
<     "direct"
---
>     "direct",
>     "enterprise"
92c103
<     UserVerificationRequirement          userVerification = "preferred";
---
>     DOMString                            userVerification = "preferred";
102,103d112
< typedef record<DOMString, DOMString>
AuthenticationExtensionsAuthenticatorInputs;
<
107a117
>     boolean                      crossOrigin;
112c122
<     required TokenBindingStatus status;
---
>     required DOMString status;
123c133
<     required PublicKeyCredentialType      type;
---
>     required DOMString                    type;
125c135
<     sequence<AuthenticatorTransport>      transports;
---
>     sequence<DOMString>                   transports;
152c162
<   USVString txAuthSimple;
---
>   USVString appidExclude;
156,161c166
<   USVString txAuthSimple;
< };
<
< dictionary txAuthGenericArg {
<     required USVString contentType;    // MIME-Type of the content,
e.g., "image/png"
<     required ArrayBuffer content;
---
>   boolean appidExclude;
165,175c170
<   txAuthGenericArg txAuthGeneric;
< };
<
< partial dictionary AuthenticationExtensionsClientOutputs {
<   ArrayBuffer txAuthGeneric;
< };
<
< typedef sequence<AAGUID> AuthenticatorSelectionList;
<
< partial dictionary AuthenticationExtensionsClientInputs {
<   AuthenticatorSelectionList authnSel;
---
>   boolean uvm;
178c173,174
< typedef BufferSource      AAGUID;
---
> typedef sequence<unsigned long> UvmEntry;
> typedef sequence<UvmEntry> UvmEntries;
181c177
<   boolean authnSel;
---
>   UvmEntries uvm;
185,191c181
<   boolean exts;
< };
<
< typedef sequence<USVString> AuthenticationExtensionsSupported;
<
< partial dictionary AuthenticationExtensionsClientOutputs {
<   AuthenticationExtensionsSupported exts;
---
>     boolean credProps;
194,195c184,185
< partial dictionary AuthenticationExtensionsClientInputs {
<   boolean uvi;
---
> dictionary CredentialPropertiesOutput {
>     boolean rk;
199c189
<   ArrayBuffer uvi;
---
>     CredentialPropertiesOutput credProps;
203c193
<   boolean loc;
---
>     AuthenticationExtensionsLargeBlobInputs largeBlob;
206,207c196,198
< partial dictionary AuthenticationExtensionsClientOutputs {
<   Coordinates loc;
---
> enum LargeBlobSupport {
>   "required",
>   "preferred",
210,211c201,204
< partial dictionary AuthenticationExtensionsClientInputs {
<   boolean uvm;
---
> dictionary AuthenticationExtensionsLargeBlobInputs {
>     DOMString support;
>     boolean read;
>     BufferSource write;
214,216d206
< typedef sequence<unsigned long> UvmEntry;
< typedef sequence<UvmEntry> UvmEntries;
<
218c208
<   UvmEntries uvm;
---
>     AuthenticationExtensionsLargeBlobOutputs largeBlob;
221,224c211,215
< dictionary authenticatorBiometricPerfBounds{
<     float FAR;
<     float FRR;
<     };
---
> dictionary AuthenticationExtensionsLargeBlobOutputs {
>     boolean supported;
>     ArrayBuffer blob;
>     boolean written;
> };

Received on Wednesday, 17 March 2021 16:16:42 UTC