W3C home > Mailing lists > Public > public-webauthn@w3.org > August 2017

Re: [webauthn] PublicKeyCredentialRequestOptions and MakeCredentialOptions could both inherit from a dictionary which has their shared members

From: Jeffrey Yasskin via GitHub <sysbot+gh@w3.org>
Date: Wed, 02 Aug 2017 04:16:14 +0000
To: public-webauthn@w3.org
Message-ID: <issue_comment.created-319562722-1501647372-sysbot+gh@w3.org>
So, we have:

```webidl
dictionary MakePublicKeyCredentialOptions {
    required PublicKeyCredentialEntity           rp;
    required PublicKeyCredentialUserEntity       user;

    required BufferSource                             challenge;
    required sequence<PublicKeyCredentialParameters>  pubKeyCredParams;

    unsigned long                                timeout;
    sequence<PublicKeyCredentialDescriptor>      excludeCredentials = [];
    AuthenticatorSelectionCriteria               authenticatorSelection;
    AuthenticationExtensions                     extensions;
};
```
and
```webidl
dictionary PublicKeyCredentialRequestOptions {
    required BufferSource                challenge;
    unsigned long                        timeout;
    USVString                            rpId;
    sequence<PublicKeyCredentialDescriptor> allowCredentials = [];
    AuthenticationExtensions             extensions;
};
```

We could extract `challenge`, `timeout`, and `extensions` into a base dictionary, probably of the form:

```webidl
dictionary PublicKeyCredentialOptions {
    required BufferSource                challenge;
    unsigned long                        timeout;
    AuthenticationExtensions             extensions;
};
```

However, I tend to find that the specification of extracted fields is harder to understand than if they're just duplicated, so I endorse duplicating these. If the two dictionaries were passed to a common operation, that might be a reason to extract the base class, but they're not, so +1 for just closing this.

-- 
GitHub Notification of comment by jyasskin
Please view or discuss this issue at https://github.com/w3c/webauthn/issues/278#issuecomment-319562722 using your GitHub account
Received on Wednesday, 2 August 2017 04:16:17 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 07:26:26 UTC