gocloak

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2025 License: Apache-2.0 Imports: 18 Imported by: 0

README

gocloak

Golang Keycloak API Package

This client is forked from: Nerzal/gocloak

Changes

  • Added support for Organizations

Documentation

Overview

Package gocloak is a golang keycloak adaptor.

Index

Constants

This section is empty.

Variables

View Source
var (
	ENFORCING  = PolicyEnforcementModeP("ENFORCING")
	PERMISSIVE = PolicyEnforcementModeP("PERMISSIVE")
	DISABLED   = PolicyEnforcementModeP("DISABLED")
)

PolicyEnforcementMode values

View Source
var (
	POSITIVE = LogicP("POSITIVE")
	NEGATIVE = LogicP("NEGATIVE")
)

Logic values

View Source
var (
	AFFIRMATIVE = DecisionStrategyP("AFFIRMATIVE")
	UNANIMOUS   = DecisionStrategyP("UNANIMOUS")
	CONSENSUS   = DecisionStrategyP("CONSENSUS")
)

DecisionStrategy values

Functions

func BoolP

func BoolP(value bool) *bool

BoolP returns a pointer of a boolean variable

func Float32P

func Float32P(value float32) *float32

Float32P returns a pointer of a float32 variable

func Float64P

func Float64P(value float64) *float64

Float64P returns a pointer of a float64 variable

func GetQueryParams

func GetQueryParams(s interface{}) (map[string]string, error)

GetQueryParams converts the struct to map[string]string The fields tags must have `json:"<name>,string,omitempty"` format for all types, except strings The string fields must have: `json:"<name>,omitempty"`. The `json:"<name>,string,omitempty"` tag for string field will add additional double quotes. "string" tag allows to convert the non-string fields of a structure to map[string]string. "omitempty" allows to skip the fields with default values.

func Int32P

func Int32P(value int32) *int32

Int32P returns a pointer of an int32 variable

func Int64P

func Int64P(value int64) *int64

Int64P returns a pointer of an int64 variable

func IntP

func IntP(value int) *int

IntP returns a pointer of an integer variable

func NilOrEmpty

func NilOrEmpty(value *string) bool

NilOrEmpty returns true if string is empty or has a nil value

func NilOrEmptyArray

func NilOrEmptyArray(value *[]string) bool

NilOrEmptyArray returns true if string is empty or has a nil value

func NilOrEmptySlice

func NilOrEmptySlice(value *[]string) bool

NilOrEmptySlice returns true if list is empty or has a nil value

func PBool

func PBool(value *bool) bool

PBool returns a boolean value from a pointer

func PFloat32

func PFloat32(value *float32) float32

PFloat32 returns an flaot32 value from a pointer

func PFloat64

func PFloat64(value *float64) float64

PFloat64 returns an flaot64 value from a pointer

func PInt

func PInt(value *int) int

PInt returns an integer value from a pointer

func PInt32

func PInt32(value *int32) int32

PInt32 returns an int32 value from a pointer

func PInt64

func PInt64(value *int64) int64

PInt64 returns an int64 value from a pointer

func PString

func PString(value *string) string

PString returns a string value from a pointer

func PStringSlice

func PStringSlice(value *[]string) []string

PStringSlice converts a pointer to []string or returns ampty slice if nill value

func SetAuthAdminRealms

func SetAuthAdminRealms(url string) func(g *GoCloak)

SetAuthAdminRealms sets the auth admin realm

func SetAuthRealms

func SetAuthRealms(url string) func(g *GoCloak)

SetAuthRealms sets the auth realm

func SetCertCacheInvalidationTime

func SetCertCacheInvalidationTime(duration time.Duration) func(g *GoCloak)

SetCertCacheInvalidationTime sets the logout

func SetLegacyWildFlySupport

func SetLegacyWildFlySupport() func(g *GoCloak)

SetLegacyWildFlySupport maintain legacy WildFly support.

func SetLogoutEndpoint

func SetLogoutEndpoint(url string) func(g *GoCloak)

SetLogoutEndpoint sets the logout

func SetOpenIDConnectEndpoint

func SetOpenIDConnectEndpoint(url string) func(g *GoCloak)

SetOpenIDConnectEndpoint sets the logout

func SetRevokeEndpoint

func SetRevokeEndpoint(url string) func(g *GoCloak)

SetRevokeEndpoint sets the revoke endpoint

func SetTokenEndpoint

func SetTokenEndpoint(url string) func(g *GoCloak)

SetTokenEndpoint sets the token endpoint

func StringP

func StringP(value string) *string

StringP returns a pointer of a string variable

func UserAttributeContains

func UserAttributeContains(attributes map[string][]string, attribute, value string) bool

UserAttributeContains checks if the given attribute value is set

func WithTracer

func WithTracer(ctx context.Context, tracer opentracing.Tracer) context.Context

WithTracer generates a context that has a tracer attached

Types

type APIErrType

type APIErrType string

APIErrType is a field containing more specific API error types that may be checked by the receiver.

const (
	// APIErrTypeUnknown is for API errors that are not strongly
	// typed.
	APIErrTypeUnknown APIErrType = "unknown"

	// APIErrTypeInvalidGrant corresponds with Keycloak's
	// OAuthErrorException due to "invalid_grant".
	APIErrTypeInvalidGrant = "oauth: invalid grant"
)

func ParseAPIErrType

func ParseAPIErrType(err error) APIErrType

ParseAPIErrType is a convenience method for returning strongly typed API errors.

type APIError

type APIError struct {
	Code    int        `json:"code"`
	Message string     `json:"message"`
	Type    APIErrType `json:"type"`
}

APIError holds message and statusCode for api errors

func (APIError) Error

func (apiError APIError) Error() string

Error stringifies the APIError

type Access

type Access struct {
	ManageGroupMembership *bool `json:"manageGroupMembership,omitempty"`
	View                  *bool `json:"view,omitempty"`
	MapRoles              *bool `json:"mapRoles,omitempty"`
	Impersonate           *bool `json:"impersonate,omitempty"`
	Manage                *bool `json:"manage,omitempty"`
}

Access represents access

func (*Access) String

func (v *Access) String() string

type AccessRepresentation

type AccessRepresentation struct {
	ManageGroupMembership *bool `json:"manageGroupMembership,omitempty"`
	View                  *bool `json:"view,omitempty"`
	MapRoles              *bool `json:"mapRoles,omitempty"`
	Impersonate           *bool `json:"impersonate,omitempty"`
	Manage                *bool `json:"manage,omitempty"`
}

AccessRepresentation represents the access parameters returned in the permission ticket description

func (*AccessRepresentation) String

func (v *AccessRepresentation) String() string

type ActiveKeys

type ActiveKeys struct {
	HS256 *string `json:"HS256,omitempty"`
	RS256 *string `json:"RS256,omitempty"`
	AES   *string `json:"AES,omitempty"`
}

ActiveKeys holds the active keys

func (*ActiveKeys) String

func (v *ActiveKeys) String() string

type AdapterConfiguration

type AdapterConfiguration struct {
	Realm            *string     `json:"realm"`
	AuthServerURL    *string     `json:"auth-server-url"`
	SSLRequired      *string     `json:"ssl-required"`
	Resource         *string     `json:"resource"`
	Credentials      interface{} `json:"credentials"`
	ConfidentialPort *int        `json:"confidential-port"`
}

AdapterConfiguration represents adapter configuration of a client

type AggregatedPolicyRepresentation

type AggregatedPolicyRepresentation struct {
	Policies *[]string `json:"policies,omitempty"`
}

AggregatedPolicyRepresentation represents aggregated policies

func (*AggregatedPolicyRepresentation) String

type Attributes

type Attributes struct {
	LDAPENTRYDN *[]string `json:"LDAP_ENTRY_DN,omitempty"`
	LDAPID      *[]string `json:"LDAP_ID,omitempty"`
}

Attributes holds Attributes

func (*Attributes) String

func (v *Attributes) String() string

type AuthenticationExecutionRepresentation

type AuthenticationExecutionRepresentation struct {
	Authenticator       *string `json:"authenticator,omitempty"`
	AuthenticatorConfig *string `json:"authenticatorConfig,omitempty"`
	AuthenticatorFlow   *bool   `json:"authenticatorFlow,omitempty"`
	AutheticatorFlow    *bool   `json:"autheticatorFlow,omitempty"`
	FlowAlias           *string `json:"flowAlias,omitempty"`
	Priority            *int    `json:"priority,omitempty"`
	Requirement         *string `json:"requirement,omitempty"`
	UserSetupAllowed    *bool   `json:"userSetupAllowed,omitempty"`
}

AuthenticationExecutionRepresentation represents the authentication execution of an AuthenticationFlowRepresentation

type AuthenticationFlowRepresentation

type AuthenticationFlowRepresentation struct {
	Alias                    *string                                  `json:"alias,omitempty"`
	AuthenticationExecutions *[]AuthenticationExecutionRepresentation `json:"authenticationExecutions,omitempty"`
	BuiltIn                  *bool                                    `json:"builtIn,omitempty"`
	Description              *string                                  `json:"description,omitempty"`
	ID                       *string                                  `json:"id,omitempty"`
	ProviderID               *string                                  `json:"providerId,omitempty"`
	TopLevel                 *bool                                    `json:"topLevel,omitempty"`
}

AuthenticationFlowRepresentation represents an authentication flow of a realm

type AuthorizationParameters

type AuthorizationParameters struct {
	ResponseType *string `json:"code,omitempty"`
	ClientID     *string `json:"client_id,omitempty"`
	Scope        *string `json:"scope,omitempty"`
	RedirectURI  *string `json:"redirect_uri,omitempty"`
	State        *string `json:"state,omitempty"`
	Nonce        *string `json:"nonce,omitempty"`
	IDTokenHint  *string `json:"id_token_hint,omitempty"`
}

AuthorizationParameters represents the options to obtain get an authorization

func (*AuthorizationParameters) FormData

func (p *AuthorizationParameters) FormData() map[string]string

FormData returns a map of options to be used in SetFormData function

type AuthorizationResponse

type AuthorizationResponse struct {
}

AuthorizationResponse represents the response to an authorization request.

type BruteForceStatus

type BruteForceStatus struct {
	NumFailures   *int    `json:"numFailures,omitempty"`
	Disabled      *bool   `json:"disabled,omitempty"`
	LastIPFailure *string `json:"lastIPFailure,omitempty"`
	LastFailure   *int    `json:"lastFailure,omitempty"`
}

BruteForceStatus is a representation of realm user regarding brute force attack

func (*BruteForceStatus) String

func (v *BruteForceStatus) String() string

type BuiltinProtocolMappers

type BuiltinProtocolMappers struct {
	SAML          []ProtocolMapperRepresentation `json:"saml,omitempty"`
	OpenIDConnect []ProtocolMapperRepresentation `json:"openid-connect,omitempty"`
}

BuiltinProtocolMappers holds the currently available built-in blueprints of ProtocolMapper-s grouped by protocol

type CertResponse

type CertResponse struct {
	Keys *[]CertResponseKey `json:"keys,omitempty"`
}

CertResponse is returned by the certs endpoint

func (*CertResponse) String

func (v *CertResponse) String() string

type CertResponseKey

type CertResponseKey struct {
	Kid     *string   `json:"kid,omitempty"`
	Kty     *string   `json:"kty,omitempty"`
	Alg     *string   `json:"alg,omitempty"`
	Use     *string   `json:"use,omitempty"`
	N       *string   `json:"n,omitempty"`
	E       *string   `json:"e,omitempty"`
	X       *string   `json:"x,omitempty"`
	Y       *string   `json:"y,omitempty"`
	Crv     *string   `json:"crv,omitempty"`
	KeyOps  *[]string `json:"key_ops,omitempty"`
	X5u     *string   `json:"x5u,omitempty"`
	X5c     *[]string `json:"x5c,omitempty"`
	X5t     *string   `json:"x5t,omitempty"`
	X5tS256 *string   `json:"x5t#S256,omitempty"`
}

CertResponseKey is returned by the certs endpoint. JSON Web Key structure is described here: https://self-issued.info/docs/draft-ietf-jose-json-web-key.html#JWKContents

func (*CertResponseKey) String

func (v *CertResponseKey) String() string

Stringer implementations for all struct types

type Client

type Client struct {
	Access                             *map[string]interface{}         `json:"access,omitempty"`
	AdminURL                           *string                         `json:"adminUrl,omitempty"`
	Attributes                         *map[string]string              `json:"attributes,omitempty"`
	AuthenticationFlowBindingOverrides *map[string]string              `json:"authenticationFlowBindingOverrides,omitempty"`
	AuthorizationServicesEnabled       *bool                           `json:"authorizationServicesEnabled,omitempty"`
	AuthorizationSettings              *ResourceServerRepresentation   `json:"authorizationSettings,omitempty"`
	BaseURL                            *string                         `json:"baseUrl,omitempty"`
	BearerOnly                         *bool                           `json:"bearerOnly,omitempty"`
	ClientAuthenticatorType            *string                         `json:"clientAuthenticatorType,omitempty"`
	ClientID                           *string                         `json:"clientId,omitempty"`
	ClientTemplate                     *string                         `json:"clientTemplate,omitempty"`
	ConsentRequired                    *bool                           `json:"consentRequired,omitempty"`
	DefaultClientScopes                *[]string                       `json:"defaultClientScopes,omitempty"`
	DefaultRoles                       *[]string                       `json:"defaultRoles,omitempty"`
	Description                        *string                         `json:"description,omitempty"`
	DirectAccessGrantsEnabled          *bool                           `json:"directAccessGrantsEnabled,omitempty"`
	Enabled                            *bool                           `json:"enabled,omitempty"`
	FrontChannelLogout                 *bool                           `json:"frontchannelLogout,omitempty"`
	FullScopeAllowed                   *bool                           `json:"fullScopeAllowed,omitempty"`
	ID                                 *string                         `json:"id,omitempty"`
	ImplicitFlowEnabled                *bool                           `json:"implicitFlowEnabled,omitempty"`
	Name                               *string                         `json:"name,omitempty"`
	NodeReRegistrationTimeout          *int32                          `json:"nodeReRegistrationTimeout,omitempty"`
	NotBefore                          *int32                          `json:"notBefore,omitempty"`
	OptionalClientScopes               *[]string                       `json:"optionalClientScopes,omitempty"`
	Origin                             *string                         `json:"origin,omitempty"`
	Protocol                           *string                         `json:"protocol,omitempty"`
	ProtocolMappers                    *[]ProtocolMapperRepresentation `json:"protocolMappers,omitempty"`
	PublicClient                       *bool                           `json:"publicClient,omitempty"`
	RedirectURIs                       *[]string                       `json:"redirectUris,omitempty"`
	RegisteredNodes                    *map[string]int                 `json:"registeredNodes,omitempty"`
	RegistrationAccessToken            *string                         `json:"registrationAccessToken,omitempty"`
	RootURL                            *string                         `json:"rootUrl,omitempty"`
	Secret                             *string                         `json:"secret,omitempty"`
	ServiceAccountsEnabled             *bool                           `json:"serviceAccountsEnabled,omitempty"`
	StandardFlowEnabled                *bool                           `json:"standardFlowEnabled,omitempty"`
	SurrogateAuthRequired              *bool                           `json:"surrogateAuthRequired,omitempty"`
	UseTemplateConfig                  *bool                           `json:"useTemplateConfig,omitempty"`
	UseTemplateMappers                 *bool                           `json:"useTemplateMappers,omitempty"`
	UseTemplateScope                   *bool                           `json:"useTemplateScope,omitempty"`
	WebOrigins                         *[]string                       `json:"webOrigins,omitempty"`
}

Client is a ClientRepresentation

func (*Client) String

func (v *Client) String() string

type ClientMappingsRepresentation

type ClientMappingsRepresentation struct {
	ID       *string `json:"id,omitempty"`
	Client   *string `json:"client,omitempty"`
	Mappings *[]Role `json:"mappings,omitempty"`
}

ClientMappingsRepresentation is a client role mappings

func (*ClientMappingsRepresentation) String

type ClientPolicyRepresentation

type ClientPolicyRepresentation struct {
	Clients *[]string `json:"clients,omitempty"`
}

ClientPolicyRepresentation represents client based policies

func (*ClientPolicyRepresentation) String

func (v *ClientPolicyRepresentation) String() string

type ClientScope

type ClientScope struct {
	ID                    *string                `json:"id,omitempty"`
	Name                  *string                `json:"name,omitempty"`
	Type                  *string                `json:"type,omitempty"`
	Description           *string                `json:"description,omitempty"`
	Protocol              *string                `json:"protocol,omitempty"`
	ClientScopeAttributes *ClientScopeAttributes `json:"attributes,omitempty"`
	ProtocolMappers       *[]ProtocolMappers     `json:"protocolMappers,omitempty"`
}

ClientScope is a ClientScope

func (*ClientScope) String

func (v *ClientScope) String() string

type ClientScopeAttributes

type ClientScopeAttributes struct {
	ConsentScreenText      *string `json:"consent.screen.text,omitempty"`
	DisplayOnConsentScreen *string `json:"display.on.consent.screen,omitempty"`
	IncludeInTokenScope    *string `json:"include.in.token.scope,omitempty"`
}

ClientScopeAttributes are attributes of client scopes

func (*ClientScopeAttributes) String

func (v *ClientScopeAttributes) String() string

type Component

type Component struct {
	ID              *string              `json:"id,omitempty"`
	Name            *string              `json:"name,omitempty"`
	ProviderID      *string              `json:"providerId,omitempty"`
	ProviderType    *string              `json:"providerType,omitempty"`
	ParentID        *string              `json:"parentId,omitempty"`
	ComponentConfig *map[string][]string `json:"config,omitempty"`
	SubType         *string              `json:"subType,omitempty"`
}

Component is a component

func (*Component) String

func (v *Component) String() string

type CompositesRepresentation

type CompositesRepresentation struct {
	Client *map[string][]string `json:"client,omitempty"`
	Realm  *[]string            `json:"realm,omitempty"`
}

CompositesRepresentation represents the composite roles of a role

func (*CompositesRepresentation) String

func (v *CompositesRepresentation) String() string

type CreateAuthenticationExecutionFlowRepresentation

type CreateAuthenticationExecutionFlowRepresentation struct {
	Alias       *string `json:"alias,omitempty"`
	Description *string `json:"description,omitempty"`
	Provider    *string `json:"provider,omitempty"`
	Type        *string `json:"type,omitempty"`
}

CreateAuthenticationExecutionFlowRepresentation contains the provider to be used for a new authentication representation

type CreateAuthenticationExecutionRepresentation

type CreateAuthenticationExecutionRepresentation struct {
	Provider *string `json:"provider,omitempty"`
}

CreateAuthenticationExecutionRepresentation contains the provider to be used for a new authentication representation

type CreatePermissionTicketParams

type CreatePermissionTicketParams struct {
	ResourceID     *string              `json:"resource_id,omitempty"`
	ResourceScopes *[]string            `json:"resource_scopes,omitempty"`
	Claims         *map[string][]string `json:"claims,omitempty"`
}

CreatePermissionTicketParams represents the optional parameters for getting a permission ticket

func (*CreatePermissionTicketParams) String

type CredentialRepresentation

type CredentialRepresentation struct {
	// Common part
	CreatedDate *int64  `json:"createdDate,omitempty"`
	Temporary   *bool   `json:"temporary,omitempty"`
	Type        *string `json:"type,omitempty"`
	Value       *string `json:"value,omitempty"`

	// <= v7
	Algorithm         *string             `json:"algorithm,omitempty"`
	Config            *MultiValuedHashMap `json:"config,omitempty"`
	Counter           *int32              `json:"counter,omitempty"`
	Device            *string             `json:"device,omitempty"`
	Digits            *int32              `json:"digits,omitempty"`
	HashIterations    *int32              `json:"hashIterations,omitempty"`
	HashedSaltedValue *string             `json:"hashedSaltedValue,omitempty"`
	Period            *int32              `json:"period,omitempty"`
	Salt              *string             `json:"salt,omitempty"`

	// >= v8
	CredentialData *string `json:"credentialData,omitempty"`
	ID             *string `json:"id,omitempty"`
	Priority       *int32  `json:"priority,omitempty"`
	SecretData     *string `json:"secretData,omitempty"`
	UserLabel      *string `json:"userLabel,omitempty"`
}

CredentialRepresentation is a representations of the credentials v7: https://www.keycloak.org/docs-api/7.0/rest-api/index.html#_credentialrepresentation v8: https://www.keycloak.org/docs-api/8.0/rest-api/index.html#_credentialrepresentation

func (*CredentialRepresentation) String

func (v *CredentialRepresentation) String() string

type DecisionStrategy

type DecisionStrategy string

DecisionStrategy is an enum type for DecisionStrategy of PolicyRepresentation

func DecisionStrategyP

func DecisionStrategyP(value DecisionStrategy) *DecisionStrategy

DecisionStrategyP returns a pointer for a DecisionStrategy value

type EnforcedString

type EnforcedString string

EnforcedString can be used when the expected value is string but Keycloak in some cases gives you mixed types

func (*EnforcedString) MarshalJSON

func (s *EnforcedString) MarshalJSON() ([]byte, error)

MarshalJSON return json marshal

func (*EnforcedString) UnmarshalJSON

func (s *EnforcedString) UnmarshalJSON(data []byte) error

UnmarshalJSON modify data as string before json unmarshal

type EventRepresentation

type EventRepresentation struct {
	Time      int64             `json:"time,omitempty"`
	Type      *string           `json:"type,omitempty"`
	RealmID   *string           `json:"realmId,omitempty"`
	ClientID  *string           `json:"clientId,omitempty"`
	UserID    *string           `json:"userId,omitempty"`
	SessionID *string           `json:"sessionId,omitempty"`
	IPAddress *string           `json:"ipAddress,omitempty"`
	Details   map[string]string `json:"details,omitempty"`
}

EventRepresentation is a representation of a Event

type ExecuteActionsEmail

type ExecuteActionsEmail struct {
	UserID      *string   `json:"-"`
	ClientID    *string   `json:"client_id,omitempty"`
	Lifespan    *int      `json:"lifespan,string,omitempty"`
	RedirectURI *string   `json:"redirect_uri,omitempty"`
	Actions     *[]string `json:"-"`
}

ExecuteActionsEmail represents parameters for executing action emails

func (*ExecuteActionsEmail) String

func (v *ExecuteActionsEmail) String() string

type FederatedIdentityRepresentation

type FederatedIdentityRepresentation struct {
	IdentityProvider *string `json:"identityProvider,omitempty"`
	UserID           *string `json:"userId,omitempty"`
	UserName         *string `json:"userName,omitempty"`
}

FederatedIdentityRepresentation represents an user federated identity

func (*FederatedIdentityRepresentation) String

type GetChildGroupsParams

type GetChildGroupsParams struct {
	BriefRepresentation *bool   `json:"briefRepresentation,string,omitempty"`
	Exact               *bool   `json:"exact,string,omitempty"`
	First               *int    `json:"first,string,omitempty"`
	Max                 *int    `json:"max,string,omitempty"`
	Search              *string `json:"search,omitempty"`
}

GetChildGroupsParams represents the optional parameters for getting child groups

type GetClientUserSessionsParams

type GetClientUserSessionsParams struct {
	First *int `json:"first,string,omitempty"`
	Max   *int `json:"max,string,omitempty"`
}

GetClientUserSessionsParams represents the optional parameters for getting user sessions associated with the client

func (*GetClientUserSessionsParams) String

func (v *GetClientUserSessionsParams) String() string

type GetClientsParams

type GetClientsParams struct {
	ClientID             *string `json:"clientId,omitempty"`
	ViewableOnly         *bool   `json:"viewableOnly,string,omitempty"`
	First                *int    `json:"first,string,omitempty"`
	Max                  *int    `json:"max,string,omitempty"`
	Search               *bool   `json:"search,string,omitempty"`
	SearchableAttributes *string `json:"q,omitempty"`
}

GetClientsParams represents the query parameters

func (*GetClientsParams) String

func (v *GetClientsParams) String() string

type GetComponentsParams

type GetComponentsParams struct {
	Name         *string `json:"name,omitempty"`
	ProviderType *string `json:"provider,omitempty"`
	ParentID     *string `json:"parent,omitempty"`
}

GetComponentsParams represents the optional parameters for getting components

func (*GetComponentsParams) String

func (v *GetComponentsParams) String() string

type GetEventsParams

type GetEventsParams struct {
	Client    *string  `json:"client,omitempty"`
	DateFrom  *string  `json:"dateFrom,omitempty"`
	DateTo    *string  `json:"dateTo,omitempty"`
	First     *int32   `json:"first,string,omitempty"`
	IPAddress *string  `json:"ipAddress,omitempty"`
	Max       *int32   `json:"max,string,omitempty"`
	Type      []string `json:"type,omitempty"`
	UserID    *string  `json:"user,omitempty"`
}

GetEventsParams represents the optional parameters for getting events

type GetGroupsParams

type GetGroupsParams struct {
	BriefRepresentation *bool   `json:"briefRepresentation,string,omitempty"`
	Exact               *bool   `json:"exact,string,omitempty"`
	First               *int    `json:"first,string,omitempty"`
	Full                *bool   `json:"full,string,omitempty"`
	Max                 *int    `json:"max,string,omitempty"`
	Q                   *string `json:"q,omitempty"`
	Search              *string `json:"search,omitempty"`
}

GetGroupsParams represents the optional parameters for getting groups

func (GetGroupsParams) MarshalJSON

func (obj GetGroupsParams) MarshalJSON() ([]byte, error)

MarshalJSON is a custom json marshaling function to automatically set the Full and BriefRepresentation properties for backward compatibility

func (*GetGroupsParams) String

func (obj *GetGroupsParams) String() string

type GetMembersParams

type GetMembersParams struct {
	Exact          *bool           `json:"exact,string,omitempty"`
	First          *int            `json:"first,string,omitempty"`
	Max            *int            `json:"max,string,omitempty"`
	MembershipType *MembershipType `json:"membershipetype,omitempty"`
	Search         *string         `json:"search,omitempty"`
}

