registration

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2023 License: BSD-2-Clause Imports: 10 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Comms

type Comms struct {
	*connect.ProtoComms

	*pb.UnimplementedRegistrationServer
	*messages.UnimplementedGenericServer
	// contains filtered or unexported fields
}

Registration object used to implement endpoints and top-level comms functionality

func StartRegistrationServer

func StartRegistrationServer(id *id.ID, localServer string, handler Handler,
	certPEMblock, keyPEMblock []byte, preloadedHosts []*connect.Host) *Comms

Starts a new server on the address:port specified by localServer and a callback interface for server operations with given path to public and private key for TLS connection

func (*Comms) AuthenticateToken

func (r *Comms) AuthenticateToken(ctx context.Context,
	msg *messages.AuthenticatedMessage) (*messages.Ack, error)

Handles validation of reverse-authentication tokens

func (*Comms) CheckRegistration

func (r *Comms) CheckRegistration(ctx context.Context, msg *pb.RegisteredNodeCheck) (*pb.RegisteredNodeConfirmation, error)

Server -> Permissioning unified polling

func (*Comms) Poll

Server -> Permissioning unified polling

func (*Comms) PollNdf

func (r *Comms) PollNdf(ctx context.Context, ndfHash *pb.NDFHash) (*pb.NDF, error)

Handles incoming requests for the NDF

func (*Comms) RegisterNode

func (r *Comms) RegisterNode(ctx context.Context, msg *pb.NodeRegistration) (
	*messages.Ack, error)

Handle a node registration event

func (*Comms) RegisterUser

RegisterUser event handler which registers a user with the platform

func (*Comms) RequestToken

func (r *Comms) RequestToken(context.Context, *messages.Ping) (*messages.AssignToken, error)

Handles reception of reverse-authentication token requests

type Handler

type Handler interface {
	RegisterUser(msg *pb.ClientRegistration) (confirmation *pb.SignedClientRegistrationConfirmations, err error)
	RegisterNode(salt []byte, serverAddr, serverTlsCert, gatewayAddr,
		gatewayTlsCert, registrationCode string) error
	PollNdf(ndfHash []byte) (*pb.NDF, error)
	Poll(msg *pb.PermissioningPoll, auth *connect.Auth) (*pb.
		PermissionPollResponse, error)
	CheckRegistration(msg *pb.RegisteredNodeCheck) (*pb.RegisteredNodeConfirmation, error)
}

type Implementation

type Implementation struct {
	Functions implementationFunctions
}

Implementation allows users of the client library to set the functions that implement the node functions

func NewImplementation

func NewImplementation() *Implementation

NewImplementation returns a Implementation struct with all of the function pointers returning nothing and printing an error.

func (*Implementation) CheckRegistration

func (s *Implementation) CheckRegistration(msg *pb.RegisteredNodeCheck) (*pb.
	RegisteredNodeConfirmation, error)

func (*Implementation) Poll

func (*Implementation) PollNdf

func (s *Implementation) PollNdf(ndfHash []byte) (*pb.NDF, error)

func (*Implementation) RegisterNode

func (s *Implementation) RegisterNode(salt []byte, serverAddr, serverTlsCert, gatewayAddr,
	gatewayTlsCert, registrationCode string) error

func (*Implementation) RegisterUser

func (s *Implementation) RegisterUser(msg *pb.ClientRegistration) (confirmation *pb.SignedClientRegistrationConfirmations, err error)

Registers a user and returns a signed public key

Jump to

Keyboard shortcuts

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