Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientRegistration ¶ added in v0.5.0
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, withoutSecret bool) (*Details, error)
Lookup returns and validates the clients Detail information for the provided parameters from the accociated registry.
func (*Registry) Register ¶ added in v0.5.0
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 ¶ added in v0.5.0
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 ¶ added in v0.5.0
type RegistryData struct {
Clients []*ClientRegistration `yaml:"clients,flow"`
}
RegistryData is the base structur of our client registry configuration file.