// Package webauthn provides the Chrome DevTools Protocol // commands, types, and events for the WebAuthn domain. // // This domain allows configuring virtual authenticators to test the WebAuthn // API. // // Generated by the cdproto-gen command. package webauthn // Code generated by cdproto-gen. DO NOT EDIT. import ( "context" "github.com/chromedp/cdproto/cdp" ) // EnableParams enable the WebAuthn domain and start intercepting credential // storage and retrieval with a virtual authenticator. type EnableParams struct{} // Enable enable the WebAuthn domain and start intercepting credential // storage and retrieval with a virtual authenticator. // // See: https://chromedevtools.github.io/devtools-protocol/tot/WebAuthn#method-enable func Enable() *EnableParams { return &EnableParams{} } // Do executes WebAuthn.enable against the provided context. func (p *EnableParams) Do(ctx context.Context) (err error) { return cdp.Execute(ctx, CommandEnable, nil, nil) } // DisableParams disable the WebAuthn domain. type DisableParams struct{} // Disable disable the WebAuthn domain. // // See: https://chromedevtools.github.io/devtools-protocol/tot/WebAuthn#method-disable func Disable() *DisableParams { return &DisableParams{} } // Do executes WebAuthn.disable against the provided context. func (p *DisableParams) Do(ctx context.Context) (err error) { return cdp.Execute(ctx, CommandDisable, nil, nil) } // AddVirtualAuthenticatorParams creates and adds a virtual authenticator. type AddVirtualAuthenticatorParams struct { Options *VirtualAuthenticatorOptions `json:"options"` } // AddVirtualAuthenticator creates and adds a virtual authenticator. // // See: https://chromedevtools.github.io/devtools-protocol/tot/WebAuthn#method-addVirtualAuthenticator // // parameters: // options func AddVirtualAuthenticator(options *VirtualAuthenticatorOptions) *AddVirtualAuthenticatorParams { return &AddVirtualAuthenticatorParams{ Options: options, } } // AddVirtualAuthenticatorReturns return values. type AddVirtualAuthenticatorReturns struct { AuthenticatorID AuthenticatorID `json:"authenticatorId,omitempty"` } // Do executes WebAuthn.addVirtualAuthenticator against the provided context. // // returns: // authenticatorID func (p *AddVirtualAuthenticatorParams) Do(ctx context.Context) (authenticatorID AuthenticatorID, err error) { // execute var res AddVirtualAuthenticatorReturns err = cdp.Execute(ctx, CommandAddVirtualAuthenticator, p, &res) if err != nil { return "", err } return res.AuthenticatorID, nil } // RemoveVirtualAuthenticatorParams removes the given authenticator. type RemoveVirtualAuthenticatorParams struct { AuthenticatorID AuthenticatorID `json:"authenticatorId"` } // RemoveVirtualAuthenticator removes the given authenticator. // // See: https://chromedevtools.github.io/devtools-protocol/tot/WebAuthn#method-removeVirtualAuthenticator // // parameters: // authenticatorID func RemoveVirtualAuthenticator(authenticatorID AuthenticatorID) *RemoveVirtualAuthenticatorParams { return &RemoveVirtualAuthenticatorParams{ AuthenticatorID: authenticatorID, } } // Do executes WebAuthn.removeVirtualAuthenticator against the provided context. func (p *RemoveVirtualAuthenticatorParams) Do(ctx context.Context) (err error) { return cdp.Execute(ctx, CommandRemoveVirtualAuthenticator, p, nil) } // AddCredentialParams adds the credential to the specified authenticator. type AddCredentialParams struct { AuthenticatorID AuthenticatorID `json:"authenticatorId"` Credential *Credential `json:"credential"` } // AddCredential adds the credential to the specified authenticator. // // See: https://chromedevtools.github.io/devtools-protocol/tot/WebAuthn#method-addCredential // // parameters: // authenticatorID // credential func AddCredential(authenticatorID AuthenticatorID, credential *Credential) *AddCredentialParams { return &AddCredentialParams{ AuthenticatorID: authenticatorID, Credential: credential, } } // Do executes WebAuthn.addCredential against the provided context. func (p *AddCredentialParams) Do(ctx context.Context) (err error) { return cdp.Execute(ctx, CommandAddCredential, p, nil) } // GetCredentialParams returns a single credential stored in the given // virtual authenticator that matches the credential ID. type GetCredentialParams struct { AuthenticatorID AuthenticatorID `json:"authenticatorId"` CredentialID string `json:"credentialId"` } // GetCredential returns a single credential stored in the given virtual // authenticator that matches the credential ID. // // See: https://chromedevtools.github.io/devtools-protocol/tot/WebAuthn#method-getCredential // // parameters: // authenticatorID // credentialID func GetCredential(authenticatorID AuthenticatorID, credentialID string) *GetCredentialParams { return &GetCredentialParams{ AuthenticatorID: authenticatorID, CredentialID: credentialID, } } // GetCredentialReturns return values. type GetCredentialReturns struct { Credential *Credential `json:"credential,omitempty"` } // Do executes WebAuthn.getCredential against the provided context. // // returns: // credential func (p *GetCredentialParams) Do(ctx context.Context) (credential *Credential, err error) { // execute var res GetCredentialReturns err = cdp.Execute(ctx, CommandGetCredential, p, &res) if err != nil { return nil, err } return res.Credential, nil } // GetCredentialsParams returns all the credentials stored in the given // virtual authenticator. type GetCredentialsParams struct { AuthenticatorID AuthenticatorID `json:"authenticatorId"` } // GetCredentials returns all the credentials stored in the given virtual // authenticator. // // See: https://chromedevtools.github.io/devtools-protocol/tot/WebAuthn#method-getCredentials // // parameters: // authenticatorID func GetCredentials(authenticatorID AuthenticatorID) *GetCredentialsParams { return &GetCredentialsParams{ AuthenticatorID: authenticatorID, } } // GetCredentialsReturns return values. type GetCredentialsReturns struct { Credentials []*Credential `json:"credentials,omitempty"` } // Do executes WebAuthn.getCredentials against the provided context. // // returns: // credentials func (p *GetCredentialsParams) Do(ctx context.Context) (credentials []*Credential, err error) { // execute var res GetCredentialsReturns err = cdp.Execute(ctx, CommandGetCredentials, p, &res) if err != nil { return nil, err } return res.Credentials, nil } // RemoveCredentialParams removes a credential from the authenticator. type RemoveCredentialParams struct { AuthenticatorID AuthenticatorID `json:"authenticatorId"` CredentialID string `json:"credentialId"` } // RemoveCredential removes a credential from the authenticator. // // See: https://chromedevtools.github.io/devtools-protocol/tot/WebAuthn#method-removeCredential // // parameters: // authenticatorID // credentialID func RemoveCredential(authenticatorID AuthenticatorID, credentialID string) *RemoveCredentialParams { return &RemoveCredentialParams{ AuthenticatorID: authenticatorID, CredentialID: credentialID, } } // Do executes WebAuthn.removeCredential against the provided context. func (p *RemoveCredentialParams) Do(ctx context.Context) (err error) { return cdp.Execute(ctx, CommandRemoveCredential, p, nil) } // ClearCredentialsParams clears all the credentials from the specified // device. type ClearCredentialsParams struct { AuthenticatorID AuthenticatorID `json:"authenticatorId"` } // ClearCredentials clears all the credentials from the specified device. // // See: https://chromedevtools.github.io/devtools-protocol/tot/WebAuthn#method-clearCredentials // // parameters: // authenticatorID func ClearCredentials(authenticatorID AuthenticatorID) *ClearCredentialsParams { return &ClearCredentialsParams{ AuthenticatorID: authenticatorID, } } // Do executes WebAuthn.clearCredentials against the provided context. func (p *ClearCredentialsParams) Do(ctx context.Context) (err error) { return cdp.Execute(ctx, CommandClearCredentials, p, nil) } // SetUserVerifiedParams sets whether User Verification succeeds or fails for // an authenticator. The default is true. type SetUserVerifiedParams struct { AuthenticatorID AuthenticatorID `json:"authenticatorId"` IsUserVerified bool `json:"isUserVerified"` } // SetUserVerified sets whether User Verification succeeds or fails for an // authenticator. The default is true. // // See: https://chromedevtools.github.io/devtools-protocol/tot/WebAuthn#method-setUserVerified // // parameters: // authenticatorID // isUserVerified func SetUserVerified(authenticatorID AuthenticatorID, isUserVerified bool) *SetUserVerifiedParams { return &SetUserVerifiedParams{ AuthenticatorID: authenticatorID, IsUserVerified: isUserVerified, } } // Do executes WebAuthn.setUserVerified against the provided context. func (p *SetUserVerifiedParams) Do(ctx context.Context) (err error) { return cdp.Execute(ctx, CommandSetUserVerified, p, nil) } // SetAutomaticPresenceSimulationParams sets whether tests of user presence // will succeed immediately (if true) or fail to resolve (if false) for an // authenticator. The default is true. type SetAutomaticPresenceSimulationParams struct { AuthenticatorID AuthenticatorID `json:"authenticatorId"` Enabled bool `json:"enabled"` } // SetAutomaticPresenceSimulation sets whether tests of user presence will // succeed immediately (if true) or fail to resolve (if false) for an // authenticator. The default is true. // // See: https://chromedevtools.github.io/devtools-protocol/tot/WebAuthn#method-setAutomaticPresenceSimulation // // parameters: // authenticatorID // enabled func SetAutomaticPresenceSimulation(authenticatorID AuthenticatorID, enabled bool) *SetAutomaticPresenceSimulationParams { return &SetAutomaticPresenceSimulationParams{ AuthenticatorID: authenticatorID, Enabled: enabled, } } // Do executes WebAuthn.setAutomaticPresenceSimulation against the provided context. func (p *SetAutomaticPresenceSimulationParams) Do(ctx context.Context) (err error) { return cdp.Execute(ctx, CommandSetAutomaticPresenceSimulation, p, nil) } // Command names. const ( CommandEnable = "WebAuthn.enable" CommandDisable = "WebAuthn.disable" CommandAddVirtualAuthenticator = "WebAuthn.addVirtualAuthenticator" CommandRemoveVirtualAuthenticator = "WebAuthn.removeVirtualAuthenticator" CommandAddCredential = "WebAuthn.addCredential" CommandGetCredential = "WebAuthn.getCredential" CommandGetCredentials = "WebAuthn.getCredentials" CommandRemoveCredential = "WebAuthn.removeCredential" CommandClearCredentials = "WebAuthn.clearCredentials" CommandSetUserVerified = "WebAuthn.setUserVerified" CommandSetAutomaticPresenceSimulation = "WebAuthn.setAutomaticPresenceSimulation" )