// GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) // Source: Web Authentication: An API for accessing Public Key Credentials - Level (https://w3c.github.io/webauthn/) [SecureContext, Exposed=Window] interface PublicKeyCredential : Credential { [SameObject] readonly attribute ArrayBuffer rawId; [SameObject] readonly attribute AuthenticatorResponse response; [SameObject] readonly attribute DOMString? authenticatorAttachment; AuthenticationExtensionsClientOutputs getClientExtensionResults(); static Promise isConditionalMediationAvailable(); PublicKeyCredentialJSON toJSON(); }; typedef DOMString Base64URLString; typedef (RegistrationResponseJSON or AuthenticationResponseJSON) PublicKeyCredentialJSON; dictionary RegistrationResponseJSON { required Base64URLString id; required Base64URLString rawId; required AuthenticatorAttestationResponseJSON response; DOMString authenticatorAttachment; required AuthenticationExtensionsClientOutputsJSON clientExtensionResults; required DOMString type; }; dictionary AuthenticatorAttestationResponseJSON { required Base64URLString clientDataJSON; required Base64URLString attestationObject; required sequence transports; }; dictionary AuthenticationResponseJSON { required Base64URLString id; required Base64URLString rawId; required AuthenticatorAssertionResponseJSON response; DOMString authenticatorAttachment; required AuthenticationExtensionsClientOutputsJSON clientExtensionResults; required DOMString type; }; dictionary AuthenticatorAssertionResponseJSON { required Base64URLString clientDataJSON; required Base64URLString authenticatorData; required Base64URLString signature; Base64URLString userHandle; }; dictionary AuthenticationExtensionsClientOutputsJSON { }; partial dictionary CredentialCreationOptions { PublicKeyCredentialCreationOptions publicKey; }; partial dictionary CredentialRequestOptions { PublicKeyCredentialRequestOptions publicKey; }; partial interface PublicKeyCredential { static Promise isUserVerifyingPlatformAuthenticatorAvailable(); }; partial interface PublicKeyCredential { static PublicKeyCredentialCreationOptions parseCreationOptionsFromJSON(PublicKeyCredentialCreationOptionsJSON options); }; dictionary PublicKeyCredentialCreationOptionsJSON { required PublicKeyCredentialRpEntity rp; required PublicKeyCredentialUserEntityJSON user; required Base64URLString challenge; required sequence pubKeyCredParams; unsigned long timeout; sequence excludeCredentials = []; AuthenticatorSelectionCriteria authenticatorSelection; DOMString attestation = "none"; AuthenticationExtensionsClientInputsJSON extensions; }; dictionary PublicKeyCredentialUserEntityJSON { required Base64URLString id; required DOMString name; required DOMString displayName; }; dictionary PublicKeyCredentialDescriptorJSON { required Base64URLString id; required DOMString type; sequence transports; }; dictionary AuthenticationExtensionsClientInputsJSON { }; partial interface PublicKeyCredential { static PublicKeyCredentialRequestOptions parseRequestOptionsFromJSON(PublicKeyCredentialRequestOptionsJSON options); }; dictionary PublicKeyCredentialRequestOptionsJSON { required Base64URLString challenge; unsigned long timeout; DOMString rpId; sequence allowCredentials = []; DOMString userVerification = "preferred"; AuthenticationExtensionsClientInputsJSON extensions; }; [SecureContext, Exposed=Window] interface AuthenticatorResponse { [SameObject] readonly attribute ArrayBuffer clientDataJSON; }; [SecureContext, Exposed=Window] interface AuthenticatorAttestationResponse : AuthenticatorResponse { [SameObject] readonly attribute ArrayBuffer attestationObject; sequence getTransports(); ArrayBuffer getAuthenticatorData(); ArrayBuffer? getPublicKey(); COSEAlgorithmIdentifier getPublicKeyAlgorithm(); }; [SecureContext, Exposed=Window] interface AuthenticatorAssertionResponse : AuthenticatorResponse { [SameObject] readonly attribute ArrayBuffer authenticatorData; [SameObject] readonly attribute ArrayBuffer signature; [SameObject] readonly attribute ArrayBuffer? userHandle; [SameObject] readonly attribute ArrayBuffer? attestationObject; }; dictionary PublicKeyCredentialParameters { required DOMString type; required COSEAlgorithmIdentifier alg; }; dictionary PublicKeyCredentialCreationOptions { required PublicKeyCredentialRpEntity rp; required PublicKeyCredentialUserEntity user; required BufferSource challenge; required sequence pubKeyCredParams; unsigned long timeout; sequence excludeCredentials = []; AuthenticatorSelectionCriteria authenticatorSelection; DOMString attestation = "none"; sequence attestationFormats = []; AuthenticationExtensionsClientInputs extensions; }; dictionary PublicKeyCredentialEntity { required DOMString name; }; dictionary PublicKeyCredentialRpEntity : PublicKeyCredentialEntity { DOMString id; }; dictionary PublicKeyCredentialUserEntity : PublicKeyCredentialEntity { required BufferSource id; required DOMString displayName; }; dictionary AuthenticatorSelectionCriteria { DOMString authenticatorAttachment; DOMString residentKey; boolean requireResidentKey = false; DOMString userVerification = "preferred"; }; enum AuthenticatorAttachment { "platform", "cross-platform" }; enum ResidentKeyRequirement { "discouraged", "preferred", "required" }; enum AttestationConveyancePreference { "none", "indirect", "direct", "enterprise" }; dictionary PublicKeyCredentialRequestOptions { required BufferSource challenge; unsigned long timeout; USVString rpId; sequence allowCredentials = []; DOMString userVerification = "preferred"; DOMString attestation = "none"; sequence attestationFormats = []; AuthenticationExtensionsClientInputs extensions; }; dictionary AuthenticationExtensionsClientInputs { }; dictionary AuthenticationExtensionsClientOutputs { }; dictionary CollectedClientData { required DOMString type; required DOMString challenge; required DOMString origin; DOMString topOrigin; boolean crossOrigin; }; dictionary TokenBinding { required DOMString status; DOMString id; }; enum TokenBindingStatus { "present", "supported" }; enum PublicKeyCredentialType { "public-key" }; dictionary PublicKeyCredentialDescriptor { required DOMString type; required BufferSource id; sequence transports; }; enum AuthenticatorTransport { "usb", "nfc", "ble", "smart-card", "hybrid", "internal" }; typedef long COSEAlgorithmIdentifier; enum UserVerificationRequirement { "required", "preferred", "discouraged" }; partial dictionary AuthenticationExtensionsClientInputs { USVString appid; }; partial dictionary AuthenticationExtensionsClientOutputs { boolean appid; }; partial dictionary AuthenticationExtensionsClientInputs { USVString appidExclude; }; partial dictionary AuthenticationExtensionsClientOutputs { boolean appidExclude; }; partial dictionary AuthenticationExtensionsClientInputs { boolean credProps; }; dictionary CredentialPropertiesOutput { boolean rk; }; partial dictionary AuthenticationExtensionsClientOutputs { CredentialPropertiesOutput credProps; }; dictionary AuthenticationExtensionsPRFValues { required BufferSource first; BufferSource second; }; dictionary AuthenticationExtensionsPRFInputs { AuthenticationExtensionsPRFValues eval; record evalByCredential; }; partial dictionary AuthenticationExtensionsClientInputs { AuthenticationExtensionsPRFInputs prf; }; dictionary AuthenticationExtensionsPRFOutputs { boolean enabled; AuthenticationExtensionsPRFValues results; }; partial dictionary AuthenticationExtensionsClientOutputs { AuthenticationExtensionsPRFOutputs prf; }; partial dictionary AuthenticationExtensionsClientInputs { AuthenticationExtensionsLargeBlobInputs largeBlob; }; enum LargeBlobSupport { "required", "preferred", }; dictionary AuthenticationExtensionsLargeBlobInputs { DOMString support; boolean read; BufferSource write; }; partial dictionary AuthenticationExtensionsClientOutputs { AuthenticationExtensionsLargeBlobOutputs largeBlob; }; dictionary AuthenticationExtensionsLargeBlobOutputs { boolean supported; ArrayBuffer blob; boolean written; }; partial dictionary AuthenticationExtensionsClientInputs { boolean uvm; }; typedef sequence UvmEntry; typedef sequence UvmEntries; partial dictionary AuthenticationExtensionsClientOutputs { UvmEntries uvm; }; dictionary AuthenticationExtensionsDevicePublicKeyInputs { DOMString attestation = "none"; sequence attestationFormats = []; }; partial dictionary AuthenticationExtensionsClientInputs { AuthenticationExtensionsDevicePublicKeyInputs devicePubKey; }; dictionary AuthenticationExtensionsDevicePublicKeyOutputs { ArrayBuffer signature; }; partial dictionary AuthenticationExtensionsClientOutputs { AuthenticationExtensionsDevicePublicKeyOutputs devicePubKey; };