Skip to content

Commit c18a138

Browse files
authored
Revert clientExtensionResults attribute back to getClientExtensionResults function (#816)
1 parent 5c3054f commit c18a138

File tree

1 file changed

+19
-13
lines changed

1 file changed

+19
-13
lines changed

index.bs

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -620,7 +620,7 @@ that are returned to the caller when a new credential is created, or a new asser
620620
interface PublicKeyCredential : Credential {
621621
[SameObject] readonly attribute ArrayBuffer rawId;
622622
[SameObject] readonly attribute AuthenticatorResponse response;
623-
[SameObject] readonly attribute AuthenticationExtensionsClientOutputs clientExtensionResults;
623+
AuthenticationExtensionsClientOutputs getClientExtensionResults();
624624
};
625625
</xmp>
626626
<dl dfn-type="attribute" dfn-for="PublicKeyCredential">
@@ -639,11 +639,10 @@ that are returned to the caller when a new credential is created, or a new asser
639639
the {{PublicKeyCredential}} was created in response to {{CredentialsContainer/get()}}, and this attribute's value
640640
will be an {{AuthenticatorAssertionResponse}}.
641641

642-
: <dfn>clientExtensionResults</dfn>
643-
:: This attribute contains a [=map=] of [=extension identifier=][=client extension output=] entries, produced by the
644-
[=client extension processing=] of [=client extensions=] requested by the [=[RP]=] upon invocation of either
645-
{{CredentialsContainer/create()|navigator.credentials.create()}} or
646-
{{CredentialsContainer/get()|navigator.credentials.get()}}.
642+
: {{PublicKeyCredential/getClientExtensionResults()}}
643+
:: This operation returns the value of {{PublicKeyCredential/[[clientExtensionsResults]]}}, which is a [=map=] containing
644+
[=extension identifier=][=client extension output=] entries produced by the extension's
645+
[=client extension processing=].
647646

648647
: <dfn>\[[type]]</dfn>
649648
:: The {{PublicKeyCredential}} [=interface object=]'s {{Credential/[[type]]}} [=internal slot=]'s value is the string
@@ -664,6 +663,11 @@ that are returned to the caller when a new credential is created, or a new asser
664663
the format or length of this identifier, except that it MUST be sufficient for the platform to uniquely select a key.
665664
For example, an authenticator without on-board storage may create identifiers containing a [=credential private key=]
666665
wrapped with a symmetric key that is burned into the authenticator.
666+
667+
: <dfn>\[[clientExtensionsResults]]</dfn>
668+
:: This [=internal slot=] contains the results of processing client extensions requested by the [=[RP]=] upon the
669+
[=[RP]=]'s invocation of either {{CredentialsContainer/create()|navigator.credentials.create()}} or
670+
{{CredentialsContainer/get()|navigator.credentials.get()}}.
667671
</dl>
668672

669673
{{PublicKeyCredential}}'s [=interface object=] inherits {{Credential}}'s implementation of
@@ -1010,8 +1014,9 @@ When this method is invoked, the user agent MUST execute the following algorithm
10101014
: {{AuthenticatorAttestationResponse/attestationObject}}
10111015
:: |attestationObject|
10121016

1013-
: {{PublicKeyCredential/clientExtensionResults}}
1014-
:: <code>|credentialCreationData|.[=credentialCreationData/clientExtensionResults=]</code>.
1017+
: {{PublicKeyCredential/[[clientExtensionsResults]]}}
1018+
:: A new {{ArrayBuffer}}, created using |global|'s [=%ArrayBuffer%=], containing the bytes of
1019+
<code>|credentialCreationData|.[=credentialCreationData/clientExtensionResults=]</code>.
10151020

10161021
1. Return |pubKeyCred|.
10171022

@@ -1354,8 +1359,9 @@ When this method is invoked, the user agent MUST execute the following algorithm
13541359
[=%ArrayBuffer%=], containing the bytes of
13551360
<code>|assertionCreationData|.[=assertionCreationData/userHandleResult=]</code>.
13561361

1357-
: {{PublicKeyCredential/clientExtensionResults}}
1358-
:: <code>|assertionCreationData|.[=assertionCreationData/clientExtensionResults=]</code>.
1362+
: {{PublicKeyCredential/[[clientExtensionsResults]]}}
1363+
:: A new {{ArrayBuffer}}, created using |global|'s [=%ArrayBuffer%=], containing the bytes of
1364+
<code>|assertionCreationData|.[=assertionCreationData/clientExtensionResults=]</code>.
13591365

13601366
1. Return |pubKeyCred|.
13611367

@@ -3019,7 +3025,7 @@ When verifying a given {{PublicKeyCredential}} structure (|credential|) and an {
30193025
<dd>Update the stored [=signature counter=] value, associated with
30203026
|credential|'s {{Credential/id}} attribute, to be the value of
30213027
|adata|.<code>[=signCount=]</code>.</dd>
3022-
<dt>less than or equal to the [=signature counter=] value stored in conjunction
3028+
<dt>less than or equal to the [=signature counter=] value stored in conjunction
30233029
with |credential|'s {{Credential/id}} attribute.</dt>
30243030
<dd>This is a signal that
30253031
the authenticator may be cloned, i.e. at least
@@ -3132,7 +3138,7 @@ implementable by [=authenticators=] with limited resources (e.g., secure element
31323138
1. If [=ECDAA=] is in use, the authenticator produces |sig| by concatenating |authenticatorData| and |clientDataHash|, and
31333139
signing the result using ECDAA-Sign (see section 3.5 of [[!FIDOEcdaaAlgorithm]]) after selecting an
31343140
[=ECDAA-Issuer public key=] related to the ECDAA signature private key through an
3135-
authenticator-specific mechanism (see [[!FIDOEcdaaAlgorithm]]). It sets |alg| to the algorithm of the selected
3141+
authenticator-specific mechanism (see [[!FIDOEcdaaAlgorithm]]). It sets |alg| to the algorithm of the selected
31363142
[=ECDAA-Issuer public key=] and |ecdaaKeyId| to the [=identifier of the ECDAA-Issuer public key=] (see above).
31373143

31383144
1. If [=self attestation=] is in use, the authenticator produces |sig| by concatenating |authenticatorData| and |clientDataHash|,
@@ -3742,7 +3748,7 @@ Supported [=client extensions=] are recorded as a dictionary in the [=client dat
37423748
{{CollectedClientData/clientExtensions}}. For each such extension, the client adds an entry to this dictionary with the
37433749
[=extension identifier=] as the key, and the extension's [=client extension input=] as the value.
37443750

3745-
Likewise, the [=client extension outputs=] are represented as a dictionary in the {{PublicKeyCredential/clientExtensionResults}} value,
3751+
Likewise, the [=client extension outputs=] are represented as a dictionary in the result of {{PublicKeyCredential/getClientExtensionResults()}}
37463752
with [=extension identifiers=] as keys, and the <dfn>client extension output</dfn> value of each extension as the value.
37473753
Like the [=client extension input=], the [=client extension output=] is a value that can be encoded in JSON.
37483754

0 commit comments

Comments
 (0)