Documentation ¶
Index ¶
- Constants
- func MakeAuthorizationRegisterComponentMW(logger log.Logger) func(Component) Component
- func MakeGetConfigurationEndpoint(component Component) cs.Endpoint
- func MakeHTTPRecaptchaValidationMW(recaptchaURL string, recaptchaSecret string, logger log.Logger) func(http.Handler) http.Handler
- func MakeRegisterHandler(e endpoint.Endpoint, logger log.Logger) *http_transport.Server
- func MakeRegisterUserEndpoint(component Component) cs.Endpoint
- type Component
- type ConfigurationDBModule
- type Endpoints
- type KeycloakClient
Constants ¶
View Source
const (
RegExpRealmName = `^[a-zA-Z0-9_-]{1,36}$`
)
Regular expressions
Variables ¶
This section is empty.
Functions ¶
func MakeAuthorizationRegisterComponentMW ¶
MakeAuthorizationRegisterComponentMW checks authorization and return an error if the action is not allowed.
func MakeGetConfigurationEndpoint ¶
MakeGetConfigurationEndpoint endpoint creation
func MakeHTTPRecaptchaValidationMW ¶
func MakeHTTPRecaptchaValidationMW(recaptchaURL string, recaptchaSecret string, logger log.Logger) func(http.Handler) http.Handler
MakeHTTPRecaptchaValidationMW retrieves the recaptcha code and checks its validity
func MakeRegisterHandler ¶
MakeRegisterHandler make an HTTP handler for the self-register endpoint.
func MakeRegisterUserEndpoint ¶
MakeRegisterUserEndpoint endpoint creation
Types ¶
type Component ¶
type Component interface { RegisterUser(ctx context.Context, clientRealmName string, user apiregister.UserRepresentation) (string, error) GetConfiguration(ctx context.Context, realmName string) (apiregister.ConfigurationRepresentation, error) }
Component is the register component interface.
func NewComponent ¶
func NewComponent(keycloakURL string, realm string, ssePublicURL string, registerEnduserClientID string, keycloakClient KeycloakClient, tokenProvider keycloak.OidcTokenProvider, usersDBModule keycloakb.UsersDBModule, configDBModule ConfigurationDBModule, eventsDBModule database.EventsDBModule, logger internal.Logger) Component
NewComponent returns the management component.
type ConfigurationDBModule ¶
type ConfigurationDBModule interface {
GetConfiguration(context.Context, string) (configuration.RealmConfiguration, error)
}
ConfigurationDBModule is the interface of the configuration module.
type KeycloakClient ¶
type KeycloakClient interface { CreateUser(accessToken string, realmName string, targetRealmName string, user kc.UserRepresentation) (string, error) UpdateUser(accessToken string, realmName, userID string, user kc.UserRepresentation) error GetUsers(accessToken string, reqRealmName, targetRealmName string, paramKV ...string) (kc.UsersPageRepresentation, error) ExecuteActionsEmail(accessToken string, realmName string, userID string, actions []string, paramKV ...string) error }
KeycloakClient are methods from keycloak-client used by this component
Click to show internal directories.
Click to hide internal directories.