- From: =JeffH <Jeff.Hodges@KingsMountain.com>
- Date: Fri, 16 Dec 2016 15:10:37 -0800
- To: Alexei Czeskis <aczeskis@google.com>
- Cc: W3C Web Authn WG <public-webauthn@w3.org>
from the current state of
<https://github.com/w3c/webauthn/blob/master/index.bs>:
> dictionary CredentialOptions {
> unsigned long timeoutSeconds;
> sequence < CredentialDescription > excludeList;
> WebAuthnExtensions extensions;
> Attachment attachment;
> };
>
> enum Attachment {
> "platform",
> "cross_platform"
> };
Plus, there's the below step 10 in the (current) makeCredential()
algorithm at line 431
<https://github.com/w3c/webauthn/blob/d23f37ebb858a73d473a10c01a5a5cc6f7a71341/index.bs#L431>:
> 9. Initialize |issuedRequests| to an empty list.
>
> 10. If {{ScopedCredentialOptions/attachment}} is specified, let
> |attachment| be {{ScopedCredentialOptions/attachment}}. If
> |attachment| is null or empty, reject |promise| with a DOMException
> whose name is "InvalidArgumentError". Otherwise, only consider
> authenticators whose attachment is mentioned in |attachment|.
>
> 11. For each authenticator currently available on this platform:
> asynchronously invoke the <a>authenticatorMakeCredential</a>
> operation on that authenticator... Add a corresponding entry
> to |issuedRequests|. ...
I am merging the above into the jeffh-editorial-cleanups4 branch where I
am also addressing https://github.com/w3c/webauthn/issues/251
So, given that a dictionary member, specified as `attachment` is above,
is optional, and an enum, such as `Attachment`, cannot itself have a
null value, and since the guidance from #251 is to check for a
dictionary member's "presence", rather than for being "specified" (i.e.,
or null or empty), I'm intending to rewrite the above steps to be..
8. Initialize |issuedRequests| and |currentlyAvailableAuthenticators|
to empty lists.
9. For each authenticator currently available on this platform, add the
authenticator to |currentlyAvailableAuthenticators|
unless the {{ScopedCredentialOptions/attachment}} member of
{{options}} is <a>present</a>. In that case, let |attachment| be
{{ScopedCredentialOptions/attachment}}, and add the authenticator
to |currentlyAvailableAuthenticators| if its attachment modality
matches |attachment|.
10. For each authenticator in |currentlyAvailableAuthenticators|:
asynchronously invoke the <a>authenticatorMakeCredential</a>
operation on that authenticator ... Add a corresponding entry
to |issuedRequests|. ...
How does that look?
HTH,
=JeffH
Received on Friday, 16 December 2016 23:11:23 UTC