cdp_protocol/
web_authn.rs

1// Auto-generated from Chrome at version 143.0.7499.110 domain: WebAuthn
2#[allow(unused_imports)]
3use super::types::*;
4#[allow(unused_imports)]
5use serde::{Deserialize, Serialize};
6#[allow(unused_imports)]
7use serde_json::Value as Json;
8pub type AuthenticatorId = String;
9#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
10pub enum AuthenticatorProtocol {
11    #[serde(rename = "u2f")]
12    U2F,
13    #[serde(rename = "ctap2")]
14    Ctap2,
15}
16#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
17pub enum Ctap2Version {
18    #[serde(rename = "ctap2_0")]
19    Ctap20,
20    #[serde(rename = "ctap2_1")]
21    Ctap21,
22}
23#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
24pub enum AuthenticatorTransport {
25    #[serde(rename = "usb")]
26    Usb,
27    #[serde(rename = "nfc")]
28    Nfc,
29    #[serde(rename = "ble")]
30    Ble,
31    #[serde(rename = "cable")]
32    Cable,
33    #[serde(rename = "internal")]
34    Internal,
35}
36#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
37pub struct VirtualAuthenticatorOptions {
38    #[serde(rename = "protocol")]
39    pub protocol: AuthenticatorProtocol,
40    #[serde(skip_serializing_if = "Option::is_none")]
41    #[serde(rename = "ctap2Version")]
42    pub ctap_2_version: Option<Ctap2Version>,
43    #[serde(rename = "transport")]
44    pub transport: AuthenticatorTransport,
45    #[serde(skip_serializing_if = "Option::is_none")]
46    #[serde(default)]
47    #[serde(rename = "hasResidentKey")]
48    pub has_resident_key: Option<bool>,
49    #[serde(skip_serializing_if = "Option::is_none")]
50    #[serde(default)]
51    #[serde(rename = "hasUserVerification")]
52    pub has_user_verification: Option<bool>,
53    #[serde(skip_serializing_if = "Option::is_none")]
54    #[serde(default)]
55    #[serde(rename = "hasLargeBlob")]
56    pub has_large_blob: Option<bool>,
57    #[serde(skip_serializing_if = "Option::is_none")]
58    #[serde(default)]
59    #[serde(rename = "hasCredBlob")]
60    pub has_cred_blob: Option<bool>,
61    #[serde(skip_serializing_if = "Option::is_none")]
62    #[serde(default)]
63    #[serde(rename = "hasMinPinLength")]
64    pub has_min_pin_length: Option<bool>,
65    #[serde(skip_serializing_if = "Option::is_none")]
66    #[serde(default)]
67    #[serde(rename = "hasPrf")]
68    pub has_prf: Option<bool>,
69    #[serde(skip_serializing_if = "Option::is_none")]
70    #[serde(default)]
71    #[serde(rename = "automaticPresenceSimulation")]
72    pub automatic_presence_simulation: Option<bool>,
73    #[serde(skip_serializing_if = "Option::is_none")]
74    #[serde(default)]
75    #[serde(rename = "isUserVerified")]
76    pub is_user_verified: Option<bool>,
77    #[serde(skip_serializing_if = "Option::is_none")]
78    #[serde(default)]
79    #[serde(rename = "defaultBackupEligibility")]
80    pub default_backup_eligibility: Option<bool>,
81    #[serde(skip_serializing_if = "Option::is_none")]
82    #[serde(default)]
83    #[serde(rename = "defaultBackupState")]
84    pub default_backup_state: Option<bool>,
85}
86#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
87pub struct Credential {
88    #[serde(rename = "credentialId")]
89    pub credential_id: Vec<u8>,
90    #[serde(default)]
91    #[serde(rename = "isResidentCredential")]
92    pub is_resident_credential: bool,
93    #[serde(skip_serializing_if = "Option::is_none")]
94    #[serde(default)]
95    #[serde(rename = "rpId")]
96    pub rp_id: Option<String>,
97    #[serde(rename = "privateKey")]
98    pub private_key: Vec<u8>,
99    #[serde(skip_serializing_if = "Option::is_none")]
100    #[serde(rename = "userHandle")]
101    pub user_handle: Option<Vec<u8>>,
102    #[serde(default)]
103    #[serde(rename = "signCount")]
104    pub sign_count: JsUInt,
105    #[serde(skip_serializing_if = "Option::is_none")]
106    #[serde(rename = "largeBlob")]
107    pub large_blob: Option<Vec<u8>>,
108    #[serde(skip_serializing_if = "Option::is_none")]
109    #[serde(default)]
110    #[serde(rename = "backupEligibility")]
111    pub backup_eligibility: Option<bool>,
112    #[serde(skip_serializing_if = "Option::is_none")]
113    #[serde(default)]
114    #[serde(rename = "backupState")]
115    pub backup_state: Option<bool>,
116    #[serde(skip_serializing_if = "Option::is_none")]
117    #[serde(default)]
118    #[serde(rename = "userName")]
119    pub user_name: Option<String>,
120    #[serde(skip_serializing_if = "Option::is_none")]
121    #[serde(default)]
122    #[serde(rename = "userDisplayName")]
123    pub user_display_name: Option<String>,
124}
125#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
126pub struct Enable {
127    #[serde(skip_serializing_if = "Option::is_none")]
128    #[serde(default)]
129    #[serde(rename = "enableUI")]
130    pub enable_ui: Option<bool>,
131}
132#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
133#[serde(rename_all = "camelCase")]
134pub struct Disable(pub Option<serde_json::Value>);
135#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
136pub struct AddVirtualAuthenticator {
137    #[serde(rename = "options")]
138    pub options: VirtualAuthenticatorOptions,
139}
140#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
141pub struct SetResponseOverrideBits {
142    #[serde(rename = "authenticatorId")]
143    pub authenticator_id: AuthenticatorId,
144    #[serde(skip_serializing_if = "Option::is_none")]
145    #[serde(default)]
146    #[serde(rename = "isBogusSignature")]
147    pub is_bogus_signature: Option<bool>,
148    #[serde(skip_serializing_if = "Option::is_none")]
149    #[serde(default)]
150    #[serde(rename = "isBadUV")]
151    pub is_bad_uv: Option<bool>,
152    #[serde(skip_serializing_if = "Option::is_none")]
153    #[serde(default)]
154    #[serde(rename = "isBadUP")]
155    pub is_bad_up: Option<bool>,
156}
157#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
158pub struct RemoveVirtualAuthenticator {
159    #[serde(rename = "authenticatorId")]
160    pub authenticator_id: AuthenticatorId,
161}
162#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
163pub struct AddCredential {
164    #[serde(rename = "authenticatorId")]
165    pub authenticator_id: AuthenticatorId,
166    #[serde(rename = "credential")]
167    pub credential: Credential,
168}
169#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
170pub struct GetCredential {
171    #[serde(rename = "authenticatorId")]
172    pub authenticator_id: AuthenticatorId,
173    #[serde(rename = "credentialId")]
174    pub credential_id: Vec<u8>,
175}
176#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
177pub struct GetCredentials {
178    #[serde(rename = "authenticatorId")]
179    pub authenticator_id: AuthenticatorId,
180}
181#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
182pub struct RemoveCredential {
183    #[serde(rename = "authenticatorId")]
184    pub authenticator_id: AuthenticatorId,
185    #[serde(rename = "credentialId")]
186    pub credential_id: Vec<u8>,
187}
188#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
189pub struct ClearCredentials {
190    #[serde(rename = "authenticatorId")]
191    pub authenticator_id: AuthenticatorId,
192}
193#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
194pub struct SetUserVerified {
195    #[serde(rename = "authenticatorId")]
196    pub authenticator_id: AuthenticatorId,
197    #[serde(default)]
198    #[serde(rename = "isUserVerified")]
199    pub is_user_verified: bool,
200}
201#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
202pub struct SetAutomaticPresenceSimulation {
203    #[serde(rename = "authenticatorId")]
204    pub authenticator_id: AuthenticatorId,
205    #[serde(default)]
206    #[serde(rename = "enabled")]
207    pub enabled: bool,
208}
209#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
210pub struct SetCredentialProperties {
211    #[serde(rename = "authenticatorId")]
212    pub authenticator_id: AuthenticatorId,
213    #[serde(rename = "credentialId")]
214    pub credential_id: Vec<u8>,
215    #[serde(skip_serializing_if = "Option::is_none")]
216    #[serde(default)]
217    #[serde(rename = "backupEligibility")]
218    pub backup_eligibility: Option<bool>,
219    #[serde(skip_serializing_if = "Option::is_none")]
220    #[serde(default)]
221    #[serde(rename = "backupState")]
222    pub backup_state: Option<bool>,
223}
224#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
225#[serde(rename_all = "camelCase")]
226pub struct EnableReturnObject {}
227#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
228#[serde(rename_all = "camelCase")]
229pub struct DisableReturnObject {}
230#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
231pub struct AddVirtualAuthenticatorReturnObject {
232    #[serde(rename = "authenticatorId")]
233    pub authenticator_id: AuthenticatorId,
234}
235#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
236#[serde(rename_all = "camelCase")]
237pub struct SetResponseOverrideBitsReturnObject {}
238#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
239#[serde(rename_all = "camelCase")]
240pub struct RemoveVirtualAuthenticatorReturnObject {}
241#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
242#[serde(rename_all = "camelCase")]
243pub struct AddCredentialReturnObject {}
244#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
245pub struct GetCredentialReturnObject {
246    #[serde(rename = "credential")]
247    pub credential: Credential,
248}
249#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
250pub struct GetCredentialsReturnObject {
251    #[serde(rename = "credentials")]
252    pub credentials: Vec<Credential>,
253}
254#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
255#[serde(rename_all = "camelCase")]
256pub struct RemoveCredentialReturnObject {}
257#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
258#[serde(rename_all = "camelCase")]
259pub struct ClearCredentialsReturnObject {}
260#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
261#[serde(rename_all = "camelCase")]
262pub struct SetUserVerifiedReturnObject {}
263#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
264#[serde(rename_all = "camelCase")]
265pub struct SetAutomaticPresenceSimulationReturnObject {}
266#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
267#[serde(rename_all = "camelCase")]
268pub struct SetCredentialPropertiesReturnObject {}
269impl Method for Enable {
270    const NAME: &'static str = "WebAuthn.enable";
271    type ReturnObject = EnableReturnObject;
272}
273impl Method for Disable {
274    const NAME: &'static str = "WebAuthn.disable";
275    type ReturnObject = DisableReturnObject;
276}
277impl Method for AddVirtualAuthenticator {
278    const NAME: &'static str = "WebAuthn.addVirtualAuthenticator";
279    type ReturnObject = AddVirtualAuthenticatorReturnObject;
280}
281impl Method for SetResponseOverrideBits {
282    const NAME: &'static str = "WebAuthn.setResponseOverrideBits";
283    type ReturnObject = SetResponseOverrideBitsReturnObject;
284}
285impl Method for RemoveVirtualAuthenticator {
286    const NAME: &'static str = "WebAuthn.removeVirtualAuthenticator";
287    type ReturnObject = RemoveVirtualAuthenticatorReturnObject;
288}
289impl Method for AddCredential {
290    const NAME: &'static str = "WebAuthn.addCredential";
291    type ReturnObject = AddCredentialReturnObject;
292}
293impl Method for GetCredential {
294    const NAME: &'static str = "WebAuthn.getCredential";
295    type ReturnObject = GetCredentialReturnObject;
296}
297impl Method for GetCredentials {
298    const NAME: &'static str = "WebAuthn.getCredentials";
299    type ReturnObject = GetCredentialsReturnObject;
300}
301impl Method for RemoveCredential {
302    const NAME: &'static str = "WebAuthn.removeCredential";
303    type ReturnObject = RemoveCredentialReturnObject;
304}
305impl Method for ClearCredentials {
306    const NAME: &'static str = "WebAuthn.clearCredentials";
307    type ReturnObject = ClearCredentialsReturnObject;
308}
309impl Method for SetUserVerified {
310    const NAME: &'static str = "WebAuthn.setUserVerified";
311    type ReturnObject = SetUserVerifiedReturnObject;
312}
313impl Method for SetAutomaticPresenceSimulation {
314    const NAME: &'static str = "WebAuthn.setAutomaticPresenceSimulation";
315    type ReturnObject = SetAutomaticPresenceSimulationReturnObject;
316}
317impl Method for SetCredentialProperties {
318    const NAME: &'static str = "WebAuthn.setCredentialProperties";
319    type ReturnObject = SetCredentialPropertiesReturnObject;
320}
321pub mod events {
322    #[allow(unused_imports)]
323    use super::super::types::*;
324    #[allow(unused_imports)]
325    use serde::{Deserialize, Serialize};
326    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
327    pub struct CredentialAddedEvent {
328        pub params: CredentialAddedEventParams,
329    }
330    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
331    pub struct CredentialAddedEventParams {
332        #[serde(rename = "authenticatorId")]
333        pub authenticator_id: super::AuthenticatorId,
334        #[serde(rename = "credential")]
335        pub credential: super::Credential,
336    }
337    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
338    pub struct CredentialDeletedEvent {
339        pub params: CredentialDeletedEventParams,
340    }
341    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
342    pub struct CredentialDeletedEventParams {
343        #[serde(rename = "authenticatorId")]
344        pub authenticator_id: super::AuthenticatorId,
345        #[serde(default)]
346        #[serde(rename = "credentialId")]
347        pub credential_id: u8,
348    }
349    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
350    pub struct CredentialUpdatedEvent {
351        pub params: CredentialUpdatedEventParams,
352    }
353    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
354    pub struct CredentialUpdatedEventParams {
355        #[serde(rename = "authenticatorId")]
356        pub authenticator_id: super::AuthenticatorId,
357        #[serde(rename = "credential")]
358        pub credential: super::Credential,
359    }
360    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
361    pub struct CredentialAssertedEvent {
362        pub params: CredentialAssertedEventParams,
363    }
364    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
365    pub struct CredentialAssertedEventParams {
366        #[serde(rename = "authenticatorId")]
367        pub authenticator_id: super::AuthenticatorId,
368        #[serde(rename = "credential")]
369        pub credential: super::Credential,
370    }
371}