webauthn.idl
// GENERATED CONTENT - DO NOT EDIT
// Content of this file was automatically extracted from the Web Authentication spec.
// See https://w3c.github.io/webauthn/
[SecureContext, Exposed=Window]
interface PublicKeyCredential : Credential {
[SameObject] readonly attribute ArrayBuffer rawId;
[SameObject] readonly attribute AuthenticatorResponse response;
AuthenticationExtensionsClientOutputs getClientExtensionResults();
};
partial dictionary CredentialCreationOptions {
PublicKeyCredentialCreationOptions publicKey;
};
partial dictionary CredentialRequestOptions {
PublicKeyCredentialRequestOptions publicKey;
};
partial interface PublicKeyCredential {
static Promise < boolean > isUserVerifyingPlatformAuthenticatorAvailable();
};
[SecureContext, Exposed=Window]
interface AuthenticatorResponse {
[SameObject] readonly attribute ArrayBuffer clientDataJSON;
};
[SecureContext, Exposed=Window]
interface AuthenticatorAttestationResponse : AuthenticatorResponse {
[SameObject] readonly attribute ArrayBuffer attestationObject;
};
[SecureContext, Exposed=Window]
interface AuthenticatorAssertionResponse : AuthenticatorResponse {
[SameObject] readonly attribute ArrayBuffer authenticatorData;
[SameObject] readonly attribute ArrayBuffer signature;
[SameObject] readonly attribute ArrayBuffer? userHandle;
};
dictionary PublicKeyCredentialParameters {
required PublicKeyCredentialType type;
required COSEAlgorithmIdentifier alg;
};
dictionary PublicKeyCredentialCreationOptions {
required PublicKeyCredentialRpEntity rp;
required PublicKeyCredentialUserEntity user;
required BufferSource challenge;
required sequence<PublicKeyCredentialParameters> pubKeyCredParams;
unsigned long timeout;
sequence<PublicKeyCredentialDescriptor> excludeCredentials = [];
AuthenticatorSelectionCriteria authenticatorSelection;
AttestationConveyancePreference attestation = "none";
AuthenticationExtensionsClientInputs extensions;
};
dictionary PublicKeyCredentialEntity {
required DOMString name;
USVString icon;
};
dictionary PublicKeyCredentialRpEntity : PublicKeyCredentialEntity {
DOMString id;
};
dictionary PublicKeyCredentialUserEntity : PublicKeyCredentialEntity {
required BufferSource id;
required DOMString displayName;
};
dictionary AuthenticatorSelectionCriteria {
AuthenticatorAttachment authenticatorAttachment;
boolean requireResidentKey = false;
UserVerificationRequirement userVerification = "preferred";
};
enum AuthenticatorAttachment {
"platform", // Platform attachment
"cross-platform" // Cross-platform attachment
};
enum AttestationConveyancePreference {
"none",
"indirect",
"direct"
};
dictionary PublicKeyCredentialRequestOptions {
required BufferSource challenge;
unsigned long timeout;
USVString rpId;
sequence<PublicKeyCredentialDescriptor> allowCredentials = [];
UserVerificationRequirement userVerification = "preferred";
AuthenticationExtensionsClientInputs extensions;
};
dictionary AuthenticationExtensionsClientInputs {
};
dictionary AuthenticationExtensionsClientOutputs {
};
typedef record<DOMString, DOMString> AuthenticationExtensionsAuthenticatorInputs;
dictionary CollectedClientData {
required DOMString type;
required DOMString challenge;
required DOMString origin;
TokenBinding tokenBinding;
};
dictionary TokenBinding {
required TokenBindingStatus status;
DOMString id;
};
enum TokenBindingStatus { "present", "supported", "not-supported" };
enum PublicKeyCredentialType {
"public-key"
};
dictionary PublicKeyCredentialDescriptor {
required PublicKeyCredentialType type;
required BufferSource id;
sequence<AuthenticatorTransport> transports;
};
enum AuthenticatorTransport {
"usb",
"nfc",
"ble"
};
typedef long COSEAlgorithmIdentifier;
enum UserVerificationRequirement {
"required",
"preferred",
"discouraged"
};
partial dictionary AuthenticationExtensionsClientInputs {
USVString appid;
};
partial dictionary AuthenticationExtensionsClientOutputs {
boolean appid;
};
partial dictionary AuthenticationExtensionsClientInputs {
USVString txAuthSimple;
};
partial dictionary AuthenticationExtensionsClientOutputs {
USVString txAuthSimple;
};
dictionary txAuthGenericArg {
required USVString contentType; // MIME-Type of the content, e.g., "image/png"
required ArrayBuffer content;
};
partial dictionary AuthenticationExtensionsClientInputs {
txAuthGenericArg txAuthGeneric;
};
partial dictionary AuthenticationExtensionsClientOutputs {
ArrayBuffer txAuthGeneric;
};
typedef sequence<AAGUID> AuthenticatorSelectionList;
partial dictionary AuthenticationExtensionsClientInputs {
AuthenticatorSelectionList authnSel;
};
typedef BufferSource AAGUID;
partial dictionary AuthenticationExtensionsClientOutputs {
boolean authnSel;
};
partial dictionary AuthenticationExtensionsClientInputs {
boolean exts;
};
typedef sequence<USVString> AuthenticationExtensionsSupported;
partial dictionary AuthenticationExtensionsClientOutputs {
AuthenticationExtensionsSupported exts;
};
partial dictionary AuthenticationExtensionsClientInputs {
boolean uvi;
};
partial dictionary AuthenticationExtensionsClientOutputs {
ArrayBuffer uvi;
};
partial dictionary AuthenticationExtensionsClientInputs {
boolean loc;
};
partial dictionary AuthenticationExtensionsClientOutputs {
Coordinates loc;
};
partial dictionary AuthenticationExtensionsClientInputs {
boolean uvm;
};
typedef sequence<unsigned long> UvmEntry;
typedef sequence<UvmEntry> UvmEntries;
partial dictionary AuthenticationExtensionsClientOutputs {
UvmEntries uvm;
};
dictionary authenticatorBiometricPerfBounds{
float FAR;
float FRR;
};