PasskeyAuthenticatorInterface
type PasskeyAuthenticatorInterface
A passkey authenticator.
BCS
The BCS serialized form for this type is defined by the following ABNF:
```text 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 ```
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.
type PasskeyAuthenticatorInterface interface {
// Opaque authenticator data for this passkey signature.
//
// See <https://www.w3.org/TR/webauthn-2/#sctn-authenticator-data>
// for more information on this field.
AuthenticatorData() []byte
// The parsed challenge message for this passkey signature.
//
// This is parsed by decoding the base64url data from the
// `client_data_json.challenge` field.
Challenge() []byte
// Structured, unparsed, JSON for this passkey signature.
//
// See <https://www.w3.org/TR/webauthn-2/#dictdef-collectedclientdata>
// for more information on this field.
ClientDataJson() string
// The passkey public key.
PublicKey() *PasskeyPublicKey
// The passkey signature.
Signature() *SimpleSignature
}