// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://www.w3.org/TR/2017/WD-webauthn-20170505/#dictdef-makecredentialoptions

dictionary MakeCredentialOptions {
    required PublicKeyCredentialEntity rp;
    required PublicKeyCredentialUserEntity user;
    required BufferSource challenge;
    required sequence<PublicKeyCredentialParameters> parameters;
    unsigned long timeout;
    sequence<PublicKeyCredentialDescriptor> excludeList = [];
    AuthenticatorSelectionCriteria authenticatorSelection;
    // TODO(crbug.com/733033): Add extension support
};