GetMembersParams represents the optional parameters for getting members of an organization

func (*GetMembersParams) String

func (v *GetMembersParams) String() string

type GetOrganizationsParams

type GetOrganizationsParams struct {
	BriefRepresentation *bool   `json:"briefRepresentation,string,omitempty"`
	Exact               *bool   `json:"exact,string,omitempty"`
	First               *int    `json:"first,string,omitempty"`
	Max                 *int    `json:"max,string,omitempty"`
	Q                   *string `json:"q,omitempty"`
	Search              *string `json:"search,omitempty"`
}

GetOrganizationsParams represents the optional parameters for getting organizations

func (*GetOrganizationsParams) String

func (v *GetOrganizationsParams) String() string

type GetPermissionParams

type GetPermissionParams struct {
	First    *int    `json:"first,string,omitempty"`
	Max      *int    `json:"max,string,omitempty"`
	Name     *string `json:"name,omitempty"`
	Resource *string `json:"resource,omitempty"`
	Scope    *string `json:"scope,omitempty"`
	Type     *string `json:"type,omitempty"`
}

GetPermissionParams represents the optional parameters for getting permissions

func (*GetPermissionParams) String

func (v *GetPermissionParams) String() string

type GetPolicyParams

type GetPolicyParams struct {
	First      *int    `json:"first,string,omitempty"`
	Max        *int    `json:"max,string,omitempty"`
	Name       *string `json:"name,omitempty"`
	Permission *bool   `json:"permission,string,omitempty"`
	Type       *string `json:"type,omitempty"`
}

GetPolicyParams represents the optional parameters for getting policies TODO: more policy params?

func (*GetPolicyParams) String

func (v *GetPolicyParams) String() string

type GetResourceParams

type GetResourceParams struct {
	Deep        *bool   `json:"deep,string,omitempty"`
	First       *int    `json:"first,string,omitempty"`
	Max         *int    `json:"max,string,omitempty"`
	Name        *string `json:"name,omitempty"`
	Owner       *string `json:"owner,omitempty"`
	Type        *string `json:"type,omitempty"`
	URI         *string `json:"uri,omitempty"`
	Scope       *string `json:"scope,omitempty"`
	MatchingURI *bool   `json:"matchingUri,string,omitempty"`
	ExactName   *bool   `json:"exactName,string,omitempty"`
}

GetResourceParams represents the optional parameters for getting resources

func (*GetResourceParams) String

func (v *GetResourceParams) String() string

type GetResourcePoliciesParams

type GetResourcePoliciesParams struct {
	ResourceID *string `json:"resource,omitempty"`
	Name       *string `json:"name,omitempty"`
	Scope      *string `json:"scope,omitempty"`
	First      *int    `json:"first,string,omitempty"`
	Max        *int    `json:"max,string,omitempty"`
}

GetResourcePoliciesParams is a representation of the query params for getting policies

func (*GetResourcePoliciesParams) String

func (v *GetResourcePoliciesParams) String() string

type GetRoleParams

type GetRoleParams struct {
	First               *int    `json:"first,string,omitempty"`
	Max                 *int    `json:"max,string,omitempty"`
	Search              *string `json:"search,omitempty"`
	BriefRepresentation *bool   `json:"briefRepresentation,string,omitempty"`
}

GetRoleParams represents the optional parameters for getting roles

func (*GetRoleParams) String

func (v *GetRoleParams) String() string

type GetScopeParams

type GetScopeParams struct {
	Deep  *bool   `json:"deep,string,omitempty"`
	First *int    `json:"first,string,omitempty"`
	Max   *int    `json:"max,string,omitempty"`
	Name  *string `json:"name,omitempty"`
}

GetScopeParams represents the optional parameters for getting scopes

func (*GetScopeParams) String

func (v *GetScopeParams) String() string

type GetUserPermissionParams

type GetUserPermissionParams struct {
	ScopeID     *string `json:"scopeId,omitempty"`
	ResourceID  *string `json:"resourceId,omitempty"`
	Owner       *string `json:"owner,omitempty"`
	Requester   *string `json:"requester,omitempty"`
	Granted     *bool   `json:"granted,omitempty"`
	ReturnNames *string `json:"returnNames,omitempty"`
	First       *int    `json:"first,string,omitempty"`
	Max         *int    `json:"max,string,omitempty"`
}

GetUserPermissionParams represents the optional parameters for getting user permissions

func (*GetUserPermissionParams) String

func (v *GetUserPermissionParams) String() string

type GetUsersByRoleParams

type GetUsersByRoleParams struct {
	First *int `json:"first,string,omitempty"`
	Max   *int `json:"max,string,omitempty"`
}

GetUsersByRoleParams represents the optional parameters for getting users by role

func (*GetUsersByRoleParams) String

func (v *GetUsersByRoleParams) String() string

type GetUsersParams

type GetUsersParams struct {
	BriefRepresentation *bool   `json:"briefRepresentation,string,omitempty"`
	Email               *string `json:"email,omitempty"`
	EmailVerified       *bool   `json:"emailVerified,string,omitempty"`
	Enabled             *bool   `json:"enabled,string,omitempty"`
	Exact               *bool   `json:"exact,string,omitempty"`
	First               *int    `json:"first,string,omitempty"`
	FirstName           *string `json:"firstName,omitempty"`
	IDPAlias            *string `json:"idpAlias,omitempty"`
	IDPUserID           *string `json:"idpUserId,omitempty"`
	LastName            *string `json:"lastName,omitempty"`
	Max                 *int    `json:"max,string,omitempty"`
	Q                   *string `json:"q,omitempty"`
	Search              *string `json:"search,omitempty"`
	Username            *string `json:"username,omitempty"`
}

GetUsersParams represents the optional parameters for getting users

func (*GetUsersParams) String

func (v *GetUsersParams) String() string

type GoCloak

type GoCloak struct {
	Config struct {
		CertsInvalidateTime time.Duration
		// contains filtered or unexported fields
	}
	// contains filtered or unexported fields
}

GoCloak provides functionalities to talk to Keycloak.

func NewClient

func NewClient(basePath string, options ...func(*GoCloak)) *GoCloak

NewClient creates a new Client

func (*GoCloak) AddClientRoleComposite

func (g *GoCloak) AddClientRoleComposite(ctx context.Context, token, realm, roleID string, roles []Role) error

AddClientRoleComposite adds roles as composite

func (*GoCloak) AddClientRoleToGroup deprecated

func (g *GoCloak) AddClientRoleToGroup(ctx context.Context, token, realm, idOfClient, groupID string, roles []Role) error

AddClientRoleToGroup adds a client role to the group

Deprecated: replaced by AddClientRolesToGroup

func (*GoCloak) AddClientRoleToUser deprecated

func (g *GoCloak) AddClientRoleToUser(ctx context.Context, token, realm, idOfClient, userID string, roles []Role) error

AddClientRoleToUser adds client-level role mappings

Deprecated: replaced by AddClientRolesToUser

func (*GoCloak) AddClientRolesToGroup

func (g *GoCloak) AddClientRolesToGroup(ctx context.Context, token, realm, idOfClient, groupID string, roles []Role) error

AddClientRolesToGroup adds a client role to the group

func (*GoCloak) AddClientRolesToUser

func (g *GoCloak) AddClientRolesToUser(ctx context.Context, token, realm, idOfClient, userID string, roles []Role) error

AddClientRolesToUser adds client-level role mappings

func (*GoCloak) AddDefaultGroup

func (g *GoCloak) AddDefaultGroup(ctx context.Context, token, realm, groupID string) error

AddDefaultGroup adds group to the list of default groups

func (*GoCloak) AddDefaultScopeToClient

func (g *GoCloak) AddDefaultScopeToClient(ctx context.Context, token, realm, idOfClient, scopeID string) error

AddDefaultScopeToClient adds a client scope to the list of client's default scopes

func (*GoCloak) AddOptionalScopeToClient

func (g *GoCloak) AddOptionalScopeToClient(ctx context.Context, token, realm, idOfClient, scopeID string) error

AddOptionalScopeToClient adds a client scope to the list of client's optional scopes

func (*GoCloak) AddOrganizationIdentityProvider

func (g *GoCloak) AddOrganizationIdentityProvider(ctx context.Context, token, realm, idOfOrganization string, idOrAliasOfIdentityProvider string) error

AddOrganizationIdentityProvider adds the identity provider with the specified id to the organization

func (*GoCloak) AddRealmRoleComposite

func (g *GoCloak) AddRealmRoleComposite(ctx context.Context, token, realm, roleName string, roles []Role) error

AddRealmRoleComposite adds a role to the composite.

func (*GoCloak) AddRealmRoleToGroup

func (g *GoCloak) AddRealmRoleToGroup(ctx context.Context, token, realm, groupID string, roles []Role) error

AddRealmRoleToGroup adds realm-level role mappings

func (*GoCloak) AddRealmRoleToUser

func (g *GoCloak) AddRealmRoleToUser(ctx context.Context, token, realm, userID string, roles []Role) error

AddRealmRoleToUser adds realm-level role mappings

func (*GoCloak) AddUserToGroup

func (g *GoCloak) AddUserToGroup(ctx context.Context, token, realm, userID, groupID string) error

AddUserToGroup puts given user to given group

func (*GoCloak) AddUserToOrganization

func (g *GoCloak) AddUserToOrganization(ctx context.Context, token, realm, idOfOrganization, idOfUser string) error

AddUserToOrganization adds the user with the specified id as a member of the organization Adds, or associates, an existing user with the organization. If no user is found, or if it is already associated with the organization, an error response is returned No invitation email is sent to the user

func (*GoCloak) ClearKeysCache

func (g *GoCloak) ClearKeysCache(ctx context.Context, token, realm string) error

ClearKeysCache clears realm cache

func (*GoCloak) ClearRealmCache

func (g *GoCloak) ClearRealmCache(ctx context.Context, token, realm string) error

ClearRealmCache clears realm cache

func (*GoCloak) ClearUserCache

func (g *GoCloak) ClearUserCache(ctx context.Context, token, realm string) error

ClearUserCache clears realm cache

func (*GoCloak) CreateAuthenticationExecution

func (g *GoCloak) CreateAuthenticationExecution(ctx context.Context, token, realm, flow string, execution CreateAuthenticationExecutionRepresentation) error

CreateAuthenticationExecution creates a new execution for the given flow name in the given realm

func (*GoCloak) CreateAuthenticationExecutionFlow

func (g *GoCloak) CreateAuthenticationExecutionFlow(ctx context.Context, token, realm, flow string, executionFlow CreateAuthenticationExecutionFlowRepresentation) error

CreateAuthenticationExecutionFlow creates a new execution for the given flow name in the given realm

func (*GoCloak) CreateAuthenticationFlow

func (g *GoCloak) CreateAuthenticationFlow(ctx context.Context, token, realm string, flow AuthenticationFlowRepresentation) error

CreateAuthenticationFlow creates a new Authentication flow in a realm

func (*GoCloak) CreateChildGroup

func (g *GoCloak) CreateChildGroup(ctx context.Context, token, realm, groupID string, group Group) (string, error)

CreateChildGroup creates a new child group

func (*GoCloak) CreateClient

func (g *GoCloak) CreateClient(ctx context.Context, accessToken, realm string, newClient Client) (string, error)

CreateClient creates the given client

func (*GoCloak) CreateClientProtocolMapper

func (g *GoCloak) CreateClientProtocolMapper(ctx context.Context, token, realm, idOfClient string, mapper ProtocolMapperRepresentation) (string, error)

CreateClientProtocolMapper creates a protocol mapper in client scope

func (*GoCloak) CreateClientRepresentation

func (g *GoCloak) CreateClientRepresentation(ctx context.Context, token, realm string, newClient Client) (*Client, error)

CreateClientRepresentation creates a new client representation

func (*GoCloak) CreateClientRole

func (g *GoCloak) CreateClientRole(ctx context.Context, token, realm, idOfClient string, role Role) (string, error)

CreateClientRole creates a new role for a client

func (*GoCloak) CreateClientScope

func (g *GoCloak) CreateClientScope(ctx context.Context, token, realm string, scope ClientScope) (string, error)

CreateClientScope creates a new client scope

func (*GoCloak) CreateClientScopeMappingsClientRoles

func (g *GoCloak) CreateClientScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClient, idOfSelectedClient string, roles []Role) error

CreateClientScopeMappingsClientRoles creates client-level roles from the client’s scope

func (*GoCloak) CreateClientScopeMappingsRealmRoles

func (g *GoCloak) CreateClientScopeMappingsRealmRoles(ctx context.Context, token, realm, idOfClient string, roles []Role) error

CreateClientScopeMappingsRealmRoles create realm-level roles to the client’s scope

func (*GoCloak) CreateClientScopeProtocolMapper

func (g *GoCloak) CreateClientScopeProtocolMapper(ctx context.Context, token, realm, scopeID string, protocolMapper ProtocolMappers) (string, error)

CreateClientScopeProtocolMapper creates a new protocolMapper under the given client scope

func (*GoCloak) CreateClientScopesScopeMappingsClientRoles

func (g *GoCloak) CreateClientScopesScopeMappingsClientRoles(
	ctx context.Context, token, realm, idOfClientScope, idOfClient string, roles []Role,
) error

CreateClientScopesScopeMappingsClientRoles attaches a client role to a client scope (not client's scope)

func (*GoCloak) CreateClientScopesScopeMappingsRealmRoles

func (g *GoCloak) CreateClientScopesScopeMappingsRealmRoles(ctx context.Context, token, realm, clientScopeID string, roles []Role) error

CreateClientScopesScopeMappingsRealmRoles creates realm-level roles to the client scope

func (*GoCloak) CreateComponent

func (g *GoCloak) CreateComponent(ctx context.Context, token, realm string, component Component) (string, error)

CreateComponent creates the given component.

func (*GoCloak) CreateGroup

func (g *GoCloak) CreateGroup(ctx context.Context, token, realm string, group Group) (string, error)

CreateGroup creates a new group.

func (*GoCloak) CreateIdentityProvider

func (g *GoCloak) CreateIdentityProvider(ctx context.Context, token string, realm string, providerRep IdentityProviderRepresentation) (string, error)

CreateIdentityProvider creates an identity provider in a realm

func (*GoCloak) CreateIdentityProviderMapper

func (g *GoCloak) CreateIdentityProviderMapper(ctx context.Context, token, realm, alias string, mapper IdentityProviderMapper) (string, error)

CreateIdentityProviderMapper creates an instance of an identity provider mapper associated with the given alias

func (*GoCloak) CreateOrganization

func (g *GoCloak) CreateOrganization(ctx context.Context, token, realm string, organization OrganizationRepresentation) (string, error)

CreateOrganization creates a new Organization

func (*GoCloak) CreatePermission

func (g *GoCloak) CreatePermission(ctx context.Context, token, realm, idOfClient string, permission PermissionRepresentation) (*PermissionRepresentation, error)

CreatePermission creates a permission associated with the client

func (*GoCloak) CreatePermissionTicket

func (g *GoCloak) CreatePermissionTicket(ctx context.Context, token, realm string, permissions []CreatePermissionTicketParams) (*PermissionTicketResponseRepresentation, error)

CreatePermissionTicket creates a permission ticket, using access token from client

func (*GoCloak) CreatePolicy

func (g *GoCloak) CreatePolicy(ctx context.Context, token, realm, idOfClient string, policy PolicyRepresentation) (*PolicyRepresentation, error)

CreatePolicy creates a policy associated with the client

func (*GoCloak) CreateRealm

func (g *GoCloak) CreateRealm(ctx context.Context, token string, realm RealmRepresentation) (string, error)

CreateRealm creates a realm

func (*GoCloak) CreateRealmRole

func (g *GoCloak) CreateRealmRole(ctx context.Context, token string, realm string, role Role) (string, error)

CreateRealmRole creates a role in a realm

func (*GoCloak) CreateResource

func (g *GoCloak) CreateResource(ctx context.Context, token, realm string, idOfClient string, resource ResourceRepresentation) (*ResourceRepresentation, error)

CreateResource creates a resource associated with the client, using access token from admin

func (*GoCloak) CreateResourceClient

func (g *GoCloak) CreateResourceClient(ctx context.Context, token, realm string, resource ResourceRepresentation) (*ResourceRepresentation, error)

CreateResourceClient creates a resource associated with the client, using access token from client

func (*GoCloak) CreateResourcePolicy

func (g *GoCloak) CreateResourcePolicy(ctx context.Context, token, realm, resourceID string, policy ResourcePolicyRepresentation) (*ResourcePolicyRepresentation, error)

CreateResourcePolicy associates a permission with a specific resource, using token obtained by Resource Owner Password Credentials Grant or Token exchange

func (*GoCloak) CreateScope

func (g *GoCloak) CreateScope(ctx context.Context, token, realm, idOfClient string, scope ScopeRepresentation) (*ScopeRepresentation, error)

CreateScope creates a scope associated with the client

func (*GoCloak) CreateUser

func (g *GoCloak) CreateUser(ctx context.Context, token, realm string, user User) (string, error)

CreateUser creates the given user in the given realm and returns it's userID Note: Keycloak has not documented what members of the User object are actually being accepted, when creating a user. Things like RealmRoles must be attached using followup calls to the respective functions.

func (*GoCloak) CreateUserFederatedIdentity

func (g *GoCloak) CreateUserFederatedIdentity(ctx context.Context, token, realm, userID, providerID string, federatedIdentityRep FederatedIdentityRepresentation) error

CreateUserFederatedIdentity creates an user federated identity

func (*GoCloak) DecodeAccessToken

func (g *GoCloak) DecodeAccessToken(ctx context.Context, accessToken, realm string) (*jwt.Token, *jwt.MapClaims, error)

DecodeAccessToken decodes the accessToken

func (*GoCloak) DecodeAccessTokenCustomClaims

func (g *GoCloak) DecodeAccessTokenCustomClaims(ctx context.Context, accessToken, realm string, claims jwt.Claims) (*jwt.Token, error)

DecodeAccessTokenCustomClaims decodes the accessToken and writes claims into the given claims

func (*GoCloak) DeleteAuthenticationExecution

func (g *GoCloak) DeleteAuthenticationExecution(ctx context.Context, token, realm, executionID string) error

DeleteAuthenticationExecution delete a single execution with the given ID

func (*GoCloak) DeleteAuthenticationFlow

func (g *GoCloak) DeleteAuthenticationFlow(ctx context.Context, token, realm, flowID string) error

DeleteAuthenticationFlow deletes a flow in a realm with the given ID

func (*GoCloak) DeleteClient

func (g *GoCloak) DeleteClient(ctx context.Context, token, realm, idOfClient string) error

DeleteClient deletes a given client

func (*GoCloak) DeleteClientProtocolMapper

func (g *GoCloak) DeleteClientProtocolMapper(ctx context.Context, token, realm, idOfClient, mapperID string) error

DeleteClientProtocolMapper deletes a protocol mapper in client scope

func (*GoCloak) DeleteClientRepresentation

func (g *GoCloak) DeleteClientRepresentation(ctx context.Context, accessToken, realm, clientID string) error

DeleteClientRepresentation deletes a given client representation.

func (*GoCloak) DeleteClientRole

func (g *GoCloak) DeleteClientRole(ctx context.Context, token, realm, idOfClient, roleName string) error

DeleteClientRole deletes a given role.

func (*GoCloak) DeleteClientRoleComposite

func (g *GoCloak) DeleteClientRoleComposite(ctx context.Context, token, realm, roleID string, roles []Role) error

DeleteClientRoleComposite deletes composites from a role

func (*GoCloak) DeleteClientRoleFromGroup

func (g *GoCloak) DeleteClientRoleFromGroup(ctx context.Context, token, realm, idOfClient, groupID string, roles []Role) error

DeleteClientRoleFromGroup removes a client role from from the group

func (*GoCloak) DeleteClientRoleFromUser deprecated

func (g *GoCloak) DeleteClientRoleFromUser(ctx context.Context, token, realm, idOfClient, userID string, roles []Role) error

DeleteClientRoleFromUser adds client-level role mappings

Deprecated: replaced by DeleteClientRolesFrom

func (*GoCloak) DeleteClientRolesFromUser

func (g *GoCloak) DeleteClientRolesFromUser(ctx context.Context, token, realm, idOfClient, userID string, roles []Role) error

DeleteClientRolesFromUser adds client-level role mappings

func (*GoCloak) DeleteClientScope

func (g *GoCloak) DeleteClientScope(ctx context.Context, token, realm, scopeID string) error

DeleteClientScope deletes the scope with the given id.

func (*GoCloak) DeleteClientScopeMappingsClientRoles

func (g *GoCloak) DeleteClientScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClient, idOfSelectedClient string, roles []Role) error

DeleteClientScopeMappingsClientRoles deletes client-level roles from the client’s scope

func (*GoCloak) DeleteClientScopeMappingsRealmRoles

func (g *GoCloak) DeleteClientScopeMappingsRealmRoles(ctx context.Context, token, realm, idOfClient string, roles []Role) error

DeleteClientScopeMappingsRealmRoles deletes realm-level roles from the client’s scope

func (*GoCloak) DeleteClientScopeProtocolMapper

func (g *GoCloak) DeleteClientScopeProtocolMapper(ctx context.Context, token, realm, scopeID, protocolMapperID string) error

DeleteClientScopeProtocolMapper deletes the given protocol mapper from the client scope

func (*GoCloak) DeleteClientScopesScopeMappingsClientRoles

func (g *GoCloak) DeleteClientScopesScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClientScope, idOfClient string, roles []Role) error

