auth

package
v0.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2025 License: UNKNOWN not legal advice Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Challenge

type Challenge [32]byte

type EphClaim

type EphClaim struct {
	EphID   string          `json:"ephId"`
	EphPK   string          `json:"ephPK"`
	SignAlg EphSigAlgorithm `json:"signAlg"`
	Expiry  uint64          `json:"expiry"`
}

EphClaim represents an ephemeral key claim.

func (*EphClaim) UnmarshalJSON

func (ec *EphClaim) UnmarshalJSON(data []byte) error

type EphSigAlgorithm

type EphSigAlgorithm string

EphSigAlgorithm represents ephemeral key signature algorithm options.

const (
	EphSigAlgorithmED25519   EphSigAlgorithm = "ed25519"
	EphSigAlgorithmSECP256k1 EphSigAlgorithm = "secp256k1"
)

func (EphSigAlgorithm) MarshalJSON

func (esa EphSigAlgorithm) MarshalJSON() ([]byte, error)

func (EphSigAlgorithm) String

func (esa EphSigAlgorithm) String() string

String implements the fmt.Stringer interface for EphSigAlgorithm.

func (*EphSigAlgorithm) UnmarshalJSON

func (esa *EphSigAlgorithm) UnmarshalJSON(data []byte) error

type FinalChallengeHex

type FinalChallengeHex string

Represents the final challenge that will be used for challenge response exchange protocol.

func CalculateFinalChallenge

func CalculateFinalChallenge(serialized []byte, chalsOpt []Challenge) FinalChallengeHex

type UserAuthMethod

type UserAuthMethod string

Defines the method used for user authentication.

const (
	UserAuthMethodEOA       UserAuthMethod = "eoa"
	UserAuthMethodEphemeral UserAuthMethod = "ephemeral"
)

func (UserAuthMethod) MarshalJSON

func (uam UserAuthMethod) MarshalJSON() ([]byte, error)

func (UserAuthMethod) String

func (uam UserAuthMethod) String() string

func (*UserAuthMethod) UnmarshalJSON

func (uam *UserAuthMethod) UnmarshalJSON(data []byte) error

type UserAuthentication

type UserAuthentication struct {
	// Credentials contains signing information required for verification.
	Credentials UserCredentials `json:"credentials"`

	// Signature is a signature according to credentials.
	Signature string `json:"signature"`
}

Defines the structure for user authentication. It includes the user credentials and the corresponding signature.

type UserCredentials

type UserCredentials struct {
	// ID is an arbitrary ID of the signature among passed from a user to a verifier.
	ID string `json:"id"`

	// Method defines the format of the credentials field.
	Method UserAuthMethod `json:"method"`

	// Credentials contains public key or a more complex structure required to verify a signature.
	Credentials string `json:"credentials"`
}

UserCredentials contains all the information relevant for a particular signing method. JSON serialization of this structure will be associated with the key share lifecycle.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL