access_ticket

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 23, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrExternal represents an error in an external system,
	// which means the validation procedure can be retried
	ErrExternal error = errors.New("external error")

	ErrInvalidInput     = errors.New("invalid input")
	ErrDecisionNotFound = fmt.Errorf("decision not found: %w", ErrInvalidInput)

	// ErrInvalidTicket flags that the provide AccessTicket is
	// invalid and will never be valid.
	ErrInvalidTicket   error = errors.New("invalid AccessTicket")
	ErrExpiredDecision       = fmt.Errorf("expired decision: %w", ErrInvalidTicket)
	ErrExpiredProof          = fmt.Errorf("expired proof: %w", ErrInvalidTicket)
	ErrExpiredTicket         = fmt.Errorf("expired ticket: %w", ErrInvalidTicket)

	ErrInvalidDecisionProof = fmt.Errorf("invalid DecisionProof bytes: %w", ErrInvalidTicket)
	ErrdDecisionProofDenied = fmt.Errorf("DecisionProof denied: %w", ErrInvalidTicket)
	ErrInvalidSignature     = fmt.Errorf("invalid signature for ticket: %w", ErrInvalidTicket)
	ErrDecisionTampered     = fmt.Errorf("AccessDecision fingerprint different from DecisionId: %w", ErrInvalidTicket)
)

Functions

func NewABCIService

func NewABCIService(addr string) (abciService, error)

Types

type AccessTicketSpec

type AccessTicketSpec struct {
	// contains filtered or unexported fields
}

func NewAccessTicketSpec

func NewAccessTicketSpec(serv *abciService, registry did.Registry) AccessTicketSpec

func (*AccessTicketSpec) Satisfies

func (s *AccessTicketSpec) Satisfies(ctx context.Context, ticket string) error

func (*AccessTicketSpec) SatisfiesRaw

func (s *AccessTicketSpec) SatisfiesRaw(ctx context.Context, ticket *types.AccessTicket) error

Satisfies inspects an AccessTicket and verifies whether it meets specification and is valid. Returns a non-nill error if the Ticket is invalid

type Marshaler

type Marshaler struct{}

Marshaler is responsible for marshaling and unamarshaling an AccessTicket to and from a string representation

func (*Marshaler) Marshal

func (m *Marshaler) Marshal(ticket *types.AccessTicket) (string, error)

func (*Marshaler) Unmarshal

func (m *Marshaler) Unmarshal(ticket string) (*types.AccessTicket, error)

type TicketIssuer

type TicketIssuer struct {
	// contains filtered or unexported fields
}

TicketIssuer is a responsible for generating Access Tickets

func NewTicketIssuer

func NewTicketIssuer(abciService *abciService) TicketIssuer

func (*TicketIssuer) Issue

func (b *TicketIssuer) Issue(ctx context.Context, decisionId string, privKey cryptotypes.PrivKey) (string, error)

func (*TicketIssuer) IssueRaw

func (b *TicketIssuer) IssueRaw(ctx context.Context, decisionId string, privKey cryptotypes.PrivKey) (*types.AccessTicket, error)

Issue fetches an Access Decision from its Id and generates an Access Ticket from it.

Jump to

Keyboard shortcuts

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