chromium/third_party/blink/renderer/modules/credentialmanagement/authentication_extensions_client_outputs.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.

typedef sequence<sequence<unsigned long>> UvmEntries;

// https://w3c.github.io/webauthn/#dictdef-authenticationextensionsclientoutputs
dictionary AuthenticationExtensionsClientOutputs {
  boolean appid;

  // 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
  UvmEntries uvm;

  // https://w3c.github.io/webauthn/#sctn-authenticator-credential-properties-extension
  CredentialPropertiesOutput credProps;

  // https://w3c.github.io/webauthn/#sctn-large-blob-extension
  [RuntimeEnabled=WebAuthenticationLargeBlobExtension] AuthenticationExtensionsLargeBlobOutputs largeBlob;

  // https://fidoalliance.org/specs/fido-v2.1-rd-20201208/fido-client-to-authenticator-protocol-v2.1-rd-20201208.html#sctn-credBlob-extension
  boolean credBlob;
  ArrayBuffer getCredBlob;

  // https://w3c.github.io/webauthn/#sctn-supplemental-public-keys-extension
  [RuntimeEnabled=WebAuthenticationSupplementalPubKeys] AuthenticationExtensionsSupplementalPubKeysOutputs supplementalPubKeys;

  // Pseudo-random function support.
  // https://w3c.github.io/webauthn/#prf-extension
  [RuntimeEnabled=WebAuthenticationPRF] AuthenticationExtensionsPRFOutputs prf;
};