Skip to main content

PasskeyAuthenticator

type PasskeyAuthenticator

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 PasskeyAuthenticator struct {
// contains filtered or unexported fields
}

func LiftFromExternalPasskeyAuthenticator

func LiftFromExternalPasskeyAuthenticator(handle uint64) *PasskeyAuthenticator

func PasskeyAuthenticatorFromBcs

func PasskeyAuthenticatorFromBcs(bcs []byte) (*PasskeyAuthenticator, error)

Create this type from BCS encoded bytes.

func PasskeyAuthenticatorFromJson

func PasskeyAuthenticatorFromJson(json string) (*PasskeyAuthenticator, error)

Create this type from JSON encoded string.

func (*PasskeyAuthenticator) AuthenticatorData

func (_self *PasskeyAuthenticator) AuthenticatorData() []byte

Opaque authenticator data for this passkey signature.

See <https://www.w3.org/TR/webauthn-2/#sctn-authenticator-data\> for more information on this field.

func (*PasskeyAuthenticator) Challenge

func (_self *PasskeyAuthenticator) Challenge() []byte

The parsed challenge message for this passkey signature.

This is parsed by decoding the base64url data from the `client_data_json.challenge` field.

func (*PasskeyAuthenticator) ClientDataJson

func (_self *PasskeyAuthenticator) ClientDataJson() string

Structured, unparsed, JSON for this passkey signature.

See <https://www.w3.org/TR/webauthn-2/#dictdef-collectedclientdata\> for more information on this field.

func (*PasskeyAuthenticator) DebugString

func (_self *PasskeyAuthenticator) DebugString() string

func (*PasskeyAuthenticator) Destroy

func (object *PasskeyAuthenticator) Destroy()

func (*PasskeyAuthenticator) Eq

func (_self *PasskeyAuthenticator) Eq(other *PasskeyAuthenticator) bool

func (*PasskeyAuthenticator) Ne

func (_self *PasskeyAuthenticator) Ne(other *PasskeyAuthenticator) bool

func (*PasskeyAuthenticator) PublicKey

func (_self *PasskeyAuthenticator) PublicKey() *PasskeyPublicKey

The passkey public key.

func (*PasskeyAuthenticator) Signature

func (_self *PasskeyAuthenticator) Signature() *SimpleSignature

The passkey signature.