DeleteClientScopesScopeMappingsClientRoles removes attachment of client roles from a client scope (not client's scope).

func (*GoCloak) DeleteClientScopesScopeMappingsRealmRoles

func (g *GoCloak) DeleteClientScopesScopeMappingsRealmRoles(ctx context.Context, token, realm, clientScopeID string, roles []Role) error

DeleteClientScopesScopeMappingsRealmRoles deletes realm-level roles from the client-scope

func (*GoCloak) DeleteComponent

func (g *GoCloak) DeleteComponent(ctx context.Context, token, realm, componentID string) error

DeleteComponent deletes the component with the given id.

func (*GoCloak) DeleteCredentials

func (g *GoCloak) DeleteCredentials(ctx context.Context, token, realm, userID, credentialID string) error

DeleteCredentials deletes the given credential for a given user

func (*GoCloak) DeleteGroup

func (g *GoCloak) DeleteGroup(ctx context.Context, token, realm, groupID string) error

DeleteGroup deletes the group with the given groupID.

func (*GoCloak) DeleteIdentityProvider

func (g *GoCloak) DeleteIdentityProvider(ctx context.Context, token, realm, alias string) error

DeleteIdentityProvider deletes the identity provider in a realm

func (*GoCloak) DeleteIdentityProviderMapper

func (g *GoCloak) DeleteIdentityProviderMapper(ctx context.Context, token, realm, alias, mapperID string) error

DeleteIdentityProviderMapper deletes an instance of an identity provider mapper associated with the given alias and mapper ID

func (*GoCloak) DeleteOrganization

func (g *GoCloak) DeleteOrganization(ctx context.Context, token, realm, idOfOrganization string) error

DeleteOrganization deletes the organization

func (*GoCloak) DeletePermission

func (g *GoCloak) DeletePermission(ctx context.Context, token, realm, idOfClient, permissionID string) error

DeletePermission deletes a policy associated with the client

func (*GoCloak) DeletePolicy

func (g *GoCloak) DeletePolicy(ctx context.Context, token, realm, idOfClient, policyID string) error

DeletePolicy deletes a policy associated with the client

func (*GoCloak) DeleteRealm

func (g *GoCloak) DeleteRealm(ctx context.Context, token, realm string) error

DeleteRealm removes a realm

func (*GoCloak) DeleteRealmRole

func (g *GoCloak) DeleteRealmRole(ctx context.Context, token, realm, roleName string) error

DeleteRealmRole deletes a role in a realm by role's name

func (*GoCloak) DeleteRealmRoleComposite

func (g *GoCloak) DeleteRealmRoleComposite(ctx context.Context, token, realm, roleName string, roles []Role) error

DeleteRealmRoleComposite deletes a role from the composite.

func (*GoCloak) DeleteRealmRoleFromGroup

func (g *GoCloak) DeleteRealmRoleFromGroup(ctx context.Context, token, realm, groupID string, roles []Role) error

DeleteRealmRoleFromGroup deletes realm-level role mappings

func (*GoCloak) DeleteRealmRoleFromUser

func (g *GoCloak) DeleteRealmRoleFromUser(ctx context.Context, token, realm, userID string, roles []Role) error

DeleteRealmRoleFromUser deletes realm-level role mappings

func (*GoCloak) DeleteRequiredAction

func (g *GoCloak) DeleteRequiredAction(ctx context.Context, token string, realm string, alias string) error

DeleteRequiredAction updates a required action for a given realm

func (*GoCloak) DeleteResource

func (g *GoCloak) DeleteResource(ctx context.Context, token, realm, idOfClient, resourceID string) error

DeleteResource deletes a resource associated with the client (using an admin token)

func (*GoCloak) DeleteResourceClient

func (g *GoCloak) DeleteResourceClient(ctx context.Context, token, realm, resourceID string) error

DeleteResourceClient deletes a resource associated with the client (using a client token)

func (*GoCloak) DeleteResourcePolicy

func (g *GoCloak) DeleteResourcePolicy(ctx context.Context, token, realm, permissionID string) error

DeleteResourcePolicy deletes a permission for a specific resource, using token obtained by Resource Owner Password Credentials Grant or Token exchange

func (*GoCloak) DeleteScope

func (g *GoCloak) DeleteScope(ctx context.Context, token, realm, idOfClient, scopeID string) error

DeleteScope deletes a scope associated with the client

func (*GoCloak) DeleteUser

func (g *GoCloak) DeleteUser(ctx context.Context, token, realm, userID string) error

DeleteUser delete a given user

func (*GoCloak) DeleteUserFederatedIdentity

func (g *GoCloak) DeleteUserFederatedIdentity(ctx context.Context, token, realm, userID, providerID string) error

DeleteUserFederatedIdentity deletes an user federated identity

func (*GoCloak) DeleteUserFromGroup

func (g *GoCloak) DeleteUserFromGroup(ctx context.Context, token, realm, userID, groupID string) error

DeleteUserFromGroup deletes given user from given group

func (*GoCloak) DeleteUserPermission

func (g *GoCloak) DeleteUserPermission(ctx context.Context, token, realm, ticketID string) error

DeleteUserPermission revokes permissions according query parameters

func (*GoCloak) DirectNakedImpersonationTokenExchange

func (g *GoCloak) DirectNakedImpersonationTokenExchange(ctx context.Context, clientID, clientSecret, realm, userID string) (*JWT, error)

DirectNakedImpersonationTokenExchange performs "Direct Naked Impersonation" See: https://www.keycloak.org/docs/latest/securing_apps/index.html#direct-naked-impersonation

func (*GoCloak) DisableAllCredentialsByType

func (g *GoCloak) DisableAllCredentialsByType(ctx context.Context, token, realm, userID string, types []string) error

DisableAllCredentialsByType disables all credentials for a user of a specific type

func (*GoCloak) ExecuteActionsEmail

func (g *GoCloak) ExecuteActionsEmail(ctx context.Context, token, realm string, params ExecuteActionsEmail) error

ExecuteActionsEmail executes an actions email

func (*GoCloak) ExportIDPPublicBrokerConfig

func (g *GoCloak) ExportIDPPublicBrokerConfig(ctx context.Context, token, realm, alias string) (*string, error)

ExportIDPPublicBrokerConfig exports the broker config for a given alias

func (*GoCloak) GetAdapterConfiguration

func (g *GoCloak) GetAdapterConfiguration(ctx context.Context, accessToken, realm, clientID string) (*AdapterConfiguration, error)

GetAdapterConfiguration returns a adapter configuration

func (*GoCloak) GetAuthenticationExecutions

func (g *GoCloak) GetAuthenticationExecutions(ctx context.Context, token, realm, flow string) ([]*ModifyAuthenticationExecutionRepresentation, error)

GetAuthenticationExecutions retrieves all executions of a given flow

func (*GoCloak) GetAuthenticationFlow

func (g *GoCloak) GetAuthenticationFlow(ctx context.Context, token, realm string, authenticationFlowID string) (*AuthenticationFlowRepresentation, error)

GetAuthenticationFlow get an authentication flow with the given ID

func (*GoCloak) GetAuthenticationFlows

func (g *GoCloak) GetAuthenticationFlows(ctx context.Context, token, realm string) ([]*AuthenticationFlowRepresentation, error)

GetAuthenticationFlows get all authentication flows from a realm

func (*GoCloak) GetAuthorizationPolicyAssociatedPolicies

func (g *GoCloak) GetAuthorizationPolicyAssociatedPolicies(ctx context.Context, token, realm, idOfClient, policyID string) ([]*PolicyRepresentation, error)

GetAuthorizationPolicyAssociatedPolicies returns a client's associated policies of specific policy with the given policy id, using access token from admin

func (*GoCloak) GetAuthorizationPolicyResources

func (g *GoCloak) GetAuthorizationPolicyResources(ctx context.Context, token, realm, idOfClient, policyID string) ([]*PolicyResourceRepresentation, error)

GetAuthorizationPolicyResources returns a client's resources of specific policy with the given policy id, using access token from admin

func (*GoCloak) GetAuthorizationPolicyScopes

func (g *GoCloak) GetAuthorizationPolicyScopes(ctx context.Context, token, realm, idOfClient, policyID string) ([]*PolicyScopeRepresentation, error)

GetAuthorizationPolicyScopes returns a client's scopes of specific policy with the given policy id, using access token from admin

func (*GoCloak) GetAvailableClientRolesByGroupID

func (g *GoCloak) GetAvailableClientRolesByGroupID(ctx context.Context, token, realm, idOfClient, groupID string) ([]*Role, error)

GetAvailableClientRolesByGroupID returns all available roles to the given group

func (*GoCloak) GetAvailableClientRolesByUserID

func (g *GoCloak) GetAvailableClientRolesByUserID(ctx context.Context, token, realm, idOfClient, userID string) ([]*Role, error)

GetAvailableClientRolesByUserID returns all available client roles to the given user

func (*GoCloak) GetAvailableRealmRolesByGroupID

func (g *GoCloak) GetAvailableRealmRolesByGroupID(ctx context.Context, token, realm, groupID string) ([]*Role, error)

GetAvailableRealmRolesByGroupID returns all available realm roles to the given group

func (*GoCloak) GetAvailableRealmRolesByUserID

func (g *GoCloak) GetAvailableRealmRolesByUserID(ctx context.Context, token, realm, userID string) ([]*Role, error)

GetAvailableRealmRolesByUserID returns all available realm roles to the given user

func (*GoCloak) GetCerts

func (g *GoCloak) GetCerts(ctx context.Context, realm string) (*CertResponse, error)

GetCerts fetches certificates for the given realm from the public /open-id-connect/certs endpoint

func (*GoCloak) GetChildGroups

func (g *GoCloak) GetChildGroups(ctx context.Context, token, realm, groupID string, params GetChildGroupsParams) ([]*Group, error)

GetChildGroups get child groups of group with id in realm

func (*GoCloak) GetClient

func (g *GoCloak) GetClient(ctx context.Context, token, realm, idOfClient string) (*Client, error)

GetClient returns a client

func (*GoCloak) GetClientManagementPermissions

func (g *GoCloak) GetClientManagementPermissions(ctx context.Context, token, realm string, idOfClient string) (*ManagementPermissionRepresentation, error)

GetClientManagementPermissions returns whether client Authorization permissions have been initialized or not and a reference to the managed permissions

func (*GoCloak) GetClientOfflineSessions

func (g *GoCloak) GetClientOfflineSessions(ctx context.Context, token, realm, idOfClient string, params ...GetClientUserSessionsParams) ([]*UserSessionRepresentation, error)

GetClientOfflineSessions returns offline sessions associated with the client

func (*GoCloak) GetClientRepresentation

func (g *GoCloak) GetClientRepresentation(ctx context.Context, accessToken, realm, clientID string) (*Client, error)

GetClientRepresentation returns a client representation

func (*GoCloak) GetClientRole

func (g *GoCloak) GetClientRole(ctx context.Context, token, realm, idOfClient, roleName string) (*Role, error)

GetClientRole get a role for the given client in a realm by role name

func (*GoCloak) GetClientRoleByID

func (g *GoCloak) GetClientRoleByID(ctx context.Context, token, realm, roleID string) (*Role, error)

GetClientRoleByID gets role for the given client in realm using role ID

func (*GoCloak) GetClientRoles

func (g *GoCloak) GetClientRoles(ctx context.Context, token, realm, idOfClient string, params GetRoleParams) ([]*Role, error)

GetClientRoles get all roles for the given client in realm

func (*GoCloak) GetClientRolesByGroupID

func (g *GoCloak) GetClientRolesByGroupID(ctx context.Context, token, realm, idOfClient, groupID string) ([]*Role, error)

GetClientRolesByGroupID returns all client roles assigned to the given group

func (*GoCloak) GetClientRolesByUserID

func (g *GoCloak) GetClientRolesByUserID(ctx context.Context, token, realm, idOfClient, userID string) ([]*Role, error)

GetClientRolesByUserID returns all client roles assigned to the given user

func (*GoCloak) GetClientScope

func (g *GoCloak) GetClientScope(ctx context.Context, token, realm, scopeID string) (*ClientScope, error)

GetClientScope returns a clientscope

func (*GoCloak) GetClientScopeMappings

func (g *GoCloak) GetClientScopeMappings(ctx context.Context, token, realm, idOfClient string) (*MappingsRepresentation, error)

GetClientScopeMappings returns all scope mappings for the client

func (*GoCloak) GetClientScopeMappingsClientRoles

func (g *GoCloak) GetClientScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClient, idOfSelectedClient string) ([]*Role, error)

GetClientScopeMappingsClientRoles returns roles associated with a client’s scope

func (*GoCloak) GetClientScopeMappingsClientRolesAvailable

func (g *GoCloak) GetClientScopeMappingsClientRolesAvailable(ctx context.Context, token, realm, idOfClient, idOfSelectedClient string) ([]*Role, error)

GetClientScopeMappingsClientRolesAvailable returns available roles associated with a client’s scope

func (*GoCloak) GetClientScopeMappingsRealmRoles

func (g *GoCloak) GetClientScopeMappingsRealmRoles(ctx context.Context, token, realm, idOfClient string) ([]*Role, error)

GetClientScopeMappingsRealmRoles returns realm-level roles associated with the client’s scope

func (*GoCloak) GetClientScopeMappingsRealmRolesAvailable

func (g *GoCloak) GetClientScopeMappingsRealmRolesAvailable(ctx context.Context, token, realm, idOfClient string) ([]*Role, error)

GetClientScopeMappingsRealmRolesAvailable returns realm-level roles that are available to attach to this client’s scope

func (*GoCloak) GetClientScopeProtocolMapper

func (g *GoCloak) GetClientScopeProtocolMapper(ctx context.Context, token, realm, scopeID, protocolMapperID string) (*ProtocolMappers, error)

GetClientScopeProtocolMapper returns a protocol mapper of a client scope

func (*GoCloak) GetClientScopeProtocolMappers

func (g *GoCloak) GetClientScopeProtocolMappers(ctx context.Context, token, realm, scopeID string) ([]*ProtocolMappers, error)

GetClientScopeProtocolMappers returns all protocol mappers of a client scope

func (*GoCloak) GetClientScopes

func (g *GoCloak) GetClientScopes(ctx context.Context, token, realm string) ([]*ClientScope, error)

GetClientScopes returns all client scopes

func (*GoCloak) GetClientScopesScopeMappingsClientRoles

func (g *GoCloak) GetClientScopesScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClientScope, idOfClient string) ([]*Role, error)

