// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// https://w3c.github.io/webauthn/#dictdef-authenticationextensionsclientinputs
dictionary AuthenticationExtensionsClientInputs {
// https://w3c.github.io/webauthn/#sctn-appid-extension
USVString appid;
// https://w3c.github.io/webauthn/#sctn-appid-exclude-extension
USVString appidExclude;
sequence<CableAuthenticationData> cableAuthentication;
// https://fidoalliance.org/specs/fido-v2.0-rd-20180702/fido-client-to-authenticator-protocol-v2.0-rd-20180702.html#sctn-hmac-secret-extension
boolean hmacCreateSecret;
// https://w3c.github.io/webauthn/#sctn-uvm-extension
boolean uvm;
// https://drafts.fidoalliance.org/fido-2/latest/fido-client-to-authenticator-protocol-v2.0-wd-20190409.html#sctn-credProtect-extension
USVString credentialProtectionPolicy;
boolean enforceCredentialProtectionPolicy = false;
// https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#sctn-minpinlength-extension
boolean minPinLength;
// https://w3c.github.io/webauthn/#sctn-authenticator-credential-properties-extension
boolean credProps = false;
// https://w3c.github.io/webauthn/#sctn-large-blob-extension
[RuntimeEnabled=WebAuthenticationLargeBlobExtension] AuthenticationExtensionsLargeBlobInputs largeBlob;
// https://fidoalliance.org/specs/fido-v2.1-rd-20201208/fido-client-to-authenticator-protocol-v2.1-rd-20201208.html#sctn-credBlob-extension
BufferSource credBlob;
boolean getCredBlob;
// https://github.com/w3c/secure-payment-confirmation
[RuntimeEnabled=SecurePaymentConfirmation] AuthenticationExtensionsPaymentInputs payment;
// Allows a remote desktop client to override the `origin` and
// `sameOriginWithAncestors` internal arguments for a request.
[RuntimeEnabled=WebAuthenticationRemoteDesktopSupport] RemoteDesktopClientOverride remoteDesktopClientOverride;
// Supplemental public keys support
// https://w3c.github.io/webauthn/#sctn-supplemental-public-keys-extension
[RuntimeEnabled=WebAuthenticationSupplementalPubKeys] AuthenticationExtensionsSupplementalPubKeysInputs supplementalPubKeys;
// Pseudo-random function support.
// https://w3c.github.io/webauthn/#prf-extension
[RuntimeEnabled=WebAuthenticationPRF] AuthenticationExtensionsPRFInputs prf;
};