PasskeyAuthenticatorProtocol
PasskeyAuthenticatorProtocol Objects
class PasskeyAuthenticatorProtocol(typing.Protocol)
A passkey authenticator.
BCS
The BCS serialized form for this type is defined by the following ABNF:
See <https://www.w3.org/TR/webauthn-2/`dictdef`-collectedclientdata> for
the required json-schema for the client-data-json rule. In addition, IOTA
currently requires that the CollectedClientData.type field is required to
be webauthn.get.
Note: Due to historical reasons, signatures are serialized slightly
different from the majority of the types in IOTA. In particular if a
signature is ever embedded in another structure it generally is serialized
as bytes meaning it has a length prefix that defines the length of
the completely serialized signature.
passkey-bcs = bytes ; where the contents of the bytes are
; defined by <passkey>
passkey = passkey-flag
bytes ; passkey authenticator data
client-data-json ; valid json
simple-signature ; required to be a secp256r1 signature
client-data-json = string ; valid json
authenticator_data
def authenticator_data() -> bytes
Opaque authenticator data for this passkey signature.
See <https://www.w3.org/TR/webauthn-2/`sctn`-authenticator-data> for more information on this field.
challenge
def challenge() -> bytes
The parsed challenge message for this passkey signature.
This is parsed by decoding the base64url data from the
client_data_json.challenge field.
client_data_json
def client_data_json() -> str
Structured, unparsed, JSON for this passkey signature.
See <https://www.w3.org/TR/webauthn-2/`dictdef`-collectedclientdata> for more information on this field.
public_key
def public_key() -> PasskeyPublicKey
The passkey public key.
signature
def signature() -> SimpleSignature
The passkey signature.