mirror of
https://github.com/stashapp/stash.git
synced 2025-12-14 12:25:23 +01:00
332 lines
11 KiB
Go
332 lines
11 KiB
Go
// 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"
|
|
)
|