Documentation ¶
Index ¶
- Constants
- Variables
- func ConvertMinutesShift(value string) (int, error)
- func GenerateInitialCode(nbUpperCase int, nbDigits int, nbLowerCase int) string
- func GeneratePassword(policy *string, minLength int, userID string) (string, error)
- func GeneratePasswordFromKeycloakPolicy(policy string) (string, error)
- func GeneratePasswordNoKeycloakPolicy(minLength int) string
- func LimitRate(e cs.Endpoint, limit int) endpoint.Endpoint
- func LogUnrecordedEvent(ctx context.Context, logger Logger, eventName string, errorMessage string, ...)
- func MakeConfigurationDBModuleInstrumentingMW(h cm.Histogram) func(ConfigurationDBModule) ConfigurationDBModule
- func NewKeycloakAuthClient(client KeycloakClient, logger Logger) security.KeycloakClient
- func NextDay(ref time.Time) time.Time
- func NextHour(ref time.Time) time.Time
- func NextMonth(ref time.Time) time.Time
- func ThisMonth(ref time.Time) time.Time
- func ToGoKitEndpoint(e cs.Endpoint) endpoint.Endpoint
- type ConfigurationDBModule
- type DBConfiguration
- type EventsDBModule
- type KeycloakClient
- type Logger
Constants ¶
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" Unit = "unit" Max = "max" Timeshift = "timeshift" )
Normalized error messages
Variables ¶
var ( // ComponentName is the name of the component. ComponentName = "keycloak-bridge" // Version of the component. Version = "1.1" )
Functions ¶
func ConvertMinutesShift ¶
ConvertMinutesShift converts a string describing a timezone shift to a numeric value
func GenerateInitialCode ¶
GenerateInitialCode generates a code of the format UpperCase + digits + LowerCase
func GeneratePassword ¶
GeneratePassword generates a password accoring to the policy or minimum length imposed
func GeneratePasswordFromKeycloakPolicy ¶
GeneratePasswordFromKeycloakPolicy generates a random password respecting the keycloak password policy
func GeneratePasswordNoKeycloakPolicy ¶
GeneratePasswordNoKeycloakPolicy generates a password of a given length
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 NewKeycloakAuthClient ¶
func NewKeycloakAuthClient(client KeycloakClient, logger Logger) security.KeycloakClient
NewKeycloakAuthClient creates an adaptor for Authorization management to access Keycloak
func NextDay ¶
NextDay returns a time.Time value of the provided time rounded to the next month of the associated locale
func NextHour ¶
NextHour returns a time.Time value of the provided time rounded to the next hour of the associated locale
func NextMonth ¶
NextMonth returns a time.Time value of the provided time rounded to the next month of the associated locale
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.
func NewConfigurationDBModule ¶
func NewConfigurationDBModule(db DBConfiguration) ConfigurationDBModule
NewConfigurationDBModule returns a ConfigurationDB module.
type DBConfiguration ¶
type DBConfiguration interface { Exec(query string, args ...interface{}) (sql.Result, error) QueryRow(query string, args ...interface{}) sqltypes.SQLRow }
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) GetTotalConnectionsHoursCount(context.Context, string, *time.Location, int) ([][]int64, error) GetTotalConnectionsDaysCount(context.Context, string, *time.Location, int) ([][]int64, error) GetTotalConnectionsMonthsCount(context.Context, string, *time.Location, int) ([][]int64, error) GetLastConnections(context.Context, string, string) ([]api_stat.StatisticsConnectionRepresentation, error) }
EventsDBModule is the interface of the audit events module.
func NewEventsDBModule ¶
func NewEventsDBModule(db sqltypes.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(ctx context.Context, keyvals ...interface{}) error Info(ctx context.Context, keyvals ...interface{}) error Warn(ctx context.Context, keyvals ...interface{}) error Error(ctx context.Context, keyvals ...interface{}) error }
Logger interface for logging with level