Bug 1651554 [wpt PR 24525] - Update interfaces/webauthn.idl, a=testonly
[gecko.git] / testing / web-platform / tests / interfaces / webauthn.idl
blob607c4765485041e5a8e5fe65571469bedf1d6fd0
1 // GENERATED CONTENT - DO NOT EDIT
2 // Content was automatically extracted by Reffy into reffy-reports
3 // (https://github.com/tidoust/reffy-reports)
4 // Source: Web Authentication: An API for accessing Public Key Credentials - Level 2 (https://w3c.github.io/webauthn/)
6 [SecureContext, Exposed=Window]
7 interface PublicKeyCredential : Credential {
8 [SameObject] readonly attribute ArrayBuffer rawId;
9 [SameObject] readonly attribute AuthenticatorResponse response;
10 AuthenticationExtensionsClientOutputs getClientExtensionResults();
13 partial dictionary CredentialCreationOptions {
14 PublicKeyCredentialCreationOptions publicKey;
17 partial dictionary CredentialRequestOptions {
18 PublicKeyCredentialRequestOptions publicKey;
21 partial interface PublicKeyCredential {
22 static Promise<boolean> isUserVerifyingPlatformAuthenticatorAvailable();
25 [SecureContext, Exposed=Window]
26 interface AuthenticatorResponse {
27 [SameObject] readonly attribute ArrayBuffer clientDataJSON;
30 [SecureContext, Exposed=Window]
31 interface AuthenticatorAttestationResponse : AuthenticatorResponse {
32 [SameObject] readonly attribute ArrayBuffer attestationObject;
33 sequence<DOMString> getTransports();
34 ArrayBuffer getAuthenticatorData();
35 ArrayBuffer? getPublicKey();
36 COSEAlgorithmIdentifier getPublicKeyAlgorithm();
39 [SecureContext, Exposed=Window]
40 interface AuthenticatorAssertionResponse : AuthenticatorResponse {
41 [SameObject] readonly attribute ArrayBuffer authenticatorData;
42 [SameObject] readonly attribute ArrayBuffer signature;
43 [SameObject] readonly attribute ArrayBuffer? userHandle;
46 dictionary PublicKeyCredentialParameters {
47 required DOMString type;
48 required COSEAlgorithmIdentifier alg;
51 dictionary PublicKeyCredentialCreationOptions {
52 required PublicKeyCredentialRpEntity rp;
53 required PublicKeyCredentialUserEntity user;
55 required BufferSource challenge;
56 required sequence<PublicKeyCredentialParameters> pubKeyCredParams;
58 unsigned long timeout;
59 sequence<PublicKeyCredentialDescriptor> excludeCredentials = [];
60 AuthenticatorSelectionCriteria authenticatorSelection;
61 DOMString attestation = "none";
62 AuthenticationExtensionsClientInputs extensions;
65 dictionary PublicKeyCredentialEntity {
66 required DOMString name;
69 dictionary PublicKeyCredentialRpEntity : PublicKeyCredentialEntity {
70 DOMString id;
73 dictionary PublicKeyCredentialUserEntity : PublicKeyCredentialEntity {
74 required BufferSource id;
75 required DOMString displayName;
78 dictionary AuthenticatorSelectionCriteria {
79 DOMString authenticatorAttachment;
80 boolean requireResidentKey = false;
81 DOMString residentKey;
82 DOMString userVerification = "preferred";
85 enum AuthenticatorAttachment {
86 "platform",
87 "cross-platform"
90 enum ResidentKeyRequirement {
91 "discouraged",
92 "preferred",
93 "required"
96 enum AttestationConveyancePreference {
97 "none",
98 "indirect",
99 "direct",
100 "enterprise"
103 dictionary PublicKeyCredentialRequestOptions {
104 required BufferSource challenge;
105 unsigned long timeout;
106 USVString rpId;
107 sequence<PublicKeyCredentialDescriptor> allowCredentials = [];
108 DOMString userVerification = "preferred";
109 AuthenticationExtensionsClientInputs extensions;
112 dictionary AuthenticationExtensionsClientInputs {
115 dictionary AuthenticationExtensionsClientOutputs {
118 dictionary CollectedClientData {
119 required DOMString type;
120 required DOMString challenge;
121 required DOMString origin;
122 boolean crossOrigin;
123 TokenBinding tokenBinding;
126 dictionary TokenBinding {
127 required DOMString status;
128 DOMString id;
131 enum TokenBindingStatus { "present", "supported" };
133 enum PublicKeyCredentialType {
134 "public-key"
137 dictionary PublicKeyCredentialDescriptor {
138 required DOMString type;
139 required BufferSource id;
140 sequence<DOMString> transports;
143 enum AuthenticatorTransport {
144 "usb",
145 "nfc",
146 "ble",
147 "internal"
150 typedef long COSEAlgorithmIdentifier;
152 enum UserVerificationRequirement {
153 "required",
154 "preferred",
155 "discouraged"
158 partial dictionary AuthenticationExtensionsClientInputs {
159 USVString appid;
162 partial dictionary AuthenticationExtensionsClientOutputs {
163 boolean appid;
166 partial dictionary AuthenticationExtensionsClientInputs {
167 USVString appidExclude;
170 partial dictionary AuthenticationExtensionsClientOutputs {
171 boolean appidExclude;
174 partial dictionary AuthenticationExtensionsClientInputs {
175 boolean uvm;
178 typedef sequence<unsigned long> UvmEntry;
179 typedef sequence<UvmEntry> UvmEntries;
181 partial dictionary AuthenticationExtensionsClientOutputs {
182 UvmEntries uvm;
185 partial dictionary AuthenticationExtensionsClientInputs {
186 boolean credProps;
189 dictionary CredentialPropertiesOutput {
190 boolean rk;
193 partial dictionary AuthenticationExtensionsClientOutputs {
194 CredentialPropertiesOutput credProps;
197 dictionary AuthenticationExtensionsPRFValues {
198 required ArrayBuffer first;
199 ArrayBuffer second;
202 dictionary AuthenticationExtensionsPRFInputs {
203 AuthenticationExtensionsPRFValues eval;
204 record<USVString, AuthenticationExtensionsPRFValues> evalByCredential;
207 partial dictionary AuthenticationExtensionsClientInputs {
208 AuthenticationExtensionsPRFInputs prf;
211 dictionary AuthenticationExtensionsPRFOutputs {
212 boolean enabled;
213 AuthenticationExtensionsPRFValues results;
216 partial dictionary AuthenticationExtensionsClientOutputs {
217 AuthenticationExtensionsPRFOutputs prf;
220 partial dictionary AuthenticationExtensionsClientInputs {
221 AuthenticationExtensionsLargeBlobInputs largeBlob;
224 dictionary AuthenticationExtensionsLargeBlobInputs {
225 boolean read;
226 ArrayBuffer write;
229 partial dictionary AuthenticationExtensionsClientOutputs {
230 AuthenticationExtensionsLargeBlobOutputs largeBlob;
233 dictionary AuthenticationExtensionsLargeBlobOutputs {
234 ArrayBuffer blob;
235 boolean written;