keycloakb

package
v2.2.3+incompatible Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2019 License: GPL-3.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MsgErrInvalidParam         = "invalidParameter"
	MsgErrMissingParam         = "missingParameter"
	MsgErrWrongTypeRequest     = "wrongTypeRequest"
	MsgErrInvalidJSONRequest   = "invalidJSONRequest"
	MsgErrInvalidBase64Object  = "invalidBase64Object"
	MsgErrInvalidLength        = "invalidLength"
	MsgErrCannotObtain         = "cannotObtain"
	MsgErrCannotMarshal        = "cannotMarshal"
	MsgErrCannotSaveConfigInDB = "cannotSaveConfigInDB"
	MsgErrCannotUpdate         = "cannotUpdate"
	MsgErrUnknown              = "unknowError"
	MsgErrNotConfigured        = "notConfigured"

	RealmConfiguration = "realmConfiguration"
	CurrentPassword    = "currentPassword"
	NewPassword        = "newPassword"
	ConfirmPassword    = "confirmPassword"
	Password           = "password"
	Type               = "type"
	ID                 = "id"
	Label              = "label"
	UserID             = "userId"
	Username           = "username"
	User               = "user"
	UserLabel          = "userLabel"
	Email              = "email"
	Firstname          = "firstname"
	Lastname           = "lastname"
	PhoneNumber        = "phoneNumber"
	Gender             = "gender"
	Birthdate          = "birthdate"
	GroudID            = "groupId"
	GroudIDs           = "groupIds"
	RoleID             = "roleId"
	Locale             = "locale"
	Description        = "description"
	ContainerID        = "containerId"
	DefaultClientID    = "defaultClientId"
	DefaultRedirectURI = "defaultRedirectURI"
	RequiredAction     = "requiredAction"
	DurationLabel      = "durationLabel"
	Body               = "body"
	Flatbuffer         = "flatbuffer"
	Realm              = "realm"
	KeycloakRealms     = "keycloakRealms"
	Config             = "config"
	Response           = "response"
	ListOfRealms       = "listOfRealms"
	Groups             = "groups"
	ClientID           = "clientId"
	RedirectURI        = "redirectURI"
	Exclude            = "exclude"
)

Normalized error messages

Variables

View Source
var (
	// ComponentName is the name of the component.
	ComponentName = "keycloak-bridge"
	// Version of the component.
	Version = "1.1"
)

Functions

func GenerateInitialCode

func GenerateInitialCode(nbUpperCase int, nbDigits int, nbLowerCase int) string

GenerateInitialCode generates a code of the format UpperCase + digits + LowerCase

func GeneratePassword

func GeneratePassword(policy *string, minLength int, userID string) (string, error)

GeneratePassword generates a password accoring to the policy or minimum length imposed

func GeneratePasswordFromKeycloakPolicy

func GeneratePasswordFromKeycloakPolicy(policy string) (string, error)

GeneratePasswordFromKeycloakPolicy generates a random password respecting the keycloak password policy

func GeneratePasswordNoKeycloakPolicy

func GeneratePasswordNoKeycloakPolicy(minLength int) string

GeneratePasswordNoKeycloakPolicy generates a password of a given length

func LimitRate

func LimitRate(e cs.Endpoint, limit int) endpoint.Endpoint

LimitRate adds a rate limit to an endpoint

func LogUnrecordedEvent

func LogUnrecordedEvent(ctx context.Context, logger Logger, eventName string, errorMessage string, values ...string)

LogUnrecordedEvent logs the events that could not be reported in the DB

func MakeConfigurationDBModuleInstrumentingMW

func MakeConfigurationDBModuleInstrumentingMW(h cm.Histogram) func(ConfigurationDBModule) ConfigurationDBModule

MakeConfigurationDBModuleInstrumentingMW makes an instrumenting middleware at module level.

func NewConfigurationDBModule

func NewConfigurationDBModule(db DBConfiguration) *configurationDBModule

NewConfigurationDBModule returns a ConfigurationDB module.

func NewKeycloakAuthClient

func NewKeycloakAuthClient(client KeycloakClient, logger Logger) security.KeycloakClient

NewKeycloakAuthClient creates an adaptor for Authorization management to access Keycloak

func ToGoKitEndpoint

func ToGoKitEndpoint(e cs.Endpoint) endpoint.Endpoint

ToGoKitEndpoint converts endpoints

Types

type ConfigurationDBModule

type ConfigurationDBModule interface {
	StoreOrUpdate(context.Context, string, dto.RealmConfiguration) error
	GetConfiguration(context.Context, string) (dto.RealmConfiguration, error)
}

ConfigurationDBModule is the interface of the configuration module.

type DBConfiguration

type DBConfiguration interface {
	Exec(query string, args ...interface{}) (sql.Result, error)
	QueryRow(query string, args ...interface{}) *sql.Row
}

DBConfiguration interface

type EventsDBModule

type EventsDBModule interface {
	GetEventsCount(context.Context, map[string]string) (int, error)
	GetEvents(context.Context, map[string]string) ([]api.AuditRepresentation, error)
	GetEventsSummary(context.Context) (api.EventSummaryRepresentation, error)
	GetLastConnection(context.Context, string) (int64, error)
	GetTotalConnectionsCount(context.Context, string, string) (int64, error)
}

EventsDBModule is the interface of the audit events module.

func NewEventsDBModule

func NewEventsDBModule(db database.CloudtrustDB) EventsDBModule

NewEventsDBModule returns an events database module.

type KeycloakClient

type KeycloakClient interface {
	GetGroupsOfUser(accessToken string, realmName, userID string) ([]kc.GroupRepresentation, error)
	GetGroup(accessToken string, realmName, groupID string) (kc.GroupRepresentation, error)
}

KeycloakClient are methods from keycloak-client used by authorization manager

type Logger

type Logger interface {
	Debug(keyvals ...interface{}) error
	Info(keyvals ...interface{}) error
	Warn(keyvals ...interface{}) error
	Error(keyvals ...interface{}) error
}

Logger interface for logging with level

Jump to

Keyboard shortcuts

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