selenium.webdriver.common.virtual_authenticator

Functions

required_chromium_based_browser(func) A decorator to ensure that the client used is a chromium based browser.
required_virtual_authenticator(func) A decorator to ensure that the function is called with a virtual authenticator.

Classes

Credential(credential_id, …) Constructor.
Protocol Protocol to communicate with the authenticator.
Transport Transport method to communicate with the authenticator.
VirtualAuthenticatorOptions(protocol, …) Constructor.
class selenium.webdriver.common.virtual_authenticator.Credential(credential_id: bytes, is_resident_credential: bool, rp_id: str, user_handle: Optional[bytes], private_key: bytes, sign_count: int)[source]

Constructor. A credential stored in a virtual authenticator. https://w3c.github.io/webauthn/#credential-parameters.

Args:
  • credential_id (bytes): Unique base64 encoded string.

is_resident_credential (bool): Whether the credential is client-side discoverable. rp_id (str): Relying party identifier. user_handle (bytes): userHandle associated to the credential. Must be Base64 encoded string. Can be None. private_key (bytes): Base64 encoded PKCS#8 private key. sign_count (int): intital value for a signature counter.

classmethod create_non_resident_credential(id: bytes, rp_id: str, private_key: bytes, sign_count: int) → selenium.webdriver.common.virtual_authenticator.Credential[source]

Creates a non-resident (i.e. stateless) credential.

Args:
  • id (bytes): Unique base64 encoded string.
  • rp_id (str): Relying party identifier.
  • private_key (bytes): Base64 encoded PKCS
  • sign_count (int): intital value for a signature counter.
Returns:
  • Credential: A non-resident credential.
classmethod create_resident_credential(id: bytes, rp_id: str, user_handle: Optional[bytes], private_key: bytes, sign_count: int) → selenium.webdriver.common.virtual_authenticator.Credential[source]

Creates a resident (i.e. stateful) credential.

Args:
  • id (bytes): Unique base64 encoded string.
  • rp_id (str): Relying party identifier.
  • user_handle (bytes): userHandle associated to the credential. Must be Base64 encoded string.
  • private_key (bytes): Base64 encoded PKCS
  • sign_count (int): intital value for a signature counter.
Returns:

  • Credential: A resident credential.

classmethod from_dict(data: Dict[str, Any]) → selenium.webdriver.common.virtual_authenticator.Credential[source]
id
is_resident_credential
private_key
rp_id
sign_count
to_dict() → Dict[str, Any][source]
user_handle
class selenium.webdriver.common.virtual_authenticator.Protocol[source]

Protocol to communicate with the authenticator.

CTAP2 = 'ctap2'
U2F = 'ctap1/u2f'
class selenium.webdriver.common.virtual_authenticator.Transport[source]

Transport method to communicate with the authenticator.

BLE = 'ble'
INTERNAL = 'internal'
NFC = 'nfc'
USB = 'usb'
class selenium.webdriver.common.virtual_authenticator.VirtualAuthenticatorOptions(protocol: str = <Protocol.CTAP2: 'ctap2'>, transport: str = <Transport.USB: 'usb'>, has_resident_key: bool = False, has_user_verification: bool = False, is_user_consenting: bool = True, is_user_verified: bool = False)[source]

Constructor.

Initialize VirtualAuthenticatorOptions object.

class Protocol

Protocol to communicate with the authenticator.

CTAP2 = 'ctap2'
U2F = 'ctap1/u2f'
class Transport

Transport method to communicate with the authenticator.

BLE = 'ble'
INTERNAL = 'internal'
NFC = 'nfc'
USB = 'usb'
to_dict() → Dict[str, Union[str, bool]][source]
selenium.webdriver.common.virtual_authenticator.required_chromium_based_browser(func)[source]

A decorator to ensure that the client used is a chromium based browser.

selenium.webdriver.common.virtual_authenticator.required_virtual_authenticator(func)[source]

A decorator to ensure that the function is called with a virtual authenticator.