register

package
v2.4.3+incompatible Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2020 License: GPL-3.0 Imports: 25 Imported by: 2

Documentation

Index

Constants

View Source
const (
	RegExpRealmName = `^[a-zA-Z0-9_-]{1,36}$`
)

Regular expressions

Variables

This section is empty.

Functions

func MakeAuthorizationRegisterComponentMW

func MakeAuthorizationRegisterComponentMW(logger log.Logger) func(Component) Component

MakeAuthorizationRegisterComponentMW checks authorization and return an error if the action is not allowed.

func MakeGetConfigurationEndpoint

func MakeGetConfigurationEndpoint(component Component) cs.Endpoint

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

func MakeRegisterHandler(e endpoint.Endpoint, logger log.Logger) *http_transport.Server

MakeRegisterHandler make an HTTP handler for the self-register endpoint.

func MakeRegisterUserEndpoint

func MakeRegisterUserEndpoint(component Component) cs.Endpoint

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 Endpoints

type Endpoints struct {
	RegisterUser     endpoint.Endpoint
	GetConfiguration endpoint.Endpoint
}

Endpoints for self service

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

Jump to

Keyboard shortcuts

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