chromium/third_party/blink/renderer/modules/credentialmanagement/authentication_extensions_client_inputs.idl

// 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;
};