clients

package
v0.18.0 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2019 License: AGPL-3.0-only Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientRegistration

type ClientRegistration struct {
	ID              string `yaml:"id"`
	Secret          string `yaml:"secret"`
	Name            string `yaml:"name"`
	ApplicationType string `yaml:"application_type"`

	Trusted  bool `yaml:"trusted"`
	Insecure bool `yaml:"insecure"`

	RedirectURIs []string `yaml:"redirect_uris,flow"`
	Origins      []string `yaml:"origins,flow"`

	JWKS                       *gojwk.Key `yaml:"jwks"`
	RawRequestObjectSigningAlg string     `yaml:"request_object_signing_alg"`
}

ClientRegistration defines a client with its properties.

type Details

type Details struct {
	ID          string `json:"id"`
	DisplayName string `json:"display_name"`
	RedirectURI string `json:"redirect_uri"`
	Trusted     bool   `json:"trusted"`
}

Details hold detail information about clients identified by ID.

type Registry

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

Registry implements the registry for registered clients.

func NewRegistry

func NewRegistry(trustedURI *url.URL, registrationConfFilepath string, logger logrus.FieldLogger) (*Registry, error)

NewRegistry created a new client Registry with the provided parameters.

func (*Registry) Get

func (r *Registry) Get(ctx context.Context, clientID string) (*ClientRegistration, bool)

Get returns the registerd clients registraion for the provided client ID.

func (*Registry) Lookup

func (r *Registry) Lookup(ctx context.Context, clientID string, clientSecret string, redirectURI *url.URL, originURIString string, withoutSecret bool) (*Details, error)

Lookup returns and validates the clients Detail information for the provided parameters from the accociated registry.

func (*Registry) Register

func (r *Registry) Register(client *ClientRegistration) error

Register validates the provided client registration and adds the client to the accociated registry if valid. Returns error otherwise.

func (*Registry) Validate

func (r *Registry) Validate(client *ClientRegistration, clientSecret string, redirectURIString string, originURIString string, withoutSecret bool) error

Validate checks if the provided client registration data complies to the provided parameters and returns error when it does not.

type RegistryData

type RegistryData struct {
	Clients []*ClientRegistration `yaml:"clients,flow"`
}

RegistryData is the base structur of our client registry configuration file.

Jump to

Keyboard shortcuts

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