diff --git a/index.bs b/index.bs index ef43f5032..3e6f95927 100644 --- a/index.bs +++ b/index.bs @@ -279,7 +279,8 @@ The API is defined by the following Web IDL fragment. interface WebAuthentication { Promise < ScopedCredentialInfo > makeCredential ( Account accountInformation, - sequence < ScopedCredentialParameters > cryptoParameters, + sequence < CredentialType > supportedTypes, + sequence < AlgorithmIdentifier > supportedAlgorithms, BufferSource attestationChallenge, optional unsigned long credentialTimeoutSeconds, optional sequence < Credential > blacklist, @@ -308,11 +309,6 @@ The API is defined by the following Web IDL fragment. DOMString imageURL; }; - dictionary ScopedCredentialParameters { - required CredentialType type; - required AlgorithmIdentifier algorithm; - }; - interface WebAuthnAssertion { readonly attribute Credential credential; readonly attribute ArrayBuffer clientData; @@ -357,8 +353,8 @@ This method takes the following parameters: - The accountInformation parameter specifies information about the user account for which the credential is being created. This is meant for later use by the authenticator when it needs to prompt the user to select a credential. -- The cryptoParameters parameter supplies information about the desired properties of the credential to be created. - The sequence is ordered from most preferred to least preferred. The platform makes a best effort to create the most +- The supportedAlgorithms and supportedTypes parameters supply information about the desired properties of the credential to be created. + The sequence is ordered from most preferred to least preferred. The platform makes a best effort to create the most logical and preferred credential that it can. - The attestationChallenge parameter contains a challenge intended to be used for generating the attestation @@ -392,15 +388,12 @@ When this method is invoked, the user agent MUST execute the following algorithm 4. Initialize |issuedRequests| to an empty list. -5. Process each element of cryptoParameters using the following steps, to produce a new sequence `normalizedParameters`: - - Let |current| be the currently selected element of cryptoParameters. - - If `current.type` does not contain a {{CredentialType}} supported by this implementation, then stop processing |current| - and move on to the next element in cryptoParameters. +5. Process each element of supportedAlgorithms using the following steps, to produce a new sequence `normalizedAlgorithms`: + - Let |currentAlgorithm| be the currently selected element of supportedAlgorithms. - Let `normalizedAlgorithm` be the result of normalizing an algorithm using the procedure defined in [[!WebCryptoAPI]], - with |alg| set to `current.algorithm` and |op| set to 'generateKey'. If an error occurs during this procedure, then - stop processing |current| and move on to the next element in cryptoParameters. - - Add a new object of type {{ScopedCredentialParameters}} to `normalizedParameters`, with |type| set to `current.type` and - |algorithm| set to `normalizedAlgorithm`. + with |alg| set to `currentAlgorithm` and |op| set to 'generateKey'. If an error occurs during this procedure, then + stop processing |currentAlgorithm| and move on to the next element in supportedAlgorithms. + - Add `normalizedAlgorithm` to `normalizedAlgorithms`. 6. If blacklist is undefined, set it to the empty list. @@ -409,7 +402,7 @@ When this method is invoked, the user agent MUST execute the following algorithm 8. For each authenticator currently available on this platform: asynchronously invoke the authenticatorMakeCredential operation on that authenticator with |callerOrigin|, |rpId|, accountInformation, - `normalizedParameters`, blacklist, attestationChallenge and |clientExtensions| as parameters. Add a + supportedTypes, `normalizedAlgorithms`, blacklist, attestationChallenge and |clientExtensions| as parameters. Add a corresponding entry to |issuedRequests|. 9. While |issuedRequests| is not empty, perform the following actions depending upon the |adjustedTimeout| timer and responses @@ -537,18 +530,6 @@ authorizing an authenticator with which to complete the operation. -## Parameters for Credential Generation (dictionary ScopedCredentialParameters) ## {#credential-params} - -
- This dictionary is used to supply additional parameters when creating a new credential. - - The type member specifies the type of credential to be created. - - The algorithm member specifies the cryptographic algorithm with which the newly generated credential will be - used. -
- - ## WebAuthn Assertion (interface WebAuthnAssertion) ## {#iface-assertion} Scoped credentials produce a cryptographic signature that provides proof of possession of a private key as well as evidence of