GetClientScopesScopeMappingsClientRoles returns attached client roles for a specific client, for a client scope (not client's scope).

func (*GoCloak) GetClientScopesScopeMappingsClientRolesAvailable

func (g *GoCloak) GetClientScopesScopeMappingsClientRolesAvailable(ctx context.Context, token, realm, idOfClientScope, idOfClient string) ([]*Role, error)

GetClientScopesScopeMappingsClientRolesAvailable returns available (i.e. not attached via CreateClientScopesScopeMappingsClientRoles) client roles for a specific client, for a client scope (not client's scope).

func (*GoCloak) GetClientScopesScopeMappingsRealmRoles

func (g *GoCloak) GetClientScopesScopeMappingsRealmRoles(ctx context.Context, token, realm, clientScopeID string) ([]*Role, error)

GetClientScopesScopeMappingsRealmRoles returns roles associated with a client-scope

func (*GoCloak) GetClientScopesScopeMappingsRealmRolesAvailable

func (g *GoCloak) GetClientScopesScopeMappingsRealmRolesAvailable(ctx context.Context, token, realm, clientScopeID string) ([]*Role, error)

GetClientScopesScopeMappingsRealmRolesAvailable returns realm-level roles that are available to attach to this client scope

func (*GoCloak) GetClientSecret

func (g *GoCloak) GetClientSecret(ctx context.Context, token, realm, idOfClient string) (*CredentialRepresentation, error)

GetClientSecret returns a client's secret

func (*GoCloak) GetClientServiceAccount

func (g *GoCloak) GetClientServiceAccount(ctx context.Context, token, realm, idOfClient string) (*User, error)

GetClientServiceAccount retrieves the service account "user" for a client if enabled

func (*GoCloak) GetClientUserSessions

func (g *GoCloak) GetClientUserSessions(ctx context.Context, token, realm, idOfClient string, params ...GetClientUserSessionsParams) ([]*UserSessionRepresentation, error)

GetClientUserSessions returns user sessions associated with the client

func (*GoCloak) GetClients

func (g *GoCloak) GetClients(ctx context.Context, token, realm string, params GetClientsParams) ([]*Client, error)

GetClients gets all clients in realm

func (*GoCloak) GetClientsDefaultScopes

func (g *GoCloak) GetClientsDefaultScopes(ctx context.Context, token, realm, idOfClient string) ([]*ClientScope, error)

GetClientsDefaultScopes returns a list of the client's default scopes

func (*GoCloak) GetClientsOptionalScopes

func (g *GoCloak) GetClientsOptionalScopes(ctx context.Context, token, realm, idOfClient string) ([]*ClientScope, error)

GetClientsOptionalScopes returns a list of the client's optional scopes

func (*GoCloak) GetComponent

func (g *GoCloak) GetComponent(ctx context.Context, token, realm string, componentID string) (*Component, error)

GetComponent get exactly one component by ID

func (*GoCloak) GetComponents

func (g *GoCloak) GetComponents(ctx context.Context, token, realm string) ([]*Component, error)

GetComponents get all components in realm

func (*GoCloak) GetComponentsWithParams

func (g *GoCloak) GetComponentsWithParams(ctx context.Context, token, realm string, params GetComponentsParams) ([]*Component, error)

GetComponentsWithParams get all components in realm with query params

func (*GoCloak) GetCompositeClientRolesByGroupID

func (g *GoCloak) GetCompositeClientRolesByGroupID(ctx context.Context, token, realm, idOfClient, groupID string) ([]*Role, error)

GetCompositeClientRolesByGroupID returns all client roles and composite roles assigned to the given group

func (*GoCloak) GetCompositeClientRolesByRoleID

func (g *GoCloak) GetCompositeClientRolesByRoleID(ctx context.Context, token, realm, idOfClient, roleID string) ([]*Role, error)

GetCompositeClientRolesByRoleID returns all client composite roles associated with the given client role

func (*GoCloak) GetCompositeClientRolesByUserID

func (g *GoCloak) GetCompositeClientRolesByUserID(ctx context.Context, token, realm, idOfClient, userID string) ([]*Role, error)

GetCompositeClientRolesByUserID returns all client roles and composite roles assigned to the given user

func (*GoCloak) GetCompositeRealmRoles

func (g *GoCloak) GetCompositeRealmRoles(ctx context.Context, token, realm, roleName string) ([]*Role, error)

GetCompositeRealmRoles returns all realm composite roles associated with the given realm role

func (*GoCloak) GetCompositeRealmRolesByGroupID

func (g *GoCloak) GetCompositeRealmRolesByGroupID(ctx context.Context, token, realm, groupID string) ([]*Role, error)

GetCompositeRealmRolesByGroupID returns all realm roles and composite roles assigned to the given group

func (*GoCloak) GetCompositeRealmRolesByRoleID

func (g *GoCloak) GetCompositeRealmRolesByRoleID(ctx context.Context, token, realm, roleID string) ([]*Role, error)

GetCompositeRealmRolesByRoleID returns all realm composite roles associated with the given client role

func (*GoCloak) GetCompositeRealmRolesByUserID

func (g *GoCloak) GetCompositeRealmRolesByUserID(ctx context.Context, token, realm, userID string) ([]*Role, error)

GetCompositeRealmRolesByUserID returns all realm roles and composite roles assigned to the given user

func (*GoCloak) GetCompositeRolesByRoleID

func (g *GoCloak) GetCompositeRolesByRoleID(ctx context.Context, token, realm, roleID string) ([]*Role, error)

GetCompositeRolesByRoleID returns all realm composite roles associated with the given client role

func (*GoCloak) GetConfiguredUserStorageCredentialTypes

func (g *GoCloak) GetConfiguredUserStorageCredentialTypes(ctx context.Context, token, realm, userID string) ([]string, error)

GetConfiguredUserStorageCredentialTypes returns credential types, which are provided by the user storage where user is stored

func (*GoCloak) GetCredentialRegistrators

func (g *GoCloak) GetCredentialRegistrators(ctx context.Context, token, realm string) ([]string, error)

GetCredentialRegistrators returns credentials registrators

func (*GoCloak) GetCredentials

func (g *GoCloak) GetCredentials(ctx context.Context, token, realm, userID string) ([]*CredentialRepresentation, error)

GetCredentials returns credentials available for a given user

func (*GoCloak) GetDefaultDefaultClientScopes

func (g *GoCloak) GetDefaultDefaultClientScopes(ctx context.Context, token, realm string) ([]*ClientScope, error)

GetDefaultDefaultClientScopes returns a list of default realm default scopes

func (*GoCloak) GetDefaultGroups

func (g *GoCloak) GetDefaultGroups(ctx context.Context, token, realm string) ([]*Group, error)

GetDefaultGroups returns a list of default groups

func (*GoCloak) GetDefaultOptionalClientScopes

func (g *GoCloak) GetDefaultOptionalClientScopes(ctx context.Context, token, realm string) ([]*ClientScope, error)

GetDefaultOptionalClientScopes returns a list of default realm optional scopes

func (*GoCloak) GetDependentPermissions

func (g *GoCloak) GetDependentPermissions(ctx context.Context, token, realm, idOfClient, policyID string) ([]*PermissionRepresentation, error)

GetDependentPermissions returns a client's permission with the given policy id

func (*GoCloak) GetEvents

func (g *GoCloak) GetEvents(ctx context.Context, token string, realm string, params GetEventsParams) ([]*EventRepresentation, error)

GetEvents returns events

func (*GoCloak) GetGroup

func (g *GoCloak) GetGroup(ctx context.Context, token, realm, groupID string) (*Group, error)

GetGroup get group with id in realm

func (*GoCloak) GetGroupByPath

func (g *GoCloak) GetGroupByPath(ctx context.Context, token, realm, groupPath string) (*Group, error)

GetGroupByPath get group with path in realm

func (*GoCloak) GetGroupManagementPermissions

func (g *GoCloak) GetGroupManagementPermissions(ctx context.Context, token, realm string, idOfGroup string) (*ManagementPermissionRepresentation, error)

GetGroupManagementPermissions returns whether group Authorization permissions have been initialized or not and a reference to the managed permissions

func (*GoCloak) GetGroupMembers

func (g *GoCloak) GetGroupMembers(ctx context.Context, token, realm, groupID string, params GetGroupsParams) ([]*User, error)

GetGroupMembers get a list of users of group with id in realm

func (*GoCloak) GetGroups

func (g *GoCloak) GetGroups(ctx context.Context, token, realm string, params GetGroupsParams) ([]*Group, error)

GetGroups get all groups in realm

func (*GoCloak) GetGroupsByClientRole

func (g *GoCloak) GetGroupsByClientRole(ctx context.Context, token, realm string, roleName string, clientID string) ([]*Group, error)

GetGroupsByClientRole gets groups with specified roles assigned of given client within a realm

func (*GoCloak) GetGroupsByRole

func (g *GoCloak) GetGroupsByRole(ctx context.Context, token, realm string, roleName string) ([]*Group, error)

GetGroupsByRole gets groups assigned with a specific role of a realm

func (*GoCloak) GetGroupsCount

func (g *GoCloak) GetGroupsCount(ctx context.Context, token, realm string, params GetGroupsParams) (int, error)

GetGroupsCount gets the groups count in the realm

func (*GoCloak) GetIdentityProvider

func (g *GoCloak) GetIdentityProvider(ctx context.Context, token, realm, alias string) (*IdentityProviderRepresentation, error)

GetIdentityProvider gets the identity provider in a realm

func (*GoCloak) GetIdentityProviderMapper

func (g *GoCloak) GetIdentityProviderMapper(ctx context.Context, token string, realm string, alias string, mapperID string) (*IdentityProviderMapper, error)

GetIdentityProviderMapper gets the mapper by id for the given identity provider alias in a realm

func (*GoCloak) GetIdentityProviderMapperByID

func (g *GoCloak) GetIdentityProviderMapperByID(ctx context.Context, token, realm, alias, mapperID string) (*IdentityProviderMapper, error)

GetIdentityProviderMapperByID gets the mapper of an identity provider

func (*GoCloak) GetIdentityProviderMappers

func (g *GoCloak) GetIdentityProviderMappers(ctx context.Context, token, realm, alias string) ([]*IdentityProviderMapper, error)

GetIdentityProviderMappers returns list of mappers associated with an identity provider

func (*GoCloak) GetIdentityProviders

func (g *GoCloak) GetIdentityProviders(ctx context.Context, token, realm string) ([]*IdentityProviderRepresentation, error)

GetIdentityProviders returns list of identity providers in a realm

func (*GoCloak) GetIssuer

func (g *GoCloak) GetIssuer(ctx context.Context, realm string) (*IssuerResponse, error)

GetIssuer gets the issuer of the given realm

func (*GoCloak) GetKeyStoreConfig

func (g *GoCloak) GetKeyStoreConfig(ctx context.Context, token, realm string) (*KeyStoreConfig, error)

GetKeyStoreConfig get keystoreconfig of the realm

func (*GoCloak) GetMemberAssociatedOrganizations

func (g *GoCloak) GetMemberAssociatedOrganizations(ctx context.Context, token, realm, idOfUser string) ([]*OrganizationRepresentation, error)

GetMemberAssociatedOrganizations returns the organizations associated with the user that has the specified id

func (*GoCloak) GetOrganizationByID

func (g *GoCloak) GetOrganizationByID(ctx context.Context, token, realm, idOfOrganization string) (*OrganizationRepresentation, error)

GetOrganizationByID returns the organization representation of the organization with provided ID

func (*GoCloak) GetOrganizationIdentityProviderByAlias

func (g *GoCloak) GetOrganizationIdentityProviderByAlias(ctx context.Context, token, realm, idOfOrganization, aliasOfIdentityProvider string) (*IdentityProviderRepresentation, error)

GetOrganizationIdentityProviderByAlias returns the identity provider associated with the organization that has the specified alias

func (*GoCloak) GetOrganizationIdentityProviders

func (g *GoCloak) GetOrganizationIdentityProviders(ctx context.Context, token, realm, idOfOrganization string) ([]*IdentityProviderRepresentation, error)

GetOrganizationIdentityProviders returns all identity providers associated with the organization

func (*GoCloak) GetOrganizationMemberByID

func (g *GoCloak) GetOrganizationMemberByID(ctx context.Context, token, realm, idOfOrganization, idOfUser string) (*MemberRepresentation, error)

GetOrganizationMemberByID returns the member of the organization with the specified id Searches for auser with the given id. If one is found, and is currently a member of the organization, returns it. Otherwise,an error response with status NOT_FOUND is returned

func (*GoCloak) GetOrganizationMemberCount

func (g *GoCloak) GetOrganizationMemberCount(ctx context.Context, token, realm, idOfOrganization string) (int, error)

GetOrganizationMemberCount returns number of members in the organization.

func (*GoCloak) GetOrganizationMembers

func (g *GoCloak) GetOrganizationMembers(ctx context.Context, token, realm, idOfOrganization string, params GetMembersParams) ([]*MemberRepresentation, error)

GetOrganizationMembers returns a paginated list of organization members filtered according to the specified parameters

func (*GoCloak) GetOrganizations

func (g *GoCloak) GetOrganizations(ctx context.Context, token, realm string, params GetOrganizationsParams) ([]*OrganizationRepresentation, error)

GetOrganizations returns a paginated list of organizations filtered according to the specified parameters

func (*GoCloak) GetPermission

func (g *GoCloak) GetPermission(ctx context.Context, token, realm, idOfClient, permissionID string) (*PermissionRepresentation, error)

GetPermission returns a client's permission with the given id

func (*GoCloak) GetPermissionResources

func (g *GoCloak) GetPermissionResources(ctx context.Context, token, realm, idOfClient, permissionID string) ([]*PermissionResource, error)

GetPermissionResources returns a client's resource attached for the given permission id

func (*GoCloak) GetPermissionScope

func (g *GoCloak) GetPermissionScope(ctx context.Context, token, realm, idOfClient string, idOfScope string) (*PolicyRepresentation, error)

GetPermissionScope gets the permission scope associated with the client

func (*GoCloak) GetPermissionScopes

func (g *GoCloak) GetPermissionScopes(ctx context.Context, token, realm, idOfClient, permissionID string) ([]*PermissionScope, error)

GetPermissionScopes returns a client's scopes configured for the given permission id

func (*GoCloak) GetPermissions

func (g *GoCloak) GetPermissions(ctx context.Context, token, realm, idOfClient string, params GetPermissionParams) ([]*PermissionRepresentation, error)

GetPermissions returns permissions associated with the client

func (*GoCloak) GetPolicies

func (g *GoCloak) GetPolicies(ctx context.Context, token, realm, idOfClient string, params GetPolicyParams) ([]*PolicyRepresentation, error)

GetPolicies returns policies associated with the client

func (*GoCloak) GetPolicy

func (g *GoCloak) GetPolicy(ctx context.Context, token, realm, idOfClient, policyID string) (*PolicyRepresentation, error)

GetPolicy returns a client's policy with the given id

func (*GoCloak) GetRawUserInfo

func (g *GoCloak) GetRawUserInfo(ctx context.Context, accessToken, realm string) (map[string]interface{}, error)

GetRawUserInfo calls the UserInfo endpoint and returns a raw json object

func (*GoCloak) GetRealm

func (g *GoCloak) GetRealm(ctx context.Context, token, realm string) (*RealmRepresentation, error)

GetRealm returns top-level representation of the realm

func (*GoCloak) GetRealmRole

func (g *GoCloak) GetRealmRole(ctx context.Context, token, realm, roleName string) (*Role, error)

GetRealmRole returns a role from a realm by role's name

func (*GoCloak) GetRealmRoleByID

func (g *GoCloak) GetRealmRoleByID(ctx context.Context, token, realm, roleID string) (*Role, error)

GetRealmRoleByID returns a role from a realm by role's ID

func (*GoCloak) GetRealmRoleGroups

func (g *GoCloak) GetRealmRoleGroups(ctx context.Context, token, roleName, realm string) ([]*Group, error)

GetRealmRoleGroups returns groups associated with the realm role

func (*GoCloak) GetRealmRoles

func (g *GoCloak) GetRealmRoles(ctx context.Context, token, realm string, params GetRoleParams) ([]*Role, error)

GetRealmRoles get all roles of the given realm.

func (*GoCloak) GetRealmRolesByGroupID

func (g *GoCloak) GetRealmRolesByGroupID(ctx context.Context, token, realm, groupID string) ([]*Role, error)

GetRealmRolesByGroupID returns all roles assigned to the given group

func (*GoCloak) GetRealmRolesByUserID

func (g *GoCloak) GetRealmRolesByUserID(ctx context.Context, token, realm, userID string) ([]*Role, error)

GetRealmRolesByUserID returns all roles assigned to the given user

func (*GoCloak) GetRealms

func (g *GoCloak) GetRealms(ctx context.Context, token string) ([]*RealmRepresentation, error)

GetRealms returns top-level representation of all realms

func (*GoCloak) GetRequest

func (g *GoCloak) GetRequest(ctx context.Context) *resty.Request

GetRequest returns a request for calling endpoints.

func (*GoCloak) GetRequestWithBasicAuth

func (g *GoCloak) GetRequestWithBasicAuth(ctx context.Context, clientID, clientSecret string) *resty.Request

GetRequestWithBasicAuth returns a form data base request configured with basic auth.

func (*GoCloak) GetRequestWithBearerAuth

func (g *GoCloak) GetRequestWithBearerAuth(ctx context.Context, token string) *resty.Request

GetRequestWithBearerAuth returns a JSON base request configured with an auth token.

func (*GoCloak) GetRequestWithBearerAuthNoCache

func (g *GoCloak) GetRequestWithBearerAuthNoCache(ctx context.Context, token string) *resty.Request

GetRequestWithBearerAuthNoCache returns a JSON base request configured with an auth token and no-cache header.

func (*GoCloak) GetRequestWithBearerAuthXMLHeader

func (g *GoCloak) GetRequestWithBearerAuthXMLHeader(ctx context.Context, token string) *resty.Request

GetRequestWithBearerAuthXMLHeader returns an XML base request configured with an auth token.

func (*GoCloak) GetRequestingPartyPermissionDecision

func (g *GoCloak) GetRequestingPartyPermissionDecision(ctx context.Context, token, realm string, options RequestingPartyTokenOptions) (*RequestingPartyPermissionDecision, error)

GetRequestingPartyPermissionDecision returns a requesting party permission decision granted by the server

func (*GoCloak) GetRequestingPartyPermissions

func (g *GoCloak) GetRequestingPartyPermissions(ctx context.Context, token, realm string, options RequestingPartyTokenOptions) (*[]RequestingPartyPermission, error)

GetRequestingPartyPermissions returns a requesting party permissions granted by the server

func (*GoCloak) GetRequestingPartyToken

func (g *GoCloak) GetRequestingPartyToken(ctx context.Context, token, realm string, options RequestingPartyTokenOptions) (*JWT, error)

GetRequestingPartyToken returns a requesting party token with permissions granted by the server

func (*GoCloak) GetRequiredAction

func (g *GoCloak) GetRequiredAction(ctx context.Context, token string, realm string, alias string) (*RequiredActionProviderRepresentation, error)

GetRequiredAction gets a required action for a given realm

func (*GoCloak) GetRequiredActions

func (g *GoCloak) GetRequiredActions(ctx context.Context, token string, realm string) ([]*RequiredActionProviderRepresentation, error)

GetRequiredActions gets a list of required actions for a given realm

func (*GoCloak) GetResource

func (g *GoCloak) GetResource(ctx context.Context, token, realm, idOfClient, resourceID string) (*ResourceRepresentation, error)

GetResource returns a client's resource with the given id, using access token from admin

func (*GoCloak) GetResourceClient

func (g *GoCloak) GetResourceClient(ctx context.Context, token, realm, resourceID string) (*ResourceRepresentation, error)

GetResourceClient returns a client's resource with the given id, using access token from client

func (*GoCloak) GetResourcePolicies

func (g *GoCloak) GetResourcePolicies(ctx context.Context, token, realm string, params GetResourcePoliciesParams) ([]*ResourcePolicyRepresentation, error)

GetResourcePolicies returns resources associated with the client, using token obtained by Resource Owner Password Credentials Grant or Token exchange

func (*GoCloak) GetResourcePolicy

func (g *GoCloak) GetResourcePolicy(ctx context.Context, token, realm, permissionID string) (*ResourcePolicyRepresentation, error)

GetResourcePolicy updates a permission for a specific resource, using token obtained by Resource Owner Password Credentials Grant or Token exchange

func (*GoCloak) GetResourceServer

func (g *GoCloak) GetResourceServer(ctx context.Context, token, realm, idOfClient string) (*ResourceServerRepresentation, error)

GetResourceServer returns resource server settings. The access token must have the realm view_clients role on its service account to be allowed to call this endpoint.

func (*GoCloak) GetResources

func (g *GoCloak) GetResources(ctx context.Context, token, realm, idOfClient string, params GetResourceParams) ([]*ResourceRepresentation, error)

GetResources returns resources associated with the client, using access token from admin

func (*GoCloak) GetResourcesClient

func (g *GoCloak) GetResourcesClient(ctx context.Context, token, realm string, params GetResourceParams) ([]*ResourceRepresentation, error)

GetResourcesClient returns resources associated with the client, using access token from client

func (*GoCloak) GetRoleMappingByGroupID

func (g *GoCloak) GetRoleMappingByGroupID(ctx context.Context, token, realm, groupID string) (*MappingsRepresentation, error)

GetRoleMappingByGroupID gets the role mappings by group

func (*GoCloak) GetRoleMappingByUserID

func (g *GoCloak) GetRoleMappingByUserID(ctx context.Context, token, realm, userID string) (*MappingsRepresentation, error)

GetRoleMappingByUserID gets the role mappings by user

func (*GoCloak) GetScope

func (g *GoCloak) GetScope(ctx context.Context, token, realm, idOfClient, scopeID string) (*ScopeRepresentation, error)

GetScope returns a client's scope with the given id

func (*GoCloak) GetScopePermissions

func (g *GoCloak) GetScopePermissions(ctx context.Context, token, realm, idOfClient, idOfScope string) ([]*PolicyRepresentation, error)

GetScopePermissions returns permissions associated with the client scope

func (*GoCloak) GetScopes

func (g *GoCloak) GetScopes(ctx context.Context, token, realm, idOfClient string, params GetScopeParams) ([]*ScopeRepresentation, error)

GetScopes returns scopes associated with the client

func (*GoCloak) GetServerInfo

func (g *GoCloak) GetServerInfo(ctx context.Context, accessToken string) (*ServerInfoRepresentation, error)

GetServerInfo fetches the server info.

func (*GoCloak) GetToken

func (g *GoCloak) GetToken(ctx context.Context, realm string, options TokenOptions) (*JWT, error)

GetToken uses TokenOptions to fetch a token.

func (*GoCloak) GetUnregisteredRequiredActions

func (g *GoCloak) GetUnregisteredRequiredActions(ctx context.Context, token string, realm string) ([]*UnregisteredRequiredActionProviderRepresentation, error)

GetUnregisteredRequiredActions gets a list of unregistered required actions for a given realm

func (*GoCloak) GetUserBruteForceDetectionStatus

func (g *GoCloak) GetUserBruteForceDetectionStatus(ctx context.Context, accessToken, realm, userID string) (*BruteForceStatus, error)

GetUserBruteForceDetectionStatus fetches a user status regarding brute force protection

func (*GoCloak) GetUserByID

func (g *GoCloak) GetUserByID(ctx context.Context, accessToken, realm, userID string) (*User, error)

GetUserByID fetches a user from the given realm with the given userID

func (*GoCloak) GetUserCount

func (g *GoCloak) GetUserCount(ctx context.Context, token string, realm string, params GetUsersParams) (int, error)

GetUserCount gets the user count in the realm

func (*GoCloak) GetUserFederatedIdentities

func (g *GoCloak) GetUserFederatedIdentities(ctx context.Context, token, realm, userID string) ([]*FederatedIdentityRepresentation, error)

GetUserFederatedIdentities gets all user federated identities

func (*GoCloak) GetUserGroups

func (g *GoCloak) GetUserGroups(ctx context.Context, token, realm, userID string, params GetGroupsParams) ([]*Group, error)

GetUserGroups get all groups for user

func (*GoCloak) GetUserInfo

func (g *GoCloak) GetUserInfo(ctx context.Context, accessToken, realm string) (*UserInfo, error)

GetUserInfo calls the UserInfo endpoint

func (*GoCloak) GetUserOfflineSessionsForClient

func (g *GoCloak) GetUserOfflineSessionsForClient(ctx context.Context, token, realm, userID, idOfClient string) ([]*UserSessionRepresentation, error)

GetUserOfflineSessionsForClient returns offline sessions associated with the user and client

func (*GoCloak) GetUserPermissions

func (g *GoCloak) GetUserPermissions(ctx context.Context, token, realm string, params GetUserPermissionParams) ([]*PermissionGrantResponseRepresentation, error)

GetUserPermissions gets granted permissions according query parameters

func (*GoCloak) GetUserSessions

func (g *GoCloak) GetUserSessions(ctx context.Context, token, realm, userID string) ([]*UserSessionRepresentation, error)

GetUserSessions returns user sessions associated with the user

func (*GoCloak) GetUsers

func (g *GoCloak) GetUsers(ctx context.Context, token, realm string, params GetUsersParams) ([]*User, error)

GetUsers get all users in realm

func (*GoCloak) GetUsersByClientRoleName

func (g *GoCloak) GetUsersByClientRoleName(ctx context.Context, token, realm, idOfClient, roleName string, params GetUsersByRoleParams) ([]*User, error)

GetUsersByClientRoleName returns all users have a given client role

func (*GoCloak) GetUsersByRoleName

func (g *GoCloak) GetUsersByRoleName(ctx context.Context, token, realm, roleName string, params GetUsersByRoleParams) ([]*User, error)

GetUsersByRoleName returns all users have a given role

func (*GoCloak) GetUsersManagementPermissions

func (g *GoCloak) GetUsersManagementPermissions(ctx context.Context, accessToken, realm string) (*ManagementPermissionRepresentation, error)

GetUsersManagementPermissions returns the management permissions for users

func (*GoCloak) GrantUserPermission

func (g *GoCloak) GrantUserPermission(ctx context.Context, token, realm string, permission PermissionGrantParams) (*PermissionGrantResponseRepresentation, error)

GrantUserPermission lets resource owner grant permission for specific resource ID to specific user ID

func (*GoCloak) ImportIdentityProviderConfig

func (g *GoCloak) ImportIdentityProviderConfig(ctx context.Context, token, realm, fromURL, providerID string) (map[string]string, error)

ImportIdentityProviderConfig parses and returns the identity provider config at a given URL

func (*GoCloak) ImportIdentityProviderConfigFromFile

func (g *GoCloak) ImportIdentityProviderConfigFromFile(ctx context.Context, token, realm, providerID, fileName string, fileBody io.Reader) (map[string]string, error)

ImportIdentityProviderConfigFromFile parses and returns the identity provider config from a given file

func (*GoCloak) Login

func (g *GoCloak) Login(ctx context.Context, clientID, clientSecret, realm, username, password string) (*JWT, error)

Login performs a login with user credentials and a client

func (*GoCloak) LoginAdmin

func (g *GoCloak) LoginAdmin(ctx context.Context, username, password, realm string) (*JWT, error)

LoginAdmin performs a login with Admin client

func (*GoCloak) LoginClient

func (g *GoCloak) LoginClient(ctx context.Context, clientID, clientSecret, realm string, scopes ...string) (*JWT, error)

LoginClient performs a login with client credentials

func (*GoCloak) LoginClientSignedJWT

func (g *GoCloak) LoginClientSignedJWT(
	ctx context.Context,
	clientID,
	realm string,
	key interface{},
	signedMethod jwt.SigningMethod,
	expiresAt *jwt.NumericDate,
) (*JWT, error)

LoginClientSignedJWT performs a login with client credentials and signed jwt claims

func (*GoCloak) LoginClientTokenExchange

func (g *GoCloak) LoginClientTokenExchange(ctx context.Context, clientID, token, clientSecret, realm, targetClient, userID string) (*JWT, error)

LoginClientTokenExchange will exchange the presented token for a user's token Requires Token-Exchange is enabled: https://www.keycloak.org/docs/latest/securing_apps/index.html#_token-exchange

func (*GoCloak) LoginOtp

func (g *GoCloak) LoginOtp(ctx context.Context, clientID, clientSecret, realm, username, password, totp string) (*JWT, error)

LoginOtp performs a login with user credentials and otp token

func (*GoCloak) Logout

func (g *GoCloak) Logout(ctx context.Context, clientID, clientSecret, realm, refreshToken string) error

Logout logs out users with refresh token

func (*GoCloak) LogoutAllSessions

func (g *GoCloak) LogoutAllSessions(ctx context.Context, accessToken, realm, userID string) error

LogoutAllSessions logs out all sessions of a user given an id.

func (*GoCloak) LogoutPublicClient

func (g *GoCloak) LogoutPublicClient(ctx context.Context, clientID, realm, accessToken, refreshToken string) error

LogoutPublicClient performs a logout using a public client and the accessToken.

func (*GoCloak) LogoutUserSession

func (g *GoCloak) LogoutUserSession(ctx context.Context, accessToken, realm, session string) error

LogoutUserSession logs out a single sessions of a user given a session id

func (*GoCloak) MoveCredentialBehind

func (g *GoCloak) MoveCredentialBehind(ctx context.Context, token, realm, userID, credentialID, newPreviousCredentialID string) error

MoveCredentialBehind move a credential to a position behind another credential

func (*GoCloak) MoveCredentialToFirst

func (g *GoCloak) MoveCredentialToFirst(ctx context.Context, token, realm, userID, credentialID string) error

MoveCredentialToFirst move a credential to a first position in the credentials list of the user

func (*GoCloak) RefreshToken

func (g *GoCloak) RefreshToken(ctx context.Context, refreshToken, clientID, clientSecret, realm string) (*JWT, error)

RefreshToken refreshes the given token. May return a *APIError with further details about the issue.

func (*GoCloak) RegenerateClientSecret

func (g *GoCloak) RegenerateClientSecret(ctx context.Context, token, realm, idOfClient string) (*CredentialRepresentation, error)

RegenerateClientSecret triggers the creation of the new client secret.

func (*GoCloak) RegisterRequiredAction

func (g *GoCloak) RegisterRequiredAction(ctx context.Context, token string, realm string, requiredAction RequiredActionProviderRepresentation) error

RegisterRequiredAction creates a required action for a given realm

func (*GoCloak) RemoveDefaultGroup

func (g *GoCloak) RemoveDefaultGroup(ctx context.Context, token, realm, groupID string) error

RemoveDefaultGroup removes group from the list of default groups

func (*GoCloak) RemoveDefaultScopeFromClient

func (g *GoCloak) RemoveDefaultScopeFromClient(ctx context.Context, token, realm, idOfClient, scopeID string) error

RemoveDefaultScopeFromClient removes a client scope from the list of client's default scopes

func (*GoCloak) RemoveOptionalScopeFromClient

func (g *GoCloak) RemoveOptionalScopeFromClient(ctx context.Context, token, realm, idOfClient, scopeID string) error

RemoveOptionalScopeFromClient deletes a client scope from the list of client's optional scopes

func (*GoCloak) RemoveOrganizationIdentityProvider

func (g *GoCloak) RemoveOrganizationIdentityProvider(ctx context.Context, token, realm, idOfOrganization, aliasOfIdentityProvider string) error

RemoveOrganizationIdentityProvider removes the identity provider with the specified alias from the organization

func (*GoCloak) RemoveUserFromOrganization

func (g *GoCloak) RemoveUserFromOrganization(ctx context.Context, token, realm, idOfOrganization, idOfUser string) error

RemoveUserFromOrganization removes the user with the specified id from the organization

func (*GoCloak) RestyClient

func (g *GoCloak) RestyClient() *resty.Client

RestyClient returns the internal resty g. This can be used to configure the g.

func (*GoCloak) RetrospectToken

func (g *GoCloak) RetrospectToken(ctx context.Context, accessToken, clientID, clientSecret, realm string) (*IntroSpectTokenResult, error)

RetrospectToken calls the openid-connect introspect endpoint

func (*GoCloak) RevokeToken

func (g *GoCloak) RevokeToken(ctx context.Context, realm, clientID, clientSecret, refreshToken string) error

RevokeToken revokes the passed token. The token can either be an access or refresh token.

func (*GoCloak) RevokeUserConsents

func (g *GoCloak) RevokeUserConsents(ctx context.Context, accessToken, realm, userID, clientID string) error

RevokeUserConsents revokes the given user consent.

func (*GoCloak) SendVerifyEmail

func (g *GoCloak) SendVerifyEmail(ctx context.Context, token, userID, realm string, params ...SendVerificationMailParams) error

SendVerifyEmail sends a verification e-mail to a user.

func (*GoCloak) SetPassword

func (g *GoCloak) SetPassword(ctx context.Context, token, userID, realm, password string, temporary bool) error

SetPassword sets a new password for the user with the given id. Needs elevated privileges

func (*GoCloak) SetRestyClient

func (g *GoCloak) SetRestyClient(restyClient *resty.Client)

SetRestyClient overwrites the internal resty g.

func (*GoCloak) UpdateAuthenticationExecution

func (g *GoCloak) UpdateAuthenticationExecution(ctx context.Context, token, realm, flow string, execution ModifyAuthenticationExecutionRepresentation) error

UpdateAuthenticationExecution updates an authentication execution for the given flow in the given realm

func (*GoCloak) UpdateAuthenticationFlow

func (g *GoCloak) UpdateAuthenticationFlow(ctx context.Context, token, realm string, flow AuthenticationFlowRepresentation, authenticationFlowID string) (*AuthenticationFlowRepresentation, error)

UpdateAuthenticationFlow a given Authentication Flow

func (*GoCloak) UpdateClient

func (g *GoCloak) UpdateClient(ctx context.Context, token, realm string, updatedClient Client) error

UpdateClient updates the given client

func (*GoCloak) UpdateClientManagementPermissions

func (g *GoCloak) UpdateClientManagementPermissions(ctx context.Context, accessToken, realm string, idOfClient string, managementPermissions ManagementPermissionRepresentation) (*ManagementPermissionRepresentation, error)

UpdateClientManagementPermissions updates the given client management permissions

func (*GoCloak) UpdateClientProtocolMapper

func (g *GoCloak) UpdateClientProtocolMapper(ctx context.Context, token, realm, idOfClient, mapperID string, mapper ProtocolMapperRepresentation) error

UpdateClientProtocolMapper updates a protocol mapper in client scope

func (*GoCloak) UpdateClientRepresentation

func (g *GoCloak) UpdateClientRepresentation(ctx context.Context, accessToken, realm string, updatedClient Client) (*Client, error)

UpdateClientRepresentation updates the given client representation

func (*GoCloak) UpdateClientScope

func (g *GoCloak) UpdateClientScope(ctx context.Context, token, realm string, scope ClientScope) error

UpdateClientScope updates the given client scope.

func (*GoCloak) UpdateClientScopeProtocolMapper

func (g *GoCloak) UpdateClientScopeProtocolMapper(ctx context.Context, token, realm, scopeID string, protocolMapper ProtocolMappers) error

UpdateClientScopeProtocolMapper updates the given protocol mapper for a client scope

func (*GoCloak) UpdateComponent

func (g *GoCloak) UpdateComponent(ctx context.Context, token, realm string, component Component) error

UpdateComponent updates the given component

func (*GoCloak) UpdateCredentialUserLabel

func (g *GoCloak) UpdateCredentialUserLabel(ctx context.Context, token, realm, userID, credentialID, userLabel string) error

UpdateCredentialUserLabel updates label for the given credential for the given user

func (*GoCloak) UpdateGroup

func (g *GoCloak) UpdateGroup(ctx context.Context, token, realm string, updatedGroup Group) error

UpdateGroup updates the given group.

func (*GoCloak) UpdateGroupManagementPermissions

func (g *GoCloak) UpdateGroupManagementPermissions(ctx context.Context, accessToken, realm string, idOfGroup string, managementPermissions ManagementPermissionRepresentation) (*ManagementPermissionRepresentation, error)

UpdateGroupManagementPermissions updates the given group management permissions

func (*GoCloak) UpdateIdentityProvider

func (g *GoCloak) UpdateIdentityProvider(ctx context.Context, token, realm, alias string, providerRep IdentityProviderRepresentation) error

UpdateIdentityProvider updates the identity provider in a realm

func (*GoCloak) UpdateIdentityProviderMapper

func (g *GoCloak) UpdateIdentityProviderMapper(ctx context.Context, token, realm, alias string, mapper IdentityProviderMapper) error

UpdateIdentityProviderMapper updates mapper of an identity provider

func (*GoCloak) UpdateOrganization

func (g *GoCloak) UpdateOrganization(ctx context.Context, token, realm string, organization OrganizationRepresentation) error

UpdateOrganization updates the given organization

func (*GoCloak) UpdatePermission

func (g *GoCloak) UpdatePermission(ctx context.Context, token, realm, idOfClient string, permission PermissionRepresentation) error

UpdatePermission updates a permission associated with the client

func (*GoCloak) UpdatePermissionScope

func (g *GoCloak) UpdatePermissionScope(ctx context.Context, token, realm, idOfClient string, idOfScope string, policy PolicyRepresentation) error

UpdatePermissionScope updates a permission scope associated with the client

func (*GoCloak) UpdatePolicy

func (g *GoCloak) UpdatePolicy(ctx context.Context, token, realm, idOfClient string, policy PolicyRepresentation) error

UpdatePolicy updates a policy associated with the client

func (*GoCloak) UpdateRealm

func (g *GoCloak) UpdateRealm(ctx context.Context, token string, realm RealmRepresentation) error

UpdateRealm updates a given realm

func (*GoCloak) UpdateRealmRole

func (g *GoCloak) UpdateRealmRole(ctx context.Context, token, realm, roleName string, role Role) error

UpdateRealmRole updates a role in a realm

func (*GoCloak) UpdateRealmRoleByID

func (g *GoCloak) UpdateRealmRoleByID(ctx context.Context, token, realm, roleID string, role Role) error

UpdateRealmRoleByID updates a role in a realm by role's ID

func (*GoCloak) UpdateRequiredAction

func (g *GoCloak) UpdateRequiredAction(ctx context.Context, token string, realm string, requiredAction RequiredActionProviderRepresentation) error

UpdateRequiredAction updates a required action for a given realm

func (*GoCloak) UpdateResource

func (g *GoCloak) UpdateResource(ctx context.Context, token, realm, idOfClient string, resource ResourceRepresentation) error

UpdateResource updates a resource associated with the client, using access token from admin

func (*GoCloak) UpdateResourceClient

func (g *GoCloak) UpdateResourceClient(ctx context.Context, token, realm string, resource ResourceRepresentation) error

UpdateResourceClient updates a resource associated with the client, using access token from client

func (*GoCloak) UpdateResourcePolicy

func (g *GoCloak) UpdateResourcePolicy(ctx context.Context, token, realm, permissionID string, policy ResourcePolicyRepresentation) error

UpdateResourcePolicy updates a permission for a specific resource, using token obtained by Resource Owner Password Credentials Grant or Token exchange

func (*GoCloak) UpdateRole

func (g *GoCloak) UpdateRole(ctx context.Context, token, realm, idOfClient string, role Role) error

UpdateRole updates the given role.

func (*GoCloak) UpdateScope

func (g *GoCloak) UpdateScope(ctx context.Context, token, realm, idOfClient string, scope ScopeRepresentation) error

UpdateScope updates a scope associated with the client

func (*GoCloak) UpdateUser

func (g *GoCloak) UpdateUser(ctx context.Context, token, realm string, user User) error

UpdateUser updates a given user

func (*GoCloak) UpdateUserPermission

func (g *GoCloak) UpdateUserPermission(ctx context.Context, token, realm string, permission PermissionGrantParams) (*PermissionGrantResponseRepresentation, error)

UpdateUserPermission updates user permissions.

func (*GoCloak) UpdateUsersManagementPermissions

func (g *GoCloak) UpdateUsersManagementPermissions(ctx context.Context, accessToken, realm string, managementPermissions ManagementPermissionRepresentation) (*ManagementPermissionRepresentation, error)

UpdateUsersManagementPermissions updates the management permissions for users

type GoCloakIface

type GoCloakIface interface {
	// GetRequest returns a request for calling endpoints.
	GetRequest(ctx context.Context) *resty.Request
	// GetRequestWithBearerAuthNoCache returns a JSON base request configured with an auth token and no-cache header.
	GetRequestWithBearerAuthNoCache(ctx context.Context, token string) *resty.Request
	// GetRequestWithBearerAuth returns a JSON base request configured with an auth token.
	GetRequestWithBearerAuth(ctx context.Context, token string) *resty.Request
	// GetRequestWithBearerAuthXMLHeader returns an XML base request configured with an auth token.
	GetRequestWithBearerAuthXMLHeader(ctx context.Context, token string) *resty.Request
	// GetRequestWithBasicAuth returns a form data base request configured with basic auth.
	GetRequestWithBasicAuth(ctx context.Context, clientID, clientSecret string) *resty.Request
	// RestyClient returns the internal resty g.
	// This can be used to configure the g.
	RestyClient() *resty.Client
	// SetRestyClient overwrites the internal resty g.
	SetRestyClient(restyClient *resty.Client)
	// GetServerInfo fetches the server info.
	GetServerInfo(ctx context.Context, accessToken string) (*ServerInfoRepresentation, error)
	// GetUserInfo calls the UserInfo endpoint
	GetUserInfo(ctx context.Context, accessToken, realm string) (*UserInfo, error)
	// GetRawUserInfo calls the UserInfo endpoint and returns a raw json object
	GetRawUserInfo(ctx context.Context, accessToken, realm string) (map[string]interface{}, error)
	// GetCerts fetches certificates for the given realm from the public /open-id-connect/certs endpoint
	GetCerts(ctx context.Context, realm string) (*CertResponse, error)
	// GetIssuer gets the issuer of the given realm
	GetIssuer(ctx context.Context, realm string) (*IssuerResponse, error)
	// RetrospectToken calls the openid-connect introspect endpoint
	RetrospectToken(ctx context.Context, accessToken, clientID, clientSecret, realm string) (*IntroSpectTokenResult, error)
	// DecodeAccessToken decodes the accessToken
	DecodeAccessToken(ctx context.Context, accessToken, realm string) (*jwt.Token, *jwt.MapClaims, error)
	// DecodeAccessTokenCustomClaims decodes the accessToken and writes claims into the given claims
	DecodeAccessTokenCustomClaims(ctx context.Context, accessToken, realm string, claims jwt.Claims) (*jwt.Token, error)
	// GetToken uses TokenOptions to fetch a token.
	GetToken(ctx context.Context, realm string, options TokenOptions) (*JWT, error)
	// GetRequestingPartyToken returns a requesting party token with permissions granted by the server
	GetRequestingPartyToken(ctx context.Context, token, realm string, options RequestingPartyTokenOptions) (*JWT, error)
	// GetRequestingPartyPermissions returns a requesting party permissions granted by the server
	GetRequestingPartyPermissions(ctx context.Context, token, realm string, options RequestingPartyTokenOptions) (*[]RequestingPartyPermission, error)
	// GetRequestingPartyPermissionDecision returns a requesting party permission decision granted by the server
	GetRequestingPartyPermissionDecision(ctx context.Context, token, realm string, options RequestingPartyTokenOptions) (*RequestingPartyPermissionDecision, error)
	// RefreshToken refreshes the given token.
	// May return a *APIError with further details about the issue.
	RefreshToken(ctx context.Context, refreshToken, clientID, clientSecret, realm string) (*JWT, error)
	// LoginAdmin performs a login with Admin client
	LoginAdmin(ctx context.Context, username, password, realm string) (*JWT, error)
	// LoginClient performs a login with client credentials
	LoginClient(ctx context.Context, clientID, clientSecret, realm string, scopes ...string) (*JWT, error)
	// LoginClientTokenExchange will exchange the presented token for a user's token
	// Requires Token-Exchange is enabled: https://www.keycloak.org/docs/latest/securing_apps/index.html#_token-exchange
	LoginClientTokenExchange(ctx context.Context, clientID, token, clientSecret, realm, targetClient, userID string) (*JWT, error)
	// DirectNakedImpersonationTokenExchange performs "Direct Naked Impersonation"
	// See: https://www.keycloak.org/docs/latest/securing_apps/index.html#direct-naked-impersonation
	DirectNakedImpersonationTokenExchange(ctx context.Context, clientID, clientSecret, realm, userID string) (*JWT, error)
	// LoginClientSignedJWT performs a login with client credentials and signed jwt claims
	LoginClientSignedJWT(ctx context.Context, clientID, realm string, key interface{}, signedMethod jwt.SigningMethod, expiresAt *jwt.NumericDate) (*JWT, error)
	// Login performs a login with user credentials and a client
	Login(ctx context.Context, clientID, clientSecret, realm, username, password string) (*JWT, error)
	// LoginOtp performs a login with user credentials and otp token
	LoginOtp(ctx context.Context, clientID, clientSecret, realm, username, password, totp string) (*JWT, error)
	// Logout logs out users with refresh token
	Logout(ctx context.Context, clientID, clientSecret, realm, refreshToken string) error
	// LogoutPublicClient performs a logout using a public client and the accessToken.
	LogoutPublicClient(ctx context.Context, clientID, realm, accessToken, refreshToken string) error
	// LogoutAllSessions logs out all sessions of a user given an id.
	LogoutAllSessions(ctx context.Context, accessToken, realm, userID string) error
	// RevokeUserConsents revokes the given user consent.
	RevokeUserConsents(ctx context.Context, accessToken, realm, userID, clientID string) error
	// LogoutUserSession logs out a single sessions of a user given a session id
	LogoutUserSession(ctx context.Context, accessToken, realm, session string) error
	// ExecuteActionsEmail executes an actions email
	ExecuteActionsEmail(ctx context.Context, token, realm string, params ExecuteActionsEmail) error
	// SendVerifyEmail sends a verification e-mail to a user.
	SendVerifyEmail(ctx context.Context, token, userID, realm string, params ...SendVerificationMailParams) error
	// CreateGroup creates a new group.
	CreateGroup(ctx context.Context, token, realm string, group Group) (string, error)
	// CreateChildGroup creates a new child group
	CreateChildGroup(ctx context.Context, token, realm, groupID string, group Group) (string, error)
	// CreateComponent creates the given component.
	CreateComponent(ctx context.Context, token, realm string, component Component) (string, error)
	// CreateClient creates the given g.
	CreateClient(ctx context.Context, accessToken, realm string, newClient Client) (string, error)
	// CreateClientRepresentation creates a new client representation
	CreateClientRepresentation(ctx context.Context, token, realm string, newClient Client) (*Client, error)
	// CreateClientRole creates a new role for a client
	CreateClientRole(ctx context.Context, token, realm, idOfClient string, role Role) (string, error)
	// CreateClientScope creates a new client scope
	CreateClientScope(ctx context.Context, token, realm string, scope ClientScope) (string, error)
	// CreateClientScopeProtocolMapper creates a new protocolMapper under the given client scope
	CreateClientScopeProtocolMapper(ctx context.Context, token, realm, scopeID string, protocolMapper ProtocolMappers) (string, error)
	// UpdateGroup updates the given group.
	UpdateGroup(ctx context.Context, token, realm string, updatedGroup Group) error
	// UpdateGroupManagementPermissions updates the given group management permissions
	UpdateGroupManagementPermissions(ctx context.Context, accessToken, realm string, idOfGroup string, managementPermissions ManagementPermissionRepresentation) (*ManagementPermissionRepresentation, error)
	// UpdateClient updates the given Client
	UpdateClient(ctx context.Context, token, realm string, updatedClient Client) error
	// UpdateClientRepresentation updates the given client representation
	UpdateClientRepresentation(ctx context.Context, accessToken, realm string, updatedClient Client) (*Client, error)
	// UpdateClientManagementPermissions updates the given client management permissions
	UpdateClientManagementPermissions(ctx context.Context, accessToken, realm string, idOfClient string, managementPermissions ManagementPermissionRepresentation) (*ManagementPermissionRepresentation, error)
	// UpdateRole updates the given role.
	UpdateRole(ctx context.Context, token, realm, idOfClient string, role Role) error
	// UpdateClientScope updates the given client scope.
	UpdateClientScope(ctx context.Context, token, realm string, scope ClientScope) error
	// UpdateClientScopeProtocolMapper updates the given protocol mapper for a client scope
	UpdateClientScopeProtocolMapper(ctx context.Context, token, realm, scopeID string, protocolMapper ProtocolMappers) error
	// DeleteGroup deletes the group with the given groupID.
	DeleteGroup(ctx context.Context, token, realm, groupID string) error
	// DeleteClient deletes a given client
	DeleteClient(ctx context.Context, token, realm, idOfClient string) error
	// DeleteComponent deletes the component with the given id.
	DeleteComponent(ctx context.Context, token, realm, componentID string) error
	// DeleteClientRepresentation deletes a given client representation.
	DeleteClientRepresentation(ctx context.Context, accessToken, realm, clientID string) error
	// DeleteClientRole deletes a given role.
	DeleteClientRole(ctx context.Context, token, realm, idOfClient, roleName string) error
	// DeleteClientScope deletes the scope with the given id.
	DeleteClientScope(ctx context.Context, token, realm, scopeID string) error
	// DeleteClientScopeProtocolMapper deletes the given protocol mapper from the client scope
	DeleteClientScopeProtocolMapper(ctx context.Context, token, realm, scopeID, protocolMapperID string) error
	// GetClient returns a client
	GetClient(ctx context.Context, token, realm, idOfClient string) (*Client, error)
	// GetClientRepresentation returns a client representation
	GetClientRepresentation(ctx context.Context, accessToken, realm, clientID string) (*Client, error)
	// GetAdapterConfiguration returns a adapter configuration
	GetAdapterConfiguration(ctx context.Context, accessToken, realm, clientID string) (*AdapterConfiguration, error)
	// GetClientsDefaultScopes returns a list of the client's default scopes
	GetClientsDefaultScopes(ctx context.Context, token, realm, idOfClient string) ([]*ClientScope, error)
	// AddDefaultScopeToClient adds a client scope to the list of client's default scopes
	AddDefaultScopeToClient(ctx context.Context, token, realm, idOfClient, scopeID string) error
	// RemoveDefaultScopeFromClient removes a client scope from the list of client's default scopes
	RemoveDefaultScopeFromClient(ctx context.Context, token, realm, idOfClient, scopeID string) error
	// GetClientsOptionalScopes returns a list of the client's optional scopes
	GetClientsOptionalScopes(ctx context.Context, token, realm, idOfClient string) ([]*ClientScope, error)
	// AddOptionalScopeToClient adds a client scope to the list of client's optional scopes
	AddOptionalScopeToClient(ctx context.Context, token, realm, idOfClient, scopeID string) error
	// RemoveOptionalScopeFromClient deletes a client scope from the list of client's optional scopes
	RemoveOptionalScopeFromClient(ctx context.Context, token, realm, idOfClient, scopeID string) error
	// GetDefaultOptionalClientScopes returns a list of default realm optional scopes
	GetDefaultOptionalClientScopes(ctx context.Context, token, realm string) ([]*ClientScope, error)
	// GetDefaultDefaultClientScopes returns a list of default realm default scopes
	GetDefaultDefaultClientScopes(ctx context.Context, token, realm string) ([]*ClientScope, error)
	// GetClientScope returns a clientscope
	GetClientScope(ctx context.Context, token, realm, scopeID string) (*ClientScope, error)
	// GetClientScopes returns all client scopes
	GetClientScopes(ctx context.Context, token, realm string) ([]*ClientScope, error)
	// GetClientScopeProtocolMappers returns all protocol mappers of a client scope
	GetClientScopeProtocolMappers(ctx context.Context, token, realm, scopeID string) ([]*ProtocolMappers, error)
	// GetClientScopeProtocolMapper returns a protocol mapper of a client scope
	GetClientScopeProtocolMapper(ctx context.Context, token, realm, scopeID, protocolMapperID string) (*ProtocolMappers, error)
	// GetClientScopeMappings returns all scope mappings for the client
	GetClientScopeMappings(ctx context.Context, token, realm, idOfClient string) (*MappingsRepresentation, error)
	// GetRealmRoleGroups returns groups associated with the realm role
	GetRealmRoleGroups(ctx context.Context, token, roleName, realm string) ([]*Group, error)
	// GetClientScopeMappingsRealmRoles returns realm-level roles associated with the client’s scope
	GetClientScopeMappingsRealmRoles(ctx context.Context, token, realm, idOfClient string) ([]*Role, error)
	// GetClientScopeMappingsRealmRolesAvailable returns realm-level roles that are available to attach to this client’s scope
	GetClientScopeMappingsRealmRolesAvailable(ctx context.Context, token, realm, idOfClient string) ([]*Role, error)
	// CreateClientScopeMappingsRealmRoles create realm-level roles to the client’s scope
	CreateClientScopeMappingsRealmRoles(ctx context.Context, token, realm, idOfClient string, roles []Role) error
	// DeleteClientScopeMappingsRealmRoles deletes realm-level roles from the client’s scope
	DeleteClientScopeMappingsRealmRoles(ctx context.Context, token, realm, idOfClient string, roles []Role) error
	// GetClientScopeMappingsClientRoles returns roles associated with a client’s scope
	GetClientScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClient, idOfSelectedClient string) ([]*Role, error)
	// GetClientScopeMappingsClientRolesAvailable returns available roles associated with a client’s scope
	GetClientScopeMappingsClientRolesAvailable(ctx context.Context, token, realm, idOfClient, idOfSelectedClient string) ([]*Role, error)
	// CreateClientScopeMappingsClientRoles creates client-level roles from the client’s scope
	CreateClientScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClient, idOfSelectedClient string, roles []Role) error
	// DeleteClientScopeMappingsClientRoles deletes client-level roles from the client’s scope
	DeleteClientScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClient, idOfSelectedClient string, roles []Role) error
	// GetClientSecret returns a client's secret
	GetClientSecret(ctx context.Context, token, realm, idOfClient string) (*CredentialRepresentation, error)
	// GetClientServiceAccount retrieves the service account "user" for a client if enabled
	GetClientServiceAccount(ctx context.Context, token, realm, idOfClient string) (*User, error)
	// RegenerateClientSecret triggers the creation of the new client secret.
	RegenerateClientSecret(ctx context.Context, token, realm, idOfClient string) (*CredentialRepresentation, error)
	// GetClientOfflineSessions returns offline sessions associated with the client
	GetClientOfflineSessions(ctx context.Context, token, realm, idOfClient string, params ...GetClientUserSessionsParams) ([]*UserSessionRepresentation, error)
	// GetClientUserSessions returns user sessions associated with the client
	GetClientUserSessions(ctx context.Context, token, realm, idOfClient string, params ...GetClientUserSessionsParams) ([]*UserSessionRepresentation, error)
	// CreateClientProtocolMapper creates a protocol mapper in client scope
	CreateClientProtocolMapper(ctx context.Context, token, realm, idOfClient string, mapper ProtocolMapperRepresentation) (string, error)
	// UpdateClientProtocolMapper updates a protocol mapper in client scope
	UpdateClientProtocolMapper(ctx context.Context, token, realm, idOfClient, mapperID string, mapper ProtocolMapperRepresentation) error
	// DeleteClientProtocolMapper deletes a protocol mapper in client scope
	DeleteClientProtocolMapper(ctx context.Context, token, realm, idOfClient, mapperID string) error
	// GetKeyStoreConfig get keystoreconfig of the realm
	GetKeyStoreConfig(ctx context.Context, token, realm string) (*KeyStoreConfig, error)
	// GetComponents get all components in realm
	GetComponents(ctx context.Context, token, realm string) ([]*Component, error)
	// GetComponentsWithParams get all components in realm with query params
	GetComponentsWithParams(ctx context.Context, token, realm string, params GetComponentsParams) ([]*Component, error)
	// GetComponent get exactly one component by ID
	GetComponent(ctx context.Context, token, realm string, componentID string) (*Component, error)
	// UpdateComponent updates the given component
	UpdateComponent(ctx context.Context, token, realm string, component Component) error
	// GetDefaultGroups returns a list of default groups
	GetDefaultGroups(ctx context.Context, token, realm string) ([]*Group, error)
	// AddDefaultGroup adds group to the list of default groups
	AddDefaultGroup(ctx context.Context, token, realm, groupID string) error
	// RemoveDefaultGroup removes group from the list of default groups
	RemoveDefaultGroup(ctx context.Context, token, realm, groupID string) error
	// GetRoleMappingByGroupID gets the role mappings by group
	GetRoleMappingByGroupID(ctx context.Context, token, realm, groupID string) (*MappingsRepresentation, error)
	// GetRoleMappingByUserID gets the role mappings by user
	GetRoleMappingByUserID(ctx context.Context, token, realm, userID string) (*MappingsRepresentation, error)
	// GetGroup get group with id in realm
	GetGroup(ctx context.Context, token, realm, groupID string) (*Group, error)
	// GetChildGroups get child groups of group with id in realm
	GetChildGroups(ctx context.Context, token, realm, groupID string, params GetChildGroupsParams) ([]*Group, error)
	// GetGroupByPath get group with path in realm
	GetGroupByPath(ctx context.Context, token, realm, groupPath string) (*Group, error)
	// GetGroups get all groups in realm
	GetGroups(ctx context.Context, token, realm string, params GetGroupsParams) ([]*Group, error)
	// GetGroupManagementPermissions returns whether group Authorization permissions have been initialized or not and a reference
	// to the managed permissions
	GetGroupManagementPermissions(ctx context.Context, token, realm string, idOfGroup string) (*ManagementPermissionRepresentation, error)
	// GetGroupsByRole gets groups assigned with a specific role of a realm
	GetGroupsByRole(ctx context.Context, token, realm string, roleName string) ([]*Group, error)
	// GetGroupsByClientRole gets groups with specified roles assigned of given client within a realm
	GetGroupsByClientRole(ctx context.Context, token, realm string, roleName string, clientID string) ([]*Group, error)
	// GetGroupsCount gets the groups count in the realm
	GetGroupsCount(ctx context.Context, token, realm string, params GetGroupsParams) (int, error)
	// GetGroupMembers get a list of users of group with id in realm
	GetGroupMembers(ctx context.Context, token, realm, groupID string, params GetGroupsParams) ([]*User, error)
	// GetClientRoles get all roles for the given client in realm
	GetClientRoles(ctx context.Context, token, realm, idOfClient string, params GetRoleParams) ([]*Role, error)
	// GetClientRoleByID gets role for the given client in realm using role ID
	GetClientRoleByID(ctx context.Context, token, realm, roleID string) (*Role, error)
	// GetClientRolesByUserID returns all client roles assigned to the given user
	GetClientRolesByUserID(ctx context.Context, token, realm, idOfClient, userID string) ([]*Role, error)
	// GetClientRolesByGroupID returns all client roles assigned to the given group
	GetClientRolesByGroupID(ctx context.Context, token, realm, idOfClient, groupID string) ([]*Role, error)
	// GetCompositeClientRolesByRoleID returns all client composite roles associated with the given client role
	GetCompositeClientRolesByRoleID(ctx context.Context, token, realm, idOfClient, roleID string) ([]*Role, error)
	// GetCompositeClientRolesByUserID returns all client roles and composite roles assigned to the given user
	GetCompositeClientRolesByUserID(ctx context.Context, token, realm, idOfClient, userID string) ([]*Role, error)
	// GetAvailableClientRolesByUserID returns all available client roles to the given user
	GetAvailableClientRolesByUserID(ctx context.Context, token, realm, idOfClient, userID string) ([]*Role, error)
	// GetAvailableClientRolesByGroupID returns all available roles to the given group
	GetAvailableClientRolesByGroupID(ctx context.Context, token, realm, idOfClient, groupID string) ([]*Role, error)
	// GetCompositeClientRolesByGroupID returns all client roles and composite roles assigned to the given group
	GetCompositeClientRolesByGroupID(ctx context.Context, token, realm, idOfClient, groupID string) ([]*Role, error)
	// GetClientRole get a role for the given client in a realm by role name
	GetClientRole(ctx context.Context, token, realm, idOfClient, roleName string) (*Role, error)
	// GetClients gets all clients in realm
	GetClients(ctx context.Context, token, realm string, params GetClientsParams) ([]*Client, error)
	// GetClientManagementPermissions returns whether client Authorization permissions have been initialized or not and a reference
	// to the managed permissions
	GetClientManagementPermissions(ctx context.Context, token, realm string, idOfClient string) (*ManagementPermissionRepresentation, error)
	// CreateRealmRole creates a role in a realm
	CreateRealmRole(ctx context.Context, token string, realm string, role Role) (string, error)
	// GetRealmRole returns a role from a realm by role's name
	GetRealmRole(ctx context.Context, token, realm, roleName string) (*Role, error)
	// GetRealmRoleByID returns a role from a realm by role's ID
	GetRealmRoleByID(ctx context.Context, token, realm, roleID string) (*Role, error)
	// GetRealmRoles get all roles of the given realm.
	GetRealmRoles(ctx context.Context, token, realm string, params GetRoleParams) ([]*Role, error)
	// GetRealmRolesByUserID returns all roles assigned to the given user
	GetRealmRolesByUserID(ctx context.Context, token, realm, userID string) ([]*Role, error)
	// GetRealmRolesByGroupID returns all roles assigned to the given group
	GetRealmRolesByGroupID(ctx context.Context, token, realm, groupID string) ([]*Role, error)
	// UpdateRealmRole updates a role in a realm
	UpdateRealmRole(ctx context.Context, token, realm, roleName string, role Role) error
	// UpdateRealmRoleByID updates a role in a realm by role's ID
	UpdateRealmRoleByID(ctx context.Context, token, realm, roleID string, role Role) error
	// DeleteRealmRole deletes a role in a realm by role's name
	DeleteRealmRole(ctx context.Context, token, realm, roleName string) error
	// AddRealmRoleToUser adds realm-level role mappings
	AddRealmRoleToUser(ctx context.Context, token, realm, userID string, roles []Role) error
	// DeleteRealmRoleFromUser deletes realm-level role mappings
	DeleteRealmRoleFromUser(ctx context.Context, token, realm, userID string, roles []Role) error
	// AddRealmRoleToGroup adds realm-level role mappings
	AddRealmRoleToGroup(ctx context.Context, token, realm, groupID string, roles []Role) error
	// DeleteRealmRoleFromGroup deletes realm-level role mappings
	DeleteRealmRoleFromGroup(ctx context.Context, token, realm, groupID string, roles []Role) error
	// AddRealmRoleComposite adds a role to the composite.
	AddRealmRoleComposite(ctx context.Context, token, realm, roleName string, roles []Role) error
	// DeleteRealmRoleComposite deletes a role from the composite.
	DeleteRealmRoleComposite(ctx context.Context, token, realm, roleName string, roles []Role) error
	// GetCompositeRealmRoles returns all realm composite roles associated with the given realm role
	GetCompositeRealmRoles(ctx context.Context, token, realm, roleName string) ([]*Role, error)
	// GetCompositeRolesByRoleID returns all realm composite roles associated with the given client role
	GetCompositeRolesByRoleID(ctx context.Context, token, realm, roleID string) ([]*Role, error)
	// GetCompositeRealmRolesByRoleID returns all realm composite roles associated with the given client role
	GetCompositeRealmRolesByRoleID(ctx context.Context, token, realm, roleID string) ([]*Role, error)
	// GetCompositeRealmRolesByUserID returns all realm roles and composite roles assigned to the given user
	GetCompositeRealmRolesByUserID(ctx context.Context, token, realm, userID string) ([]*Role, error)
	// GetCompositeRealmRolesByGroupID returns all realm roles and composite roles assigned to the given group
	GetCompositeRealmRolesByGroupID(ctx context.Context, token, realm, groupID string) ([]*Role, error)
	// GetAvailableRealmRolesByUserID returns all available realm roles to the given user
	GetAvailableRealmRolesByUserID(ctx context.Context, token, realm, userID string) ([]*Role, error)
	// GetAvailableRealmRolesByGroupID returns all available realm roles to the given group
	GetAvailableRealmRolesByGroupID(ctx context.Context, token, realm, groupID string) ([]*Role, error)
	// GetRealm returns top-level representation of the realm
	GetRealm(ctx context.Context, token, realm string) (*RealmRepresentation, error)
	// GetRealms returns top-level representation of all realms
	GetRealms(ctx context.Context, token string) ([]*RealmRepresentation, error)
	// CreateRealm creates a realm
	CreateRealm(ctx context.Context, token string, realm RealmRepresentation) (string, error)
	// UpdateRealm updates a given realm
	UpdateRealm(ctx context.Context, token string, realm RealmRepresentation) error
	// DeleteRealm removes a realm
	DeleteRealm(ctx context.Context, token, realm string) error
	// ClearRealmCache clears realm cache
	ClearRealmCache(ctx context.Context, token, realm string) error
	// ClearUserCache clears realm cache
	ClearUserCache(ctx context.Context, token, realm string) error
	// ClearKeysCache clears realm cache
	ClearKeysCache(ctx context.Context, token, realm string) error
	// GetAuthenticationFlows get all authentication flows from a realm
	GetAuthenticationFlows(ctx context.Context, token, realm string) ([]*AuthenticationFlowRepresentation, error)
	// GetAuthenticationFlow get an authentication flow with the given ID
	GetAuthenticationFlow(ctx context.Context, token, realm string, authenticationFlowID string) (*AuthenticationFlowRepresentation, error)
	// CreateAuthenticationFlow creates a new Authentication flow in a realm
	CreateAuthenticationFlow(ctx context.Context, token, realm string, flow AuthenticationFlowRepresentation) error
	// UpdateAuthenticationFlow a given Authentication Flow
	UpdateAuthenticationFlow(ctx context.Context, token, realm string, flow AuthenticationFlowRepresentation, authenticationFlowID string) (*AuthenticationFlowRepresentation, error)
	// DeleteAuthenticationFlow deletes a flow in a realm with the given ID
	DeleteAuthenticationFlow(ctx context.Context, token, realm, flowID string) error
	// GetAuthenticationExecutions retrieves all executions of a given flow
	GetAuthenticationExecutions(ctx context.Context, token, realm, flow string) ([]*ModifyAuthenticationExecutionRepresentation, error)
	// CreateAuthenticationExecution creates a new execution for the given flow name in the given realm
	CreateAuthenticationExecution(ctx context.Context, token, realm, flow string, execution CreateAuthenticationExecutionRepresentation) error
	// UpdateAuthenticationExecution updates an authentication execution for the given flow in the given realm
	UpdateAuthenticationExecution(ctx context.Context, token, realm, flow string, execution ModifyAuthenticationExecutionRepresentation) error
	// DeleteAuthenticationExecution delete a single execution with the given ID
	DeleteAuthenticationExecution(ctx context.Context, token, realm, executionID string) error
	// CreateAuthenticationExecutionFlow creates a new execution for the given flow name in the given realm
	CreateAuthenticationExecutionFlow(ctx context.Context, token, realm, flow string, executionFlow CreateAuthenticationExecutionFlowRepresentation) error
	// CreateUser creates the given user in the given realm and returns it's userID
	// Note: Keycloak has not documented what members of the User object are actually being accepted, when creating a user.
	// Things like RealmRoles must be attached using followup calls to the respective functions.
	CreateUser(ctx context.Context, token, realm string, user User) (string, error)
	// DeleteUser delete a given user
	DeleteUser(ctx context.Context, token, realm, userID string) error
	// GetUserByID fetches a user from the given realm with the given userID
	GetUserByID(ctx context.Context, accessToken, realm, userID string) (*User, error)
	// GetUserCount gets the user count in the realm
	GetUserCount(ctx context.Context, token string, realm string, params GetUsersParams) (int, error)
	// GetUserGroups get all groups for user
	GetUserGroups(ctx context.Context, token, realm, userID string, params GetGroupsParams) ([]*Group, error)
	// GetUsers get all users in realm
	GetUsers(ctx context.Context, token, realm string, params GetUsersParams) ([]*User, error)
	// GetUsersByRoleName returns all users have a given role
	GetUsersByRoleName(ctx context.Context, token, realm, roleName string, params GetUsersByRoleParams) ([]*User, error)
	// GetUsersByClientRoleName returns all users have a given client role
	GetUsersByClientRoleName(ctx context.Context, token, realm, idOfClient, roleName string, params GetUsersByRoleParams) ([]*User, error)
	// SetPassword sets a new password for the user with the given id. Needs elevated privileges
	SetPassword(ctx context.Context, token, userID, realm, password string, temporary bool) error
	// UpdateUser updates a given user
	UpdateUser(ctx context.Context, token, realm string, user User) error
	// AddUserToGroup puts given user to given group
	AddUserToGroup(ctx context.Context, token, realm, userID, groupID string) error
	// DeleteUserFromGroup deletes given user from given group
	DeleteUserFromGroup(ctx context.Context, token, realm, userID, groupID string) error
	// GetUserSessions returns user sessions associated with the user
	GetUserSessions(ctx context.Context, token, realm, userID string) ([]*UserSessionRepresentation, error)
	// GetUserOfflineSessionsForClient returns offline sessions associated with the user and client
	GetUserOfflineSessionsForClient(ctx context.Context, token, realm, userID, idOfClient string) ([]*UserSessionRepresentation, error)
	// AddClientRolesToUser adds client-level role mappings
	AddClientRolesToUser(ctx context.Context, token, realm, idOfClient, userID string, roles []Role) error
	// AddClientRoleToUser adds client-level role mappings
	//
	// Deprecated: replaced by AddClientRolesToUser
	AddClientRoleToUser(ctx context.Context, token, realm, idOfClient, userID string, roles []Role) error
	// AddClientRolesToGroup adds a client role to the group
	AddClientRolesToGroup(ctx context.Context, token, realm, idOfClient, groupID string, roles []Role) error
	// AddClientRoleToGroup adds a client role to the group
	//
	// Deprecated: replaced by AddClientRolesToGroup
	AddClientRoleToGroup(ctx context.Context, token, realm, idOfClient, groupID string, roles []Role) error
	// DeleteClientRolesFromUser adds client-level role mappings
	DeleteClientRolesFromUser(ctx context.Context, token, realm, idOfClient, userID string, roles []Role) error
	// DeleteClientRoleFromUser adds client-level role mappings
	//
	// Deprecated: replaced by DeleteClientRolesFrom
	DeleteClientRoleFromUser(ctx context.Context, token, realm, idOfClient, userID string, roles []Role) error
	// DeleteClientRoleFromGroup removes a client role from from the group
	DeleteClientRoleFromGroup(ctx context.Context, token, realm, idOfClient, groupID string, roles []Role) error
	// AddClientRoleComposite adds roles as composite
	AddClientRoleComposite(ctx context.Context, token, realm, roleID string, roles []Role) error
	// DeleteClientRoleComposite deletes composites from a role
	DeleteClientRoleComposite(ctx context.Context, token, realm, roleID string, roles []Role) error
	// GetUserFederatedIdentities gets all user federated identities
	GetUserFederatedIdentities(ctx context.Context, token, realm, userID string) ([]*FederatedIdentityRepresentation, error)
	// CreateUserFederatedIdentity creates an user federated identity
	CreateUserFederatedIdentity(ctx context.Context, token, realm, userID, providerID string, federatedIdentityRep FederatedIdentityRepresentation) error
	// DeleteUserFederatedIdentity deletes an user federated identity
	DeleteUserFederatedIdentity(ctx context.Context, token, realm, userID, providerID string) error
	// GetUserBruteForceDetectionStatus fetches a user status regarding brute force protection
	GetUserBruteForceDetectionStatus(ctx context.Context, accessToken, realm, userID string) (*BruteForceStatus, error)
	// CreateIdentityProvider creates an identity provider in a realm
	CreateIdentityProvider(ctx context.Context, token string, realm string, providerRep IdentityProviderRepresentation) (string, error)
	// GetIdentityProviders returns list of identity providers in a realm
	GetIdentityProviders(ctx context.Context, token, realm string) ([]*IdentityProviderRepresentation, error)
	// GetIdentityProvider gets the identity provider in a realm
	GetIdentityProvider(ctx context.Context, token, realm, alias string) (*IdentityProviderRepresentation, error)
	// UpdateIdentityProvider updates the identity provider in a realm
	UpdateIdentityProvider(ctx context.Context, token, realm, alias string, providerRep IdentityProviderRepresentation) error
	// DeleteIdentityProvider deletes the identity provider in a realm
	DeleteIdentityProvider(ctx context.Context, token, realm, alias string) error
	// ExportIDPPublicBrokerConfig exports the broker config for a given alias
	ExportIDPPublicBrokerConfig(ctx context.Context, token, realm, alias string) (*string, error)
	// ImportIdentityProviderConfig parses and returns the identity provider config at a given URL
	ImportIdentityProviderConfig(ctx context.Context, token, realm, fromURL, providerID string) (map[string]string, error)
	// ImportIdentityProviderConfigFromFile parses and returns the identity provider config from a given file
	ImportIdentityProviderConfigFromFile(ctx context.Context, token, realm, providerID, fileName string, fileBody io.Reader) (map[string]string, error)
	// CreateIdentityProviderMapper creates an instance of an identity provider mapper associated with the given alias
	CreateIdentityProviderMapper(ctx context.Context, token, realm, alias string, mapper IdentityProviderMapper) (string, error)
	// GetIdentityProviderMapper gets the mapper by id for the given identity provider alias in a realm
	GetIdentityProviderMapper(ctx context.Context, token string, realm string, alias string, mapperID string) (*IdentityProviderMapper, error)
	// DeleteIdentityProviderMapper deletes an instance of an identity provider mapper associated with the given alias and mapper ID
	DeleteIdentityProviderMapper(ctx context.Context, token, realm, alias, mapperID string) error
	// GetIdentityProviderMappers returns list of mappers associated with an identity provider
	GetIdentityProviderMappers(ctx context.Context, token, realm, alias string) ([]*IdentityProviderMapper, error)
	// GetIdentityProviderMapperByID gets the mapper of an identity provider
	GetIdentityProviderMapperByID(ctx context.Context, token, realm, alias, mapperID string) (*IdentityProviderMapper, error)
	// UpdateIdentityProviderMapper updates mapper of an identity provider
	UpdateIdentityProviderMapper(ctx context.Context, token, realm, alias string, mapper IdentityProviderMapper) error
	// GetResource returns a client's resource with the given id, using access token from admin
	GetResource(ctx context.Context, token, realm, idOfClient, resourceID string) (*ResourceRepresentation, error)
	// GetResourceClient returns a client's resource with the given id, using access token from client
	GetResourceClient(ctx context.Context, token, realm, resourceID string) (*ResourceRepresentation, error)
	// GetResources returns resources associated with the client, using access token from admin
	GetResources(ctx context.Context, token, realm, idOfClient string, params GetResourceParams) ([]*ResourceRepresentation, error)
	// GetResourcesClient returns resources associated with the client, using access token from client
	GetResourcesClient(ctx context.Context, token, realm string, params GetResourceParams) ([]*ResourceRepresentation, error)
	// GetResourceServer returns resource server settings.
	// The access token must have the realm view_clients role on its service
	// account to be allowed to call this endpoint.
	GetResourceServer(ctx context.Context, token, realm, idOfClient string) (*ResourceServerRepresentation, error)
	// UpdateResource updates a resource associated with the client, using access token from admin
	UpdateResource(ctx context.Context, token, realm, idOfClient string, resource ResourceRepresentation) error
	// UpdateResourceClient updates a resource associated with the client, using access token from client
	UpdateResourceClient(ctx context.Context, token, realm string, resource ResourceRepresentation) error
	// CreateResource creates a resource associated with the client, using access token from admin
	CreateResource(ctx context.Context, token, realm string, idOfClient string, resource ResourceRepresentation) (*ResourceRepresentation, error)
	// CreateResourceClient creates a resource associated with the client, using access token from client
	CreateResourceClient(ctx context.Context, token, realm string, resource ResourceRepresentation) (*ResourceRepresentation, error)
	// DeleteResource deletes a resource associated with the client (using an admin token)
	DeleteResource(ctx context.Context, token, realm, idOfClient, resourceID string) error
	// DeleteResourceClient deletes a resource associated with the client (using a client token)
	DeleteResourceClient(ctx context.Context, token, realm, resourceID string) error
	// GetScope returns a client's scope with the given id
	GetScope(ctx context.Context, token, realm, idOfClient, scopeID string) (*ScopeRepresentation, error)
	// GetScopes returns scopes associated with the client
	GetScopes(ctx context.Context, token, realm, idOfClient string, params GetScopeParams) ([]*ScopeRepresentation, error)
	// CreateScope creates a scope associated with the client
	CreateScope(ctx context.Context, token, realm, idOfClient string, scope ScopeRepresentation) (*ScopeRepresentation, error)
	// GetPermissionScope gets the permission scope associated with the client
	GetPermissionScope(ctx context.Context, token, realm, idOfClient string, idOfScope string) (*PolicyRepresentation, error)
	// UpdatePermissionScope updates a permission scope associated with the client
	UpdatePermissionScope(ctx context.Context, token, realm, idOfClient string, idOfScope string, policy PolicyRepresentation) error
	// UpdateScope updates a scope associated with the client
	UpdateScope(ctx context.Context, token, realm, idOfClient string, scope ScopeRepresentation) error
	// DeleteScope deletes a scope associated with the client
	DeleteScope(ctx context.Context, token, realm, idOfClient, scopeID string) error
	// GetPolicy returns a client's policy with the given id
	GetPolicy(ctx context.Context, token, realm, idOfClient, policyID string) (*PolicyRepresentation, error)
	// GetPolicies returns policies associated with the client
	GetPolicies(ctx context.Context, token, realm, idOfClient string, params GetPolicyParams) ([]*PolicyRepresentation, error)
	// CreatePolicy creates a policy associated with the client
	CreatePolicy(ctx context.Context, token, realm, idOfClient string, policy PolicyRepresentation) (*PolicyRepresentation, error)
	// UpdatePolicy updates a policy associated with the client
	UpdatePolicy(ctx context.Context, token, realm, idOfClient string, policy PolicyRepresentation) error
	// DeletePolicy deletes a policy associated with the client
	DeletePolicy(ctx context.Context, token, realm, idOfClient, policyID string) error
	// GetAuthorizationPolicyAssociatedPolicies returns a client's associated policies of specific policy with the given policy id, using access token from admin
	GetAuthorizationPolicyAssociatedPolicies(ctx context.Context, token, realm, idOfClient, policyID string) ([]*PolicyRepresentation, error)
	// GetAuthorizationPolicyResources returns a client's resources of specific policy with the given policy id, using access token from admin
	GetAuthorizationPolicyResources(ctx context.Context, token, realm, idOfClient, policyID string) ([]*PolicyResourceRepresentation, error)
	// GetAuthorizationPolicyScopes returns a client's scopes of specific policy with the given policy id, using access token from admin
	GetAuthorizationPolicyScopes(ctx context.Context, token, realm, idOfClient, policyID string) ([]*PolicyScopeRepresentation, error)
	// GetResourcePolicy updates a permission for a specific resource, using token obtained by Resource Owner Password Credentials Grant or Token exchange
	GetResourcePolicy(ctx context.Context, token, realm, permissionID string) (*ResourcePolicyRepresentation, error)
	// GetResourcePolicies returns resources associated with the client, using token obtained by Resource Owner Password Credentials Grant or Token exchange
	GetResourcePolicies(ctx context.Context, token, realm string, params GetResourcePoliciesParams) ([]*ResourcePolicyRepresentation, error)
	// CreateResourcePolicy associates a permission with a specific resource, using token obtained by Resource Owner Password Credentials Grant or Token exchange
	CreateResourcePolicy(ctx context.Context, token, realm, resourceID string, policy ResourcePolicyRepresentation) (*ResourcePolicyRepresentation, error)
	// UpdateResourcePolicy updates a permission for a specific resource, using token obtained by Resource Owner Password Credentials Grant or Token exchange
	UpdateResourcePolicy(ctx context.Context, token, realm, permissionID string, policy ResourcePolicyRepresentation) error
	// DeleteResourcePolicy deletes a permission for a specific resource, using token obtained by Resource Owner Password Credentials Grant or Token exchange
	DeleteResourcePolicy(ctx context.Context, token, realm, permissionID string) error
	// GetPermission returns a client's permission with the given id
	GetPermission(ctx context.Context, token, realm, idOfClient, permissionID string) (*PermissionRepresentation, error)
	// GetDependentPermissions returns a client's permission with the given policy id
	GetDependentPermissions(ctx context.Context, token, realm, idOfClient, policyID string) ([]*PermissionRepresentation, error)
	// GetPermissionResources returns a client's resource attached for the given permission id
	GetPermissionResources(ctx context.Context, token, realm, idOfClient, permissionID string) ([]*PermissionResource, error)
	// GetScopePermissions returns permissions associated with the client scope
	GetScopePermissions(ctx context.Context, token, realm, idOfClient, idOfScope string) ([]*PolicyRepresentation, error)
	// GetPermissionScopes returns a client's scopes configured for the given permission id
	GetPermissionScopes(ctx context.Context, token, realm, idOfClient, permissionID string) ([]*PermissionScope, error)
	// GetPermissions returns permissions associated with the client
	GetPermissions(ctx context.Context, token, realm, idOfClient string, params GetPermissionParams) ([]*PermissionRepresentation, error)
	// CreatePermissionTicket creates a permission ticket, using access token from client
	CreatePermissionTicket(ctx context.Context, token, realm string, permissions []CreatePermissionTicketParams) (*PermissionTicketResponseRepresentation, error)
	// GrantUserPermission lets resource owner grant permission for specific resource ID to specific user ID
	GrantUserPermission(ctx context.Context, token, realm string, permission PermissionGrantParams) (*PermissionGrantResponseRepresentation, error)
	// UpdateUserPermission updates user permissions.
	UpdateUserPermission(ctx context.Context, token, realm string, permission PermissionGrantParams) (*PermissionGrantResponseRepresentation, error)
	// GetUserPermissions gets granted permissions according query parameters
	GetUserPermissions(ctx context.Context, token, realm string, params GetUserPermissionParams) ([]*PermissionGrantResponseRepresentation, error)
	// DeleteUserPermission revokes permissions according query parameters
	DeleteUserPermission(ctx context.Context, token, realm, ticketID string) error
	// CreatePermission creates a permission associated with the client
	CreatePermission(ctx context.Context, token, realm, idOfClient string, permission PermissionRepresentation) (*PermissionRepresentation, error)
	// UpdatePermission updates a permission associated with the client
	UpdatePermission(ctx context.Context, token, realm, idOfClient string, permission PermissionRepresentation) error
	// DeletePermission deletes a policy associated with the client
	DeletePermission(ctx context.Context, token, realm, idOfClient, permissionID string) error
	// GetCredentialRegistrators returns credentials registrators
	GetCredentialRegistrators(ctx context.Context, token, realm string) ([]string, error)
	// GetConfiguredUserStorageCredentialTypes returns credential types, which are provided by the user storage where user is stored
	GetConfiguredUserStorageCredentialTypes(ctx context.Context, token, realm, userID string) ([]string, error)
	// GetCredentials returns credentials available for a given user
	GetCredentials(ctx context.Context, token, realm, userID string) ([]*CredentialRepresentation, error)
	// DeleteCredentials deletes the given credential for a given user
	DeleteCredentials(ctx context.Context, token, realm, userID, credentialID string) error
	// UpdateCredentialUserLabel updates label for the given credential for the given user
	UpdateCredentialUserLabel(ctx context.Context, token, realm, userID, credentialID, userLabel string) error
	// DisableAllCredentialsByType disables all credentials for a user of a specific type
	DisableAllCredentialsByType(ctx context.Context, token, realm, userID string, types []string) error
	// MoveCredentialBehind move a credential to a position behind another credential
	MoveCredentialBehind(ctx context.Context, token, realm, userID, credentialID, newPreviousCredentialID string) error
	// MoveCredentialToFirst move a credential to a first position in the credentials list of the user
	MoveCredentialToFirst(ctx context.Context, token, realm, userID, credentialID string) error
	// GetEvents returns events
	GetEvents(ctx context.Context, token string, realm string, params GetEventsParams) ([]*EventRepresentation, error)
	// GetClientScopesScopeMappingsRealmRolesAvailable returns realm-level roles that are available to attach to this client scope
	GetClientScopesScopeMappingsRealmRolesAvailable(ctx context.Context, token, realm, clientScopeID string) ([]*Role, error)
	// GetClientScopesScopeMappingsRealmRoles returns roles associated with a client-scope
	GetClientScopesScopeMappingsRealmRoles(ctx context.Context, token, realm, clientScopeID string) ([]*Role, error)
	// DeleteClientScopesScopeMappingsRealmRoles deletes realm-level roles from the client-scope
	DeleteClientScopesScopeMappingsRealmRoles(ctx context.Context, token, realm, clientScopeID string, roles []Role) error
	// CreateClientScopesScopeMappingsRealmRoles creates realm-level roles to the client scope
	CreateClientScopesScopeMappingsRealmRoles(ctx context.Context, token, realm, clientScopeID string, roles []Role) error
	// RegisterRequiredAction creates a required action for a given realm
	RegisterRequiredAction(ctx context.Context, token string, realm string, requiredAction RequiredActionProviderRepresentation) error
	// GetUnregisteredRequiredActions gets a list of unregistered required actions for a given realm
	GetUnregisteredRequiredActions(ctx context.Context, token string, realm string) ([]*UnregisteredRequiredActionProviderRepresentation, error)
	// GetRequiredActions gets a list of required actions for a given realm
	GetRequiredActions(ctx context.Context, token string, realm string) ([]*RequiredActionProviderRepresentation, error)
	// GetRequiredAction gets a required action for a given realm
	GetRequiredAction(ctx context.Context, token string, realm string, alias string) (*RequiredActionProviderRepresentation, error)
	// UpdateRequiredAction updates a required action for a given realm
	UpdateRequiredAction(ctx context.Context, token string, realm string, requiredAction RequiredActionProviderRepresentation) error
	// DeleteRequiredAction updates a required action for a given realm
	DeleteRequiredAction(ctx context.Context, token string, realm string, alias string) error
	// CreateClientScopesScopeMappingsClientRoles attaches a client role to a client scope (not client's scope)
	CreateClientScopesScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClientScope, idOfClient string, roles []Role) error
	// GetClientScopesScopeMappingsClientRolesAvailable returns available (i.e. not attached via
	// CreateClientScopesScopeMappingsClientRoles) client roles for a specific client, for a client scope
	// (not client's scope).
	GetClientScopesScopeMappingsClientRolesAvailable(ctx context.Context, token, realm, idOfClientScope, idOfClient string) ([]*Role, error)
	// GetClientScopesScopeMappingsClientRoles returns attached client roles for a specific client, for a client scope
	// (not client's scope).
	GetClientScopesScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClientScope, idOfClient string) ([]*Role, error)
	// DeleteClientScopesScopeMappingsClientRoles removes attachment of client roles from a client scope
	// (not client's scope).
	DeleteClientScopesScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClientScope, idOfClient string, roles []Role) error
	// RevokeToken revokes the passed token. The token can either be an access or refresh token.
	RevokeToken(ctx context.Context, realm, clientID, clientSecret, refreshToken string) error
	// UpdateUsersManagementPermissions updates the management permissions for users
	UpdateUsersManagementPermissions(ctx context.Context, accessToken, realm string, managementPermissions ManagementPermissionRepresentation) (*ManagementPermissionRepresentation, error)
	// GetUsersManagementPermissions returns the management permissions for users
	GetUsersManagementPermissions(ctx context.Context, accessToken, realm string) (*ManagementPermissionRepresentation, error)
	// CreateOrganization creates a new Organization
	CreateOrganization(ctx context.Context, token, realm string, organization OrganizationRepresentation) (string, error)
	// GetOrganizations returns a paginated list of organizations filtered according to the specified parameters
	GetOrganizations(ctx context.Context, token, realm string, params GetOrganizationsParams) ([]*OrganizationRepresentation, error)
	// DeleteOrganization deletes the organization
	DeleteOrganization(ctx context.Context, token, realm, idOfOrganization string) error
	// GetOrganizationByID returns the organization representation of the organization with provided ID
	GetOrganizationByID(ctx context.Context, token, realm, idOfOrganization string) (*OrganizationRepresentation, error)
	// UpdateOrganization updates the given organization
	UpdateOrganization(ctx context.Context, token, realm string, organization OrganizationRepresentation) error
	// AddUserToOrganization adds the user with the specified id as a member of the organization
	// Adds, or associates, an existing user with the organization. If no user is found, or if it is already associated with the organization, an error response is returned
	// No invitation email is sent to the user
	AddUserToOrganization(ctx context.Context, token, realm, idOfOrganization, idOfUser string) error
	// RemoveUserFromOrganization removes the user with the specified id from the organization
	RemoveUserFromOrganization(ctx context.Context, token, realm, idOfOrganization, idOfUser string) error
	// GetOrganizationMemberCount returns number of members in the organization.
	GetOrganizationMemberCount(ctx context.Context, token, realm, idOfOrganization string) (int, error)
	// GetOrganizationMemberByID returns the member of the organization with the specified id
	// Searches for a user with the given id. If one is found, and is currently a member of the organization, returns it.
	// Otherwise,an error response with status NOT_FOUND is returned
	GetOrganizationMemberByID(ctx context.Context, token, realm, idOfOrganization, idOfUser string) (*MemberRepresentation, error)
	// GetOrganizationMembers returns a paginated list of organization members filtered according to the specified parameters
	GetOrganizationMembers(ctx context.Context, token, realm, idOfOrganization string, params GetMembersParams) ([]*MemberRepresentation, error)
	// GetMemberAssociatedOrganizations returns the organizations associated with the user that has the specified id
	GetMemberAssociatedOrganizations(ctx context.Context, token, realm, idOfUser string) ([]*OrganizationRepresentation, error)
	// AddOrganizationIdentityProvider adds the identity provider with the specified id to the organization
	AddOrganizationIdentityProvider(ctx context.Context, token, realm, idOfOrganization string, idOrAliasOfIdentityProvider string) error
	// RemoveOrganizationIdentityProvider removes the identity provider with the specified alias from the organization
	RemoveOrganizationIdentityProvider(ctx context.Context, token, realm, idOfOrganization, aliasOfIdentityProvider string) error
	// GetOrganizationIdentityProviderByAlias returns the identity provider associated with the organization that has the specified alias
	GetOrganizationIdentityProviderByAlias(ctx context.Context, token, realm, idOfOrganization, aliasOfIdentityProvider string) (*IdentityProviderRepresentation, error)
	// GetOrganizationIdentityProviders returns all identity providers associated with the organization
	GetOrganizationIdentityProviders(ctx context.Context, token, realm, idOfOrganization string) ([]*IdentityProviderRepresentation, error)
}

GoCloakIface ...

type Group

type Group struct {
	ID          *string              `json:"id,omitempty"`
	Name        *string              `json:"name,omitempty"`
	Path        *string              `json:"path,omitempty"`
	SubGroups   *[]Group             `json:"subGroups,omitempty"`
	Attributes  *map[string][]string `json:"attributes,omitempty"`
	Access      *map[string]bool     `json:"access,omitempty"`
	ClientRoles *map[string][]string `json:"clientRoles,omitempty"`
	RealmRoles  *[]string            `json:"realmRoles,omitempty"`
}

Group is a Group

func (*Group) String

func (v *Group) String() string

type GroupDefinition

type GroupDefinition struct {
	ID             *string `json:"id,omitempty"`
	Path           *string `json:"path,omitempty"`
	ExtendChildren *bool   `json:"extendChildren,omitempty"`
}

GroupDefinition represents a group in a GroupPolicyRepresentation

func (*GroupDefinition) String

func (v *GroupDefinition) String() string

type GroupPolicyRepresentation

type GroupPolicyRepresentation struct {
	Groups      *[]GroupDefinition `json:"groups,omitempty"`
	GroupsClaim *string            `json:"groupsClaim,omitempty"`
}

GroupPolicyRepresentation represents group based policies

func (*GroupPolicyRepresentation) String

func (v *GroupPolicyRepresentation) String() string

type GroupsCount

type GroupsCount struct {
	Count int `json:"count,omitempty"`
}

GroupsCount represents the groups count response from keycloak

func (*GroupsCount) String

func (v *GroupsCount) String() string

type HTTPErrorResponse

type HTTPErrorResponse struct {
	Error       string `json:"error,omitempty"`
	Message     string `json:"errorMessage,omitempty"`
	Description string `json:"error_description,omitempty"`
}

HTTPErrorResponse is a model of an error response

func (HTTPErrorResponse) NotEmpty

func (e HTTPErrorResponse) NotEmpty() bool

NotEmpty validates that error is not emptyp

func (HTTPErrorResponse) String

func (e HTTPErrorResponse) String() string

String returns a string representation of an error

type IdentityProviderMapper

type IdentityProviderMapper struct {
	ID                     *string            `json:"id,omitempty"`
	Name                   *string            `json:"name,omitempty"`
	IdentityProviderMapper *string            `json:"identityProviderMapper,omitempty"`
	IdentityProviderAlias  *string            `json:"identityProviderAlias,omitempty"`
	Config                 *map[string]string `json:"config"`
}

IdentityProviderMapper represents the body of a call to add a mapper to an identity provider

type IdentityProviderRepresentation

type IdentityProviderRepresentation struct {
	AddReadTokenRoleOnCreate  *bool              `json:"addReadTokenRoleOnCreate,omitempty"`
	Alias                     *string            `json:"alias,omitempty"`
	Config                    *map[string]string `json:"config,omitempty"`
	DisplayName               *string            `json:"displayName,omitempty"`
	Enabled                   *bool              `json:"enabled,omitempty"`
	FirstBrokerLoginFlowAlias *string            `json:"firstBrokerLoginFlowAlias,omitempty"`
	InternalID                *string            `json:"internalId,omitempty"`
	LinkOnly                  *bool              `json:"linkOnly,omitempty"`
	PostBrokerLoginFlowAlias  *string            `json:"postBrokerLoginFlowAlias,omitempty"`
	ProviderID                *string            `json:"providerId,omitempty"`
	StoreToken                *bool              `json:"storeToken,omitempty"`
	TrustEmail                *bool              `json:"trustEmail,omitempty"`
}

IdentityProviderRepresentation represents an identity provider

func (*IdentityProviderRepresentation) OrgDomain

func (c *IdentityProviderRepresentation) OrgDomain() string

OrgDomain returns the organization domain configured for the identity provider, or an empty string if not set

func (*IdentityProviderRepresentation) RedirectModeEmailMatches

func (c *IdentityProviderRepresentation) RedirectModeEmailMatches() bool

RedirectModeEmailMatches returns true if the identity provider's redirect mode is set to email domain match

func (*IdentityProviderRepresentation) String

type IntroSpectTokenResult

type IntroSpectTokenResult struct {
	Permissions *[]ResourcePermission `json:"permissions,omitempty"`
	Exp         *int                  `json:"exp,omitempty"`
	Nbf         *int                  `json:"nbf,omitempty"`
	Iat         *int                  `json:"iat,omitempty"`
	Aud         *StringOrArray        `json:"aud,omitempty"`
	Active      *bool                 `json:"active,omitempty"`
	AuthTime    *int                  `json:"auth_time,omitempty"`
	Jti         *string               `json:"jti,omitempty"`
	Type        *string               `json:"typ,omitempty"`
	Azp         *string               `json:"azp,omitempty"`
}

IntroSpectTokenResult is returned when a token was checked

func (*IntroSpectTokenResult) String

func (v *IntroSpectTokenResult) String() string

type InviteeFormParams

type InviteeFormParams struct {
	Email     *string `json:"email,omitempty"`
	FirstName *string `json:"firstname,omitempty"`
	LastName  *string `json:"lastname,omitempty"`
}

InviteeFormParams represents the form parameters used to invite a user to an organization

func (*InviteeFormParams) String

func (v *InviteeFormParams) String() string

type IssuerResponse

type IssuerResponse struct {
	Realm           *string `json:"realm,omitempty"`
	PublicKey       *string `json:"public_key,omitempty"`
	TokenService    *string `json:"token-service,omitempty"`
	AccountService  *string `json:"account-service,omitempty"`
	TokensNotBefore *int    `json:"tokens-not-before,omitempty"`
}

IssuerResponse is returned by the issuer endpoint

func (*IssuerResponse) String

func (v *IssuerResponse) String() string

type JSPolicyRepresentation

type JSPolicyRepresentation struct {
	Code *string `json:"code,omitempty"`
}

JSPolicyRepresentation represents js based policies

func (*JSPolicyRepresentation) String

func (v *JSPolicyRepresentation) String() string

type JWT

type JWT struct {
	AccessToken      string `json:"access_token"`
	IDToken          string `json:"id_token"`
	ExpiresIn        int    `json:"expires_in"`
	RefreshExpiresIn int    `json:"refresh_expires_in"`
	RefreshToken     string `json:"refresh_token"`
	TokenType        string `json:"token_type"`
	NotBeforePolicy  int    `json:"not-before-policy"`
	SessionState     string `json:"session_state"`
	Scope            string `json:"scope"`
}

JWT is a JWT

type Key

type Key struct {
	ProviderID       *string `json:"providerId,omitempty"`
	ProviderPriority *int    `json:"providerPriority,omitempty"`
	Kid              *string `json:"kid,omitempty"`
	Status           *string `json:"status,omitempty"`
	Type             *string `json:"type,omitempty"`
	Algorithm        *string `json:"algorithm,omitempty"`
	PublicKey        *string `json:"publicKey,omitempty"`
	Certificate      *string `json:"certificate,omitempty"`
}

Key is a key

func (*Key) String

func (v *Key) String() string

type KeyStoreConfig

type KeyStoreConfig struct {
	ActiveKeys *ActiveKeys `json:"active,omitempty"`
	Key        *[]Key      `json:"keys,omitempty"`
}

KeyStoreConfig holds the keyStoreConfig

func (*KeyStoreConfig) String

func (v *KeyStoreConfig) String() string

type Logic

type Logic string

Logic is an enum type for policy logic

func LogicP

func LogicP(value Logic) *Logic

LogicP returns a pointer for a Logic value

type ManagementPermissionRepresentation

type ManagementPermissionRepresentation struct {
	Enabled          *bool              `json:"enabled,omitempty"`
	Resource         *string            `json:"resource,omitempty"`
	ScopePermissions *map[string]string `json:"scopePermissions,omitempty"`
}

ManagementPermissionRepresentation is a representation of management permissions v18: https://www.keycloak.org/docs-api/18.0/rest-api/#_managementpermissionreference

type MappingsRepresentation

type MappingsRepresentation struct {
	ClientMappings map[string]*ClientMappingsRepresentation `json:"clientMappings,omitempty"`
	RealmMappings  *[]Role                                  `json:"realmMappings,omitempty"`
}

MappingsRepresentation is a representation of role mappings

func (*MappingsRepresentation) String

func (v *MappingsRepresentation) String() string

type MemberRepresentation

type MemberRepresentation struct {
	User
	// Type not defined in the Keycloak doc so I left it unexported. Help if you have more information
	MembershipType *MembershipType `json:"membershipetype,omitempty"`
}

MemberRepresentation represents a member of an organization v26: https://www.keycloak.org/docs-api/latest/rest-api/index.html#MemberRepresentation

func (*MemberRepresentation) String

func (v *MemberRepresentation) String() string

type MembershipType

type MembershipType struct{}

MembershipType represent the membership type of an organization member. v26: https://www.keycloak.org/docs-api/latest/rest-api/index.html#MembershipType

func (*MembershipType) String

func (v *MembershipType) String() string

type MemoryInfoRepresentation

type MemoryInfoRepresentation struct {
	Free           *int    `json:"free,omitempty"`
	FreeFormated   *string `json:"freeFormated,omitempty"`
	FreePercentage *int    `json:"freePercentage,omitempty"`
	Total          *int    `json:"total,omitempty"`
	TotalFormated  *string `json:"totalFormated,omitempty"`
	Used           *int    `json:"used,omitempty"`
	UsedFormated   *string `json:"usedFormated,omitempty"`
}

MemoryInfoRepresentation represents a memory info

func (*MemoryInfoRepresentation) String

func (v *MemoryInfoRepresentation) String() string

type ModifyAuthenticationExecutionRepresentation

type ModifyAuthenticationExecutionRepresentation struct {
	ID                   *string   `json:"id,omitempty"`
	ProviderID           *string   `json:"providerId,omitempty"`
	AuthenticationConfig *string   `json:"authenticationConfig,omitempty"`
	AuthenticationFlow   *bool     `json:"authenticationFlow,omitempty"`
	Requirement          *string   `json:"requirement,omitempty"`
	FlowID               *string   `json:"flowId"`
	DisplayName          *string   `json:"displayName,omitempty"`
	Alias                *string   `json:"alias,omitempty"`
	RequirementChoices   *[]string `json:"requirementChoices,omitempty"`
	Configurable         *bool     `json:"configurable,omitempty"`
	Level                *int      `json:"level,omitempty"`
	Index                *int      `json:"index,omitempty"`
	Description          *string   `json:"description"`
}

ModifyAuthenticationExecutionRepresentation is the payload for updating an execution representation

type MultiValuedHashMap

type MultiValuedHashMap struct {
	Empty      *bool    `json:"empty,omitempty"`
	LoadFactor *float32 `json:"loadFactor,omitempty"`
	Threshold  *int32   `json:"threshold,omitempty"`
}

MultiValuedHashMap represents something

func (*MultiValuedHashMap) String

func (v *MultiValuedHashMap) String() string

type OrganizationDomainRepresentation

type OrganizationDomainRepresentation struct {
	Name     *string `json:"name,omitempty"`
	Verified *bool   `json:"verified,omitempty"`
}

OrganizationDomainRepresentation is a representation of an organization's domain v26: https://www.keycloak.org/docs-api/latest/rest-api/index.html#OrganizationOrganizationDomainRepresentation

func (*OrganizationDomainRepresentation) String

type OrganizationRepresentation

type OrganizationRepresentation struct {
	ID                *string                             `json:"id,omitempty"`
	Name              *string                             `json:"name,omitempty"`
	Alias             *string                             `json:"alias,omitempty"`
	Enabled           *bool                               `json:"enabled,omitempty"`
	Description       *string                             `json:"description,omitempty"`
	RedirectURL       *string                             `json:"redirectUrl,omitempty"`
	Attributes        *map[string][]string                `json:"attributes,omitempty"`
	Domains           *[]OrganizationDomainRepresentation `json:"domains,omitempty"`
	Members           *[]MemberRepresentation             `json:"members,omitempty"`
	IdentityProviders *[]IdentityProviderRepresentation   `json:"identityProviders,omitempty"`
}

OrganizationRepresentation is a representation of an organization v26: https://www.keycloak.org/docs-api/latest/rest-api/index.html#OrganizationRepresentation

func (*OrganizationRepresentation) String

func (v *OrganizationRepresentation) String() string

type PasswordPolicy

type PasswordPolicy struct {
	ConfigType        string `json:"configType,omitempty"`
	DefaultValue      string `json:"defaultValue,omitempty"`
	DisplayName       string `json:"displayName,omitempty"`
	ID                string `json:"id,omitempty"`
	MultipleSupported bool   `json:"multipleSupported,omitempty"`
}

PasswordPolicy represents the configuration for a supported password policy

type PermissionGrantParams

type PermissionGrantParams struct {
	ResourceID  *string `json:"resource,omitempty"`
	RequesterID *string `json:"requester,omitempty"`
	Granted     *bool   `json:"granted,omitempty"`
	ScopeName   *string `json:"scopeName,omitempty"`
	TicketID    *string `json:"id,omitempty"`
}

PermissionGrantParams represents the permission which the resource owner is granting to a specific user

func (*PermissionGrantParams) String

func (v *PermissionGrantParams) String() string

type PermissionGrantResponseRepresentation

type PermissionGrantResponseRepresentation struct {
	ID          *string `json:"id,omitempty"`
	Owner       *string `json:"owner,omitempty"`
	ResourceID  *string `json:"resource,omitempty"`
	Scope       *string `json:"scope,omitempty"`
	Granted     *bool   `json:"granted,omitempty"`
	RequesterID *string `json:"requester,omitempty"`
}

PermissionGrantResponseRepresentation represents the reply from Keycloack after granting permission

func (*PermissionGrantResponseRepresentation) String

type PermissionRepresentation

type PermissionRepresentation struct {
	DecisionStrategy *DecisionStrategy `json:"decisionStrategy,omitempty"`
	Description      *string           `json:"description,omitempty"`
	ID               *string           `json:"id,omitempty"`
	Logic            *Logic            `json:"logic,omitempty"`
	Name             *string           `json:"name,omitempty"`
	Policies         *[]string         `json:"policies,omitempty"`
	Resources        *[]string         `json:"resources,omitempty"`
	ResourceType     *string           `json:"resourceType,omitempty"`
	Scopes           *[]string         `json:"scopes,omitempty"`
	Type             *string           `json:"type,omitempty"`
}

PermissionRepresentation is a representation of a RequestingPartyPermission

func (*PermissionRepresentation) String

func (v *PermissionRepresentation) String() string

type PermissionResource

type PermissionResource struct {
	ResourceID   *string `json:"_id,omitempty"`
	ResourceName *string `json:"name,omitempty"`
}

PermissionResource represents a resources asscoiated with a permission

func (*PermissionResource) String

func (v *PermissionResource) String() string

type PermissionScope

type PermissionScope struct {
	ScopeID   *string `json:"id,omitempty"`
	ScopeName *string `json:"name,omitempty"`
}

PermissionScope represents scopes associated with a permission

func (*PermissionScope) String

func (v *PermissionScope) String() string

type PermissionTicketDescriptionRepresentation

type PermissionTicketDescriptionRepresentation struct {
	ID                     *string               `json:"id,omitempty"`
	CreatedTimeStamp       *int64                `json:"createdTimestamp,omitempty"`
	UserName               *string               `json:"username,omitempty"`
	Enabled                *bool                 `json:"enabled,omitempty"`
	TOTP                   *bool                 `json:"totp,omitempty"`
	EmailVerified          *bool                 `json:"emailVerified,omitempty"`
	FirstName              *string               `json:"firstName,omitempty"`
	LastName               *string               `json:"lastName,omitempty"`
	Email                  *string               `json:"email,omitempty"`
	DisableCredentialTypes *[]string             `json:"disableCredentialTypes,omitempty"`
	RequiredActions        *[]string             `json:"requiredActions,omitempty"`
	NotBefore              *int64                `json:"notBefore,omitempty"`
	Access                 *AccessRepresentation `json:"access,omitempty"`
}

PermissionTicketDescriptionRepresentation represents the parameters returned along with a permission ticket

func (*PermissionTicketDescriptionRepresentation) String

type PermissionTicketPermissionRepresentation

type PermissionTicketPermissionRepresentation struct {
	Scopes *[]string `json:"scopes,omitempty"`
	RSID   *string   `json:"rsid,omitempty"`
}

PermissionTicketPermissionRepresentation represents the individual permissions in a permission ticket

func (*PermissionTicketPermissionRepresentation) String

type PermissionTicketRepresentation

type PermissionTicketRepresentation struct {
	AZP         *string                                     `json:"azp,omitempty"`
	Claims      *map[string][]string                        `json:"claims,omitempty"`
	Permissions *[]PermissionTicketPermissionRepresentation `json:"permissions,omitempty"`
	jwt.RegisteredClaims
}

PermissionTicketRepresentation represents the permission ticket contents

func (*PermissionTicketRepresentation) String

type PermissionTicketResponseRepresentation

type PermissionTicketResponseRepresentation struct {
	Ticket *string `json:"ticket,omitempty"`
}

PermissionTicketResponseRepresentation represents the keycloak response containing the permission ticket

func (*PermissionTicketResponseRepresentation) String

type PolicyEnforcementMode

type PolicyEnforcementMode string

PolicyEnforcementMode is an enum type for PolicyEnforcementMode of ResourceServerRepresentation

func PolicyEnforcementModeP

func PolicyEnforcementModeP(value PolicyEnforcementMode) *PolicyEnforcementMode

PolicyEnforcementModeP returns a pointer for a PolicyEnforcementMode value

type PolicyRepresentation

type PolicyRepresentation struct {
	Config           *map[string]string `json:"config,omitempty"`
	DecisionStrategy *DecisionStrategy  `json:"decisionStrategy,omitempty"`
	Description      *string            `json:"description,omitempty"`
	ID               *string            `json:"id,omitempty"`
	Logic            *Logic             `json:"logic,omitempty"`
	Name             *string            `json:"name,omitempty"`
	Owner            *string            `json:"owner,omitempty"`
	Policies         *[]string          `json:"policies,omitempty"`
	Resources        *[]string          `json:"resources,omitempty"`
	Scopes           *[]string          `json:"scopes,omitempty"`
	Type             *string            `json:"type,omitempty"`
	RolePolicyRepresentation
	JSPolicyRepresentation
	ClientPolicyRepresentation
	TimePolicyRepresentation
	UserPolicyRepresentation
	AggregatedPolicyRepresentation
	GroupPolicyRepresentation
}

PolicyRepresentation is a representation of a Policy

func (*PolicyRepresentation) String

func (v *PolicyRepresentation) String() string

type PolicyResourceRepresentation

type PolicyResourceRepresentation struct {
	ID   *string `json:"_id,omitempty"`
	Name *string `json:"name,omitempty"`
}

PolicyResourceRepresentation is a representation of a resource of specific policy

type PolicyScopeRepresentation

type PolicyScopeRepresentation struct {
	ID   *string `json:"id,omitempty"`
	Name *string `json:"name,omitempty"`
}

PolicyScopeRepresentation is a representation of a scopes of specific policy

type ProtocolMapperRepresentation

type ProtocolMapperRepresentation struct {
	Config          *map[string]string `json:"config,omitempty"`
	ID              *string            `json:"id,omitempty"`
	Name            *string            `json:"name,omitempty"`
	Protocol        *string            `json:"protocol,omitempty"`
	ProtocolMapper  *string            `json:"protocolMapper,omitempty"`
	ConsentRequired *bool              `json:"consentRequired,omitempty"`
}

ProtocolMapperRepresentation represents....

func (*ProtocolMapperRepresentation) String

type ProtocolMapperType

type ProtocolMapperType struct {
	ID         string                       `json:"id,omitempty"`
	Name       string                       `json:"name,omitempty"`
	Category   string                       `json:"category,omitempty"`
	HelpText   string                       `json:"helpText,omitempty"`
	Priority   int                          `json:"priority,omitempty"`
	Properties []ProtocolMapperTypeProperty `json:"properties,omitempty"`
}

ProtocolMapperType represents a type of protocol mapper

type ProtocolMapperTypeProperty

type ProtocolMapperTypeProperty struct {
	Name         string         `json:"name,omitempty"`
	Label        string         `json:"label,omitempty"`
	HelpText     string         `json:"helpText,omitempty"`
	Type         string         `json:"type,omitempty"`
	Options      []string       `json:"options,omitempty"`
	DefaultValue EnforcedString `json:"defaultValue,omitempty"`
	Secret       bool           `json:"secret,omitempty"`
	ReadOnly     bool           `json:"readOnly,omitempty"`
}

ProtocolMapperTypeProperty represents a property of a ProtocolMapperType

type ProtocolMapperTypes

type ProtocolMapperTypes struct {
	DockerV2      []ProtocolMapperType `json:"docker-v2,omitempty"`
	SAML          []ProtocolMapperType `json:"saml,omitempty"`
	OpenIDConnect []ProtocolMapperType `json:"openid-connect,omitempty"`
}

ProtocolMapperTypes holds the currently available ProtocolMapperType-s grouped by protocol

type ProtocolMappers

type ProtocolMappers struct {
	ID                    *string                `json:"id,omitempty"`
	Name                  *string                `json:"name,omitempty"`
	Protocol              *string                `json:"protocol,omitempty"`
	ProtocolMapper        *string                `json:"protocolMapper,omitempty"`
	ConsentRequired       *bool                  `json:"consentRequired,omitempty"`
	ProtocolMappersConfig *ProtocolMappersConfig `json:"config,omitempty"`
}

ProtocolMappers are protocolmappers

func (*ProtocolMappers) String

func (v *ProtocolMappers) String() string

type ProtocolMappersConfig

type ProtocolMappersConfig struct {
	UserinfoTokenClaim                 *string `json:"userinfo.token.claim,omitempty"`
	UserAttribute                      *string `json:"user.attribute,omitempty"`
	IDTokenClaim                       *string `json:"id.token.claim,omitempty"`
	AccessTokenClaim                   *string `json:"access.token.claim,omitempty"`
	ClaimName                          *string `json:"claim.name,omitempty"`
	ClaimValue                         *string `json:"claim.value,omitempty"`
	JSONTypeLabel                      *string `json:"jsonType.label,omitempty"`
	Multivalued                        *string `json:"multivalued,omitempty"`
	AggregateAttrs                     *string `json:"aggregate.attrs,omitempty"`
	UsermodelClientRoleMappingClientID *string `json:"usermodel.clientRoleMapping.clientId,omitempty"`
	IncludedClientAudience             *string `json:"included.client.audience,omitempty"`
	FullPath                           *string `json:"full.path,omitempty"`
	AttributeName                      *string `json:"attribute.name,omitempty"`
	AttributeNameFormat                *string `json:"attribute.nameformat,omitempty"`
	Single                             *string `json:"single,omitempty"`
	Script                             *string `json:"script,omitempty"`
	AddOrganizationAttributes          *string `json:"addOrganizationAttributes,omitempty"`
	AddOrganizationId                  *string `json:"addOrganizationId,omitempty"`
}

ProtocolMappersConfig is a config of a protocol mapper

func (*ProtocolMappersConfig) String

func (v *ProtocolMappersConfig) String() string

type RealmRepresentation

type RealmRepresentation struct {
	AccessCodeLifespan                                        *int                      `json:"accessCodeLifespan,omitempty"`
	AccessCodeLifespanLogin                                   *int                      `json:"accessCodeLifespanLogin,omitempty"`
	AccessCodeLifespanUserAction                              *int                      `json:"accessCodeLifespanUserAction,omitempty"`
	AccessTokenLifespan                                       *int                      `json:"accessTokenLifespan,omitempty"`
	AccessTokenLifespanForImplicitFlow                        *int                      `json:"accessTokenLifespanForImplicitFlow,omitempty"`
	AccountTheme                                              *string                   `json:"accountTheme,omitempty"`
	ActionTokenGeneratedByAdminLifespan                       *int                      `json:"actionTokenGeneratedByAdminLifespan,omitempty"`
	ActionTokenGeneratedByUserLifespan                        *int                      `json:"actionTokenGeneratedByUserLifespan,omitempty"`
	AdminEventsDetailsEnabled                                 *bool                     `json:"adminEventsDetailsEnabled,omitempty"`
	AdminEventsEnabled                                        *bool                     `json:"adminEventsEnabled,omitempty"`
	AdminTheme                                                *string                   `json:"adminTheme,omitempty"`
	Attributes                                                *map[string]string        `json:"attributes,omitempty"`
	AuthenticationFlows                                       *[]interface{}            `json:"authenticationFlows,omitempty"`
	AuthenticatorConfig                                       *[]interface{}            `json:"authenticatorConfig,omitempty"`
	BrowserFlow                                               *string                   `json:"browserFlow,omitempty"`
	BrowserSecurityHeaders                                    *map[string]string        `json:"browserSecurityHeaders,omitempty"`
	BruteForceProtected                                       *bool                     `json:"bruteForceProtected,omitempty"`
	ClientAuthenticationFlow                                  *string                   `json:"clientAuthenticationFlow,omitempty"`
	ClientPolicies                                            *map[string][]interface{} `json:"clientPolicies,omitempty"`
	ClientProfiles                                            *map[string][]interface{} `json:"clientProfiles,omitempty"`
	ClientScopeMappings                                       *map[string][]interface{} `json:"clientScopeMappings,omitempty"`
	ClientScopes                                              *[]ClientScope            `json:"clientScopes,omitempty"`
	Clients                                                   *[]Client                 `json:"clients,omitempty"`
	Components                                                interface{}               `json:"components,omitempty"`
	DefaultDefaultClientScopes                                *[]string                 `json:"defaultDefaultClientScopes,omitempty"`
	DefaultGroups                                             *[]string                 `json:"defaultGroups,omitempty"`
	DefaultLocale                                             *string                   `json:"defaultLocale,omitempty"`
	DefaultOptionalClientScopes                               *[]string                 `json:"defaultOptionalClientScopes,omitempty"`
	DefaultRole                                               *Role                     `json:"defaultRole,omitempty"`
	DefaultRoles                                              *[]string                 `json:"defaultRoles,omitempty"`
	DefaultSignatureAlgorithm                                 *string                   `json:"defaultSignatureAlgorithm,omitempty"`
	DirectGrantFlow                                           *string                   `json:"directGrantFlow,omitempty"`
	DisplayName                                               *string                   `json:"displayName,omitempty"`
	DisplayNameHTML                                           *string                   `json:"displayNameHtml,omitempty"`
	DockerAuthenticationFlow                                  *string                   `json:"dockerAuthenticationFlow,omitempty"`
	DuplicateEmailsAllowed                                    *bool                     `json:"duplicateEmailsAllowed,omitempty"`
	EditUsernameAllowed                                       *bool                     `json:"editUsernameAllowed,omitempty"`
	EmailTheme                                                *string                   `json:"emailTheme,omitempty"`
	Enabled                                                   *bool                     `json:"enabled,omitempty"`
	EnabledEventTypes                                         *[]string                 `json:"enabledEventTypes,omitempty"`
	EventsEnabled                                             *bool                     `json:"eventsEnabled,omitempty"`
	EventsExpiration                                          *int64                    `json:"eventsExpiration,omitempty"`
	EventsListeners                                           *[]string                 `json:"eventsListeners,omitempty"`
	FailureFactor                                             *int                      `json:"failureFactor,omitempty"`
	FederatedUsers                                            *[]interface{}            `json:"federatedUsers,omitempty"`
	Groups                                                    *[]interface{}            `json:"groups,omitempty"`
	ID                                                        *string                   `json:"id,omitempty"`
	IdentityProviderMappers                                   *[]interface{}            `json:"identityProviderMappers,omitempty"`
	IdentityProviders                                         *[]interface{}            `json:"identityProviders,omitempty"`
	InternationalizationEnabled                               *bool                     `json:"internationalizationEnabled,omitempty"`
	KeycloakVersion                                           *string                   `json:"keycloakVersion,omitempty"`
	LoginTheme                                                *string                   `json:"loginTheme,omitempty"`
	LoginWithEmailAllowed                                     *bool                     `json:"loginWithEmailAllowed,omitempty"`
	MaxDeltaTimeSeconds                                       *int                      `json:"maxDeltaTimeSeconds,omitempty"`
	MaxFailureWaitSeconds                                     *int                      `json:"maxFailureWaitSeconds,omitempty"`
	MinimumQuickLoginWaitSeconds                              *int                      `json:"minimumQuickLoginWaitSeconds,omitempty"`
	NotBefore                                                 *int                      `json:"notBefore,omitempty"`
	OfflineSessionIdleTimeout                                 *int                      `json:"offlineSessionIdleTimeout,omitempty"`
	OfflineSessionMaxLifespan                                 *int                      `json:"offlineSessionMaxLifespan,omitempty"`
	OfflineSessionMaxLifespanEnabled                          *bool                     `json:"offlineSessionMaxLifespanEnabled,omitempty"`
	OrganizationsEnabled                                      *bool                     `json:"organizationsEnabled,omitempty"`
	OtpPolicyAlgorithm                                        *string                   `json:"otpPolicyAlgorithm,omitempty"`
	OtpPolicyDigits                                           *int                      `json:"otpPolicyDigits,omitempty"`
	OtpPolicyInitialCounter                                   *int                      `json:"otpPolicyInitialCounter,omitempty"`
	OtpPolicyLookAheadWindow                                  *int                      `json:"otpPolicyLookAheadWindow,omitempty"`
	OtpPolicyPeriod                                           *int                      `json:"otpPolicyPeriod,omitempty"`
	OtpPolicyType                                             *string                   `json:"otpPolicyType,omitempty"`
	OtpSupportedApplications                                  *[]string                 `json:"otpSupportedApplications,omitempty"`
	PasswordPolicy                                            *string                   `json:"passwordPolicy,omitempty"`
	PermanentLockout                                          *bool                     `json:"permanentLockout,omitempty"`
	ProtocolMappers                                           *[]interface{}            `json:"protocolMappers,omitempty"`
	QuickLoginCheckMilliSeconds                               *int64                    `json:"quickLoginCheckMilliSeconds,omitempty"`
	Realm                                                     *string                   `json:"realm,omitempty"`
	RefreshTokenMaxReuse                                      *int                      `json:"refreshTokenMaxReuse,omitempty"`
	RegistrationAllowed                                       *bool                     `json:"registrationAllowed,omitempty"`
	RegistrationEmailAsUsername                               *bool                     `json:"registrationEmailAsUsername,omitempty"`
	RegistrationFlow                                          *string                   `json:"registrationFlow,omitempty"`
	RememberMe                                                *bool                     `json:"rememberMe,omitempty"`
	RequiredActions                                           *[]interface{}            `json:"requiredActions,omitempty"`
	ResetCredentialsFlow                                      *string                   `json:"resetCredentialsFlow,omitempty"`
	ResetPasswordAllowed                                      *bool                     `json:"resetPasswordAllowed,omitempty"`
	RevokeRefreshToken                                        *bool                     `json:"revokeRefreshToken,omitempty"`
	Roles                                                     *RolesRepresentation      `json:"roles,omitempty"`
	ScopeMappings                                             *[]interface{}            `json:"scopeMappings,omitempty"`
	SMTPServer                                                *map[string]string        `json:"smtpServer,omitempty"`
	SslRequired                                               *string                   `json:"sslRequired,omitempty"`
	SsoSessionIdleTimeout                                     *int                      `json:"ssoSessionIdleTimeout,omitempty"`
	SsoSessionIdleTimeoutRememberMe                           *int                      `json:"ssoSessionIdleTimeoutRememberMe,omitempty"`
	SsoSessionMaxLifespan                                     *int                      `json:"ssoSessionMaxLifespan,omitempty"`
	SsoSessionMaxLifespanRememberMe                           *int                      `json:"ssoSessionMaxLifespanRememberMe,omitempty"`
	SupportedLocales                                          *[]string                 `json:"supportedLocales,omitempty"`
	UserFederationMappers                                     *[]interface{}            `json:"userFederationMappers,omitempty"`
	UserFederationProviders                                   *[]interface{}            `json:"userFederationProviders,omitempty"`
	UserManagedAccessAllowed                                  *bool                     `json:"userManagedAccessAllowed,omitempty"`
	Users                                                     *[]User                   `json:"users,omitempty"`
	VerifyEmail                                               *bool                     `json:"verifyEmail,omitempty"`
	WaitIncrementSeconds                                      *int                      `json:"waitIncrementSeconds,omitempty"`
	WebAuthnPolicyAcceptableAaguids                           *[]string                 `json:"webAuthnPolicyAcceptableAaguids,omitempty"`
	WebAuthnPolicyAttestationConveyancePreference             *string                   `json:"webAuthnPolicyAttestationConveyancePreference,omitempty"`
	WebAuthnPolicyAuthenticatorAttachment                     *string                   `json:"webAuthnPolicyAuthenticatorAttachment,omitempty"`
	WebAuthnPolicyAvoidSameAuthenticatorRegister              *bool                     `json:"webAuthnPolicyAvoidSameAuthenticatorRegister,omitempty"`
	WebAuthnPolicyCreateTimeout                               *int                      `json:"webAuthnPolicyCreateTimeout,omitempty"`
	WebAuthnPolicyPasswordlessAcceptableAaguids               *[]string                 `json:"webAuthnPolicyPasswordlessAcceptableAaguids,omitempty"`
	WebAuthnPolicyPasswordlessAttestationConveyancePreference *string                   `json:"webAuthnPolicyPasswordlessAttestationConveyancePreference,omitempty"`
	WebAuthnPolicyPasswordlessAuthenticatorAttachment         *string                   `json:"webAuthnPolicyPasswordlessAuthenticatorAttachment,omitempty"`
	WebAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister  *bool                     `json:"webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister,omitempty"`
	WebAuthnPolicyPasswordlessCreateTimeout                   *int                      `json:"webAuthnPolicyPasswordlessCreateTimeout,omitempty"`
	WebAuthnPolicyPasswordlessRequireResidentKey              *string                   `json:"webAuthnPolicyPasswordlessRequireResidentKey,omitempty"`
	WebAuthnPolicyPasswordlessRpEntityName                    *string                   `json:"webAuthnPolicyPasswordlessRpEntityName,omitempty"`
	WebAuthnPolicyPasswordlessRpID                            *string                   `json:"webAuthnPolicyPasswordlessRpId,omitempty"`
	WebAuthnPolicyPasswordlessSignatureAlgorithms             *[]string                 `json:"webAuthnPolicyPasswordlessSignatureAlgorithms,omitempty"`
	WebAuthnPolicyPasswordlessUserVerificationRequirement     *string                   `json:"webAuthnPolicyPasswordlessUserVerificationRequirement,omitempty"`
	WebAuthnPolicyRequireResidentKey                          *string                   `json:"webAuthnPolicyRequireResidentKey,omitempty"`
	WebAuthnPolicyRpEntityName                                *string                   `json:"webAuthnPolicyRpEntityName,omitempty"`
	WebAuthnPolicyRpID                                        *string                   `json:"webAuthnPolicyRpId,omitempty"`
	WebAuthnPolicySignatureAlgorithms                         *[]string                 `json:"webAuthnPolicySignatureAlgorithms,omitempty"`
	WebAuthnPolicyUserVerificationRequirement                 *string                   `json:"webAuthnPolicyUserVerificationRequirement,omitempty"`
}

RealmRepresentation represents a realm https://www.keycloak.org/docs-api/latest/rest-api/index.html#RealmRepresentation

func (*RealmRepresentation) String

func (v *RealmRepresentation) String() string

type RequestingPartyPermission

type RequestingPartyPermission struct {
	Claims       *map[string]string `json:"claims,omitempty"`
	ResourceID   *string            `json:"rsid,omitempty"`
	ResourceName *string            `json:"rsname,omitempty"`
	Scopes       *[]string          `json:"scopes,omitempty"`
}

RequestingPartyPermission is returned by request party token with response type set to "permissions"

func (*RequestingPartyPermission) String

func (v *RequestingPartyPermission) String() string

type RequestingPartyPermissionDecision

type RequestingPartyPermissionDecision struct {
	Result *bool `json:"result,omitempty"`
}

RequestingPartyPermissionDecision is returned by request party token with response type set to "decision"

type RequestingPartyTokenOptions

type RequestingPartyTokenOptions struct {
	GrantType                     *string   `json:"grant_type,omitempty"`
	Ticket                        *string   `json:"ticket,omitempty"`
	ClaimToken                    *string   `json:"claim_token,omitempty"`
	ClaimTokenFormat              *string   `json:"claim_token_format,omitempty"`
	RPT                           *string   `json:"rpt,omitempty"`
	Permissions                   *[]string `json:"-"`
	PermissionResourceFormat      *string   `json:"permission_resource_format,omitempty"`
	PermissionResourceMatchingURI *bool     `json:"permission_resource_matching_uri,string,omitempty"`
	Audience                      *string   `json:"audience,omitempty"`
	ResponseIncludeResourceName   *bool     `json:"response_include_resource_name,string,omitempty"`
	ResponsePermissionsLimit      *uint32   `json:"response_permissions_limit,omitempty"`
	SubmitRequest                 *bool     `json:"submit_request,string,omitempty"`
	ResponseMode                  *string   `json:"response_mode,omitempty"`
	SubjectToken                  *string   `json:"subject_token,omitempty"`
}

RequestingPartyTokenOptions represents the options to obtain a requesting party token

func (*RequestingPartyTokenOptions) FormData

func (t *RequestingPartyTokenOptions) FormData() map[string]string

FormData returns a map of options to be used in SetFormData function

func (*RequestingPartyTokenOptions) String

func (t *RequestingPartyTokenOptions) String() string

type RequiredActionProviderRepresentation

type RequiredActionProviderRepresentation struct {
	Alias         *string            `json:"alias,omitempty"`
	Config        *map[string]string `json:"config,omitempty"`
	DefaultAction *bool              `json:"defaultAction,omitempty"`
	Enabled       *bool              `json:"enabled,omitempty"`
	Name          *string            `json:"name,omitempty"`
	Priority      *int32             `json:"priority,omitempty"`
	ProviderID    *string            `json:"providerId,omitempty"`
}

RequiredActionProviderRepresentation is a representation of required actions v15: https://www.keycloak.org/docs-api/15.0/rest-api/index.html#_requiredactionproviderrepresentation

func (*RequiredActionProviderRepresentation) String

type ResourceOwnerRepresentation

type ResourceOwnerRepresentation struct {
	ID   *string `json:"id,omitempty"`
	Name *string `json:"name,omitempty"`
}

ResourceOwnerRepresentation represents a resource's owner

func (*ResourceOwnerRepresentation) String

func (v *ResourceOwnerRepresentation) String() string

type ResourcePermission

type ResourcePermission struct {
	RSID           *string   `json:"rsid,omitempty"`
	ResourceID     *string   `json:"resource_id,omitempty"`
	RSName         *string   `json:"rsname,omitempty"`
	Scopes         *[]string `json:"scopes,omitempty"`
	ResourceScopes *[]string `json:"resource_scopes,omitempty"`
}

ResourcePermission represents a permission granted to a resource

func (*ResourcePermission) String

func (v *ResourcePermission) String() string

type ResourcePolicyRepresentation

type ResourcePolicyRepresentation struct {
	Name             *string           `json:"name,omitempty"`
	Description      *string           `json:"description,omitempty"`
	Scopes           *[]string         `json:"scopes,omitempty"`
	Roles            *[]string         `json:"roles,omitempty"`
	Groups           *[]string         `json:"groups,omitempty"`
	Clients          *[]string         `json:"clients,omitempty"`
	ID               *string           `json:"id,omitempty"`
	Logic            *Logic            `json:"logic,omitempty"`
	DecisionStrategy *DecisionStrategy `json:"decisionStrategy,omitempty"`
	Owner            *string           `json:"owner,omitempty"`
	Type             *string           `json:"type,omitempty"`
	Users            *[]string         `json:"users,omitempty"`
}

ResourcePolicyRepresentation is a representation of a Policy applied to a resource

func (*ResourcePolicyRepresentation) String

type ResourceRepresentation

type ResourceRepresentation struct {
	ID                 *string                      `json:"_id,omitempty"` // TODO: is marked "_optional" in template, input error or deliberate?
	Attributes         *map[string][]string         `json:"attributes,omitempty"`
	DisplayName        *string                      `json:"displayName,omitempty"`
	IconURI            *string                      `json:"icon_uri,omitempty"` // TODO: With "_" because that's how it's written down in the template
	Name               *string                      `json:"name,omitempty"`
	Owner              *ResourceOwnerRepresentation `json:"owner,omitempty"`
	OwnerManagedAccess *bool                        `json:"ownerManagedAccess,omitempty"`
	ResourceScopes     *[]ScopeRepresentation       `json:"resource_scopes,omitempty"`
	Scopes             *[]ScopeRepresentation       `json:"scopes,omitempty"`
	Type               *string                      `json:"type,omitempty"`
	URIs               *[]string                    `json:"uris,omitempty"`
}

ResourceRepresentation is a representation of a Resource

func (*ResourceRepresentation) String

func (v *ResourceRepresentation) String() string

type ResourceServerRepresentation

type ResourceServerRepresentation struct {
	AllowRemoteResourceManagement *bool                     `json:"allowRemoteResourceManagement,omitempty"`
	ClientID                      *string                   `json:"clientId,omitempty"`
	ID                            *string                   `json:"id,omitempty"`
	Name                          *string                   `json:"name,omitempty"`
	Policies                      *[]PolicyRepresentation   `json:"policies,omitempty"`
	PolicyEnforcementMode         *PolicyEnforcementMode    `json:"policyEnforcementMode,omitempty"`
	Resources                     *[]ResourceRepresentation `json:"resources,omitempty"`
	Scopes                        *[]ScopeRepresentation    `json:"scopes,omitempty"`
	DecisionStrategy              *DecisionStrategy         `json:"decisionStrategy,omitempty"`
}

ResourceServerRepresentation represents the resources of a Server

func (*ResourceServerRepresentation) String

type Role

type Role struct {
	ID                 *string                   `json:"id,omitempty"`
	Name               *string                   `json:"name,omitempty"`
	ScopeParamRequired *bool                     `json:"scopeParamRequired,omitempty"`
	Composite          *bool                     `json:"composite,omitempty"`
	Composites         *CompositesRepresentation `json:"composites,omitempty"`
	ClientRole         *bool                     `json:"clientRole,omitempty"`
	ContainerID        *string                   `json:"containerId,omitempty"`
	Description        *string                   `json:"description,omitempty"`
	Attributes         *map[string][]string      `json:"attributes,omitempty"`
}

Role is a role

func (*Role) String

func (v *Role) String() string

type RoleDefinition

type RoleDefinition struct {
	ID       *string `json:"id,omitempty"`
	Private  *bool   `json:"private,omitempty"`
	Required *bool   `json:"required,omitempty"`
}

RoleDefinition represents a role in a RolePolicyRepresentation

func (*RoleDefinition) String

func (v *RoleDefinition) String() string

type RolePolicyRepresentation

type RolePolicyRepresentation struct {
	Roles *[]RoleDefinition `json:"roles,omitempty"`
}

RolePolicyRepresentation represents role based policies

func (*RolePolicyRepresentation) String

func (v *RolePolicyRepresentation) String() string

type RolesRepresentation

type RolesRepresentation struct {
	Client *map[string][]Role `json:"client,omitempty"`
	Realm  *[]Role            `json:"realm,omitempty"`
}

RolesRepresentation represents the roles of a realm

func (*RolesRepresentation) String

func (v *RolesRepresentation) String() string

type ScopeRepresentation

type ScopeRepresentation struct {
	DisplayName *string                   `json:"displayName,omitempty"`
	IconURI     *string                   `json:"iconUri,omitempty"`
	ID          *string                   `json:"id,omitempty"`
	Name        *string                   `json:"name,omitempty"`
	Policies    *[]PolicyRepresentation   `json:"policies,omitempty"`
	Resources   *[]ResourceRepresentation `json:"resources,omitempty"`
}

ScopeRepresentation is a represents a Scope

func (*ScopeRepresentation) String

func (v *ScopeRepresentation) String() string

type SendVerificationMailParams

type SendVerificationMailParams struct {
	ClientID    *string
	RedirectURI *string
}

SendVerificationMailParams is being used to send verification params

type ServerInfoRepresentation

type ServerInfoRepresentation struct {
	SystemInfo             *SystemInfoRepresentation `json:"systemInfo,omitempty"`
	MemoryInfo             *MemoryInfoRepresentation `json:"memoryInfo,omitempty"`
	PasswordPolicies       []*PasswordPolicy         `json:"passwordPolicies,omitempty"`
	ProtocolMapperTypes    *ProtocolMapperTypes      `json:"protocolMapperTypes,omitempty"`
	BuiltinProtocolMappers *BuiltinProtocolMappers   `json:"builtinProtocolMappers,omitempty"`
	Themes                 *Themes                   `json:"themes,omitempty"`
}

ServerInfoRepresentation represents a server info

func (*ServerInfoRepresentation) String

func (v *ServerInfoRepresentation) String() string

type SetPasswordRequest

type SetPasswordRequest struct {
	Type      *string `json:"type,omitempty"`
	Temporary *bool   `json:"temporary,omitempty"`
	Password  *string `json:"value,omitempty"`
}

SetPasswordRequest sets a new password

func (*SetPasswordRequest) String

func (v *SetPasswordRequest) String() string

type StringOrArray

type StringOrArray []string

StringOrArray represents a value that can either be a string or an array of strings

func (*StringOrArray) MarshalJSON

func (s *StringOrArray) MarshalJSON() ([]byte, error)

MarshalJSON converts the array of strings to a JSON array or JSON string if there is only one item in the array

func (*StringOrArray) UnmarshalJSON

func (s *StringOrArray) UnmarshalJSON(data []byte) error

UnmarshalJSON unmarshals a string or an array object from a JSON array or a JSON string

type SystemInfoRepresentation

type SystemInfoRepresentation struct {
	FileEncoding   *string `json:"fileEncoding,omitempty"`
	JavaHome       *string `json:"javaHome,omitempty"`
	JavaRuntime    *string `json:"javaRuntime,omitempty"`
	JavaVendor     *string `json:"javaVendor,omitempty"`
	JavaVersion    *string `json:"javaVersion,omitempty"`
	JavaVM         *string `json:"javaVm,omitempty"`
	JavaVMVersion  *string `json:"javaVmVersion,omitempty"`
	OSArchitecture *string `json:"osArchitecture,omitempty"`
	OSName         *string `json:"osName,omitempty"`
	OSVersion      *string `json:"osVersion,omitempty"`
	ServerTime     *string `json:"serverTime,omitempty"`
	Uptime         *string `json:"uptime,omitempty"`
	UptimeMillis   *int    `json:"uptimeMillis,omitempty"`
	UserDir        *string `json:"userDir,omitempty"`
	UserLocale     *string `json:"userLocale,omitempty"`
	UserName       *string `json:"userName,omitempty"`
	UserTimezone   *string `json:"userTimezone,omitempty"`
	Version        *string `json:"version,omitempty"`
}

SystemInfoRepresentation represents a system info

func (*SystemInfoRepresentation) String

func (v *SystemInfoRepresentation) String() string

type ThemeRepresentation

type ThemeRepresentation struct {
	Name    string   `json:"name,omitempty"`
	Locales []string `json:"locales,omitempty"`
}

ThemeRepresentation contains the theme name and locales

type Themes

type Themes struct {
	Accounts []ThemeRepresentation `json:"account,omitempty"`
	Admin    []ThemeRepresentation `json:"admin,omitempty"`
	Common   []ThemeRepresentation `json:"common,omitempty"`
	Email    []ThemeRepresentation `json:"email,omitempty"`
	Login    []ThemeRepresentation `json:"login,omitempty"`
	Welcome  []ThemeRepresentation `json:"welcome,omitempty"`
}

Themes contains the available keycloak themes with locales

type TimePolicyRepresentation

type TimePolicyRepresentation struct {
	NotBefore    *string `json:"notBefore,omitempty"`
	NotOnOrAfter *string `json:"notOnOrAfter,omitempty"`
	DayMonth     *string `json:"dayMonth,omitempty"`
	DayMonthEnd  *string `json:"dayMonthEnd,omitempty"`
	Month        *string `json:"month,omitempty"`
	MonthEnd     *string `json:"monthEnd,omitempty"`
	Year         *string `json:"year,omitempty"`
	YearEnd      *string `json:"yearEnd,omitempty"`
	Hour         *string `json:"hour,omitempty"`
	HourEnd      *string `json:"hourEnd,omitempty"`
	Minute       *string `json:"minute,omitempty"`
	MinuteEnd    *string `json:"minuteEnd,omitempty"`
}

TimePolicyRepresentation represents time based policies

func (*TimePolicyRepresentation) String

func (v *TimePolicyRepresentation) String() string

type TokenOptions

type TokenOptions struct {
	ClientID            *string   `json:"client_id,omitempty"`
	ClientSecret        *string   `json:"-"`
	GrantType           *string   `json:"grant_type,omitempty"`
	RefreshToken        *string   `json:"refresh_token,omitempty"`
	Scopes              *[]string `json:"-"`
	Scope               *string   `json:"scope,omitempty"`
	ResponseTypes       *[]string `json:"-"`
	ResponseType        *string   `json:"response_type,omitempty"`
	Permission          *string   `json:"permission,omitempty"`
	Username            *string   `json:"username,omitempty"`
	Password            *string   `json:"password,omitempty"`
	Totp                *string   `json:"totp,omitempty"`
	Code                *string   `json:"code,omitempty"`
	RedirectURI         *string   `json:"redirect_uri,omitempty"`
	ClientAssertionType *string   `json:"client_assertion_type,omitempty"`
	ClientAssertion     *string   `json:"client_assertion,omitempty"`
	SubjectToken        *string   `json:"subject_token,omitempty"`
	RequestedSubject    *string   `json:"requested_subject,omitempty"`
	Audience            *string   `json:"audience,omitempty"`
	RequestedTokenType  *string   `json:"requested_token_type,omitempty"`
}

TokenOptions represents the options to obtain a token

func (*TokenOptions) FormData

func (t *TokenOptions) FormData() map[string]string

FormData returns a map of options to be used in SetFormData function

func (*TokenOptions) String

func (t *TokenOptions) String() string

type UnregisteredRequiredActionProviderRepresentation

type UnregisteredRequiredActionProviderRepresentation struct {
	Name       *string `json:"name,omitempty"`
	ProviderID *string `json:"providerId,omitempty"`
}

type User

type User struct {
	ID                         *string                     `json:"id,omitempty"`
	CreatedTimestamp           *int64                      `json:"createdTimestamp,omitempty"`
	Username                   *string                     `json:"username,omitempty"`
	Enabled                    *bool                       `json:"enabled,omitempty"`
	Totp                       *bool                       `json:"totp,omitempty"`
	EmailVerified              *bool                       `json:"emailVerified,omitempty"`
	FirstName                  *string                     `json:"firstName,omitempty"`
	LastName                   *string                     `json:"lastName,omitempty"`
	Email                      *string                     `json:"email,omitempty"`
	FederationLink             *string                     `json:"federationLink,omitempty"`
	Attributes                 *map[string][]string        `json:"attributes,omitempty"`
	DisableableCredentialTypes *[]interface{}              `json:"disableableCredentialTypes,omitempty"`
	RequiredActions            *[]string                   `json:"requiredActions,omitempty"`
	Access                     *map[string]bool            `json:"access,omitempty"`
	ClientRoles                *map[string][]string        `json:"clientRoles,omitempty"`
	RealmRoles                 *[]string                   `json:"realmRoles,omitempty"`
	Groups                     *[]string                   `json:"groups,omitempty"`
	ServiceAccountClientID     *string                     `json:"serviceAccountClientId,omitempty"`
	Credentials                *[]CredentialRepresentation `json:"credentials,omitempty"`
}

User represents the Keycloak User Structure

func (*User) String

func (v *User) String() string

type UserGroup

type UserGroup struct {
	ID   *string `json:"id,omitempty"`
	Name *string `json:"name,omitempty"`
	Path *string `json:"path,omitempty"`
}

UserGroup is a UserGroup

func (*UserGroup) String

func (v *UserGroup) String() string

type UserInfo

type UserInfo struct {
	Sub                 *string          `json:"sub,omitempty"`
	Name                *string          `json:"name,omitempty"`
	GivenName           *string          `json:"given_name,omitempty"`
	FamilyName          *string          `json:"family_name,omitempty"`
	MiddleName          *string          `json:"middle_name,omitempty"`
	Nickname            *string          `json:"nickname,omitempty"`
	PreferredUsername   *string          `json:"preferred_username,omitempty"`
	Profile             *string          `json:"profile,omitempty"`
	Picture             *string          `json:"picture,omitempty"`
	Website             *string          `json:"website,omitempty"`
	Email               *string          `json:"email,omitempty"`
	EmailVerified       *bool            `json:"email_verified,omitempty"`
	Gender              *string          `json:"gender,omitempty"`
	ZoneInfo            *string          `json:"zoneinfo,omitempty"`
	Locale              *string          `json:"locale,omitempty"`
	PhoneNumber         *string          `json:"phone_number,omitempty"`
	PhoneNumberVerified *bool            `json:"phone_number_verified,omitempty"`
	Address             *UserInfoAddress `json:"address,omitempty"`
	UpdatedAt           *int             `json:"updated_at,omitempty"`
}

UserInfo is returned by the userinfo endpoint https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims

func (*UserInfo) String

func (v *UserInfo) String() string

type UserInfoAddress

type UserInfoAddress struct {
	Formatted     *string `json:"formatted,omitempty"`
	StreetAddress *string `json:"street_address,omitempty"`
	Locality      *string `json:"locality,omitempty"`
	Region        *string `json:"region,omitempty"`
	PostalCode    *string `json:"postal_code,omitempty"`
	Country       *string `json:"country,omitempty"`
}

UserInfoAddress is representation of the address sub-filed of UserInfo https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim

func (*UserInfoAddress) String

func (v *UserInfoAddress) String() string

type UserPolicyRepresentation

type UserPolicyRepresentation struct {
	Users *[]string `json:"users,omitempty"`
}

UserPolicyRepresentation represents user based policies

func (*UserPolicyRepresentation) String

func (v *UserPolicyRepresentation) String() string

type UserSessionRepresentation

type UserSessionRepresentation struct {
	Clients    *map[string]string `json:"clients,omitempty"`
	ID         *string            `json:"id,omitempty"`
	IPAddress  *string            `json:"ipAddress,omitempty"`
	LastAccess *int64             `json:"lastAccess,omitempty"`
	Start      *int64             `json:"start,omitempty"`
	UserID     *string            `json:"userId,omitempty"`
	Username   *string            `json:"username,omitempty"`
}

UserSessionRepresentation represents a list of user's sessions

func (*UserSessionRepresentation) String

func (v *UserSessionRepresentation) String() string

Directories

Path Synopsis
pkg
jwx

Jump to

Keyboard shortcuts

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