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"` }
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) Lookup ¶
func (r *Registry) Lookup(ctx context.Context, clientID string, clientSecret string, redirectURI *url.URL, originURIString string) (*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.
type RegistryData ¶
type RegistryData struct {
Clients []*ClientRegistration `yaml:"clients,flow"`
}
RegistryData is the base structur of our client registry configuration file.
Click to show internal directories.
Click to hide internal directories.