Documentation
¶
Index ¶
- Variables
- func BoolP(value bool) *bool
- func Float32P(value float32) *float32
- func Float64P(value float64) *float64
- func GetQueryParams(s interface{}) (map[string]string, error)
- func Int32P(value int32) *int32
- func Int64P(value int64) *int64
- func IntP(value int) *int
- func NilOrEmpty(value *string) bool
- func NilOrEmptyArray(value *[]string) bool
- func NilOrEmptySlice(value *[]string) bool
- func PBool(value *bool) bool
- func PFloat32(value *float32) float32
- func PFloat64(value *float64) float64
- func PInt(value *int) int
- func PInt32(value *int32) int32
- func PInt64(value *int64) int64
- func PString(value *string) string
- func PStringSlice(value *[]string) []string
- func SetAuthAdminRealms(url string) func(client *gocloak)
- func SetAuthRealms(url string) func(client *gocloak)
- func SetCertCacheInvalidationTime(duration time.Duration) func(client *gocloak)
- func SetLogoutEndpoint(url string) func(client *gocloak)
- func SetOpenIDConnectEndpoint(url string) func(client *gocloak)
- func SetTokenEndpoint(url string) func(client *gocloak)
- func StringP(value string) *string
- func UserAttributeContains(attributes map[string][]string, attribute, value string) bool
- func WithTracer(ctx context.Context, tracer opentracing.Tracer) context.Context
- type APIErrType
- type APIError
- type Access
- type AccessRepresentation
- type ActiveKeys
- type AdapterConfiguration
- type AggregatedPolicyRepresentation
- type Attributes
- type AuthenticationExecutionRepresentation
- type AuthenticationFlowRepresentation
- type BuiltinProtocolMappers
- type CertResponse
- type CertResponseKey
- type Client
- type ClientMappingsRepresentation
- type ClientPolicyRepresentation
- type ClientScope
- type ClientScopeAttributes
- type Component
- type CompositesRepresentation
- type CreateAuthenticationExecutionFlowRepresentation
- type CreateAuthenticationExecutionRepresentation
- type CreatePermissionTicketParams
- type CredentialRepresentation
- type DecisionStrategy
- type EnforcedString
- type EventRepresentation
- type ExecuteActionsEmail
- type FederatedIdentityRepresentation
- type GetClientsParams
- type GetComponentsParams
- type GetEventsParams
- type GetGroupsParams
- type GetPermissionParams
- type GetPolicyParams
- type GetResourceParams
- type GetResourcePoliciesParams
- type GetRoleParams
- type GetScopeParams
- type GetUserPermissionParams
- type GetUsersByRoleParams
- type GetUsersParams
- type GoCloak
- type Group
- type GroupDefinition
- type GroupPolicyRepresentation
- type GroupsCount
- type HTTPErrorResponse
- type IdentityProviderMapper
- type IdentityProviderRepresentation
- type IssuerResponse
- type JSPolicyRepresentation
- type JWT
- type Key
- type KeyStoreConfig
- type Logic
- type MappingsRepresentation
- type MemoryInfoRepresentation
- type ModifyAuthenticationExecutionRepresentation
- type MultiValuedHashMap
- type PasswordPolicy
- type PermissionGrantParams
- type PermissionGrantResponseRepresentation
- type PermissionRepresentation
- type PermissionResource
- type PermissionScope
- type PermissionTicketDescriptionRepresentation
- type PermissionTicketPermissionRepresentation
- type PermissionTicketRepresentation
- type PermissionTicketResponseRepresentation
- type PolicyEnforcementMode
- type PolicyRepresentation
- type PolicyResourceRepresentation
- type PolicyScopeRepresentation
- type ProtocolMapperRepresentation
- type ProtocolMapperType
- type ProtocolMapperTypeProperty
- type ProtocolMapperTypes
- type ProtocolMappers
- type ProtocolMappersConfig
- type RealmRepresentation
- type RequestingPartyPermission
- type RequestingPartyPermissionDecision
- type RequestingPartyTokenOptions
- type RequiredActionProviderRepresentation
- type ResourceOwnerRepresentation
- type ResourcePermission
- type ResourcePolicyRepresentation
- type ResourceRepresentation
- type ResourceServerRepresentation
- type RetrospecTokenResult
- type Role
- type RoleDefinition
- type RolePolicyRepresentation
- type RolesRepresentation
- type ScopeRepresentation
- type ServerInfoRepesentation
- type SetPasswordRequest
- type StringOrArray
- type SystemInfoRepresentation
- type TimePolicyRepresentation
- type TokenOptions
- type User
- type UserGroup
- type UserInfo
- type UserInfoAddress
- type UserPolicyRepresentation
- type UserSessionRepresentation
Constants ¶
This section is empty.
Variables ¶
var ( ENFORCING = PolicyEnforcementModeP("ENFORCING") PERMISSIVE = PolicyEnforcementModeP("PERMISSIVE") DISABLED = PolicyEnforcementModeP("DISABLED") )
PolicyEnforcementMode values
var ( POSITIVE = LogicP("POSITIVE") NEGATIVE = LogicP("NEGATIVE") )
Logic values
var ( AFFIRMATIVE = DecisionStrategyP("AFFIRMATIVE") UNANIMOUS = DecisionStrategyP("UNANIMOUS") CONSENSUS = DecisionStrategyP("CONSENSUS") )
DecisionStrategy values
Functions ¶
func GetQueryParams ¶
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 NilOrEmpty ¶
NilOrEmpty returns true if string is empty or has a nil value
func NilOrEmptyArray ¶
NilOrEmptyArray returns true if string is empty or has a nil value
func NilOrEmptySlice ¶
NilOrEmptySlice returns true if list is empty or has a nil value
func PStringSlice ¶
PStringSlice converts a pointer to []string or returns ampty slice if nill value
func SetAuthAdminRealms ¶
func SetAuthAdminRealms(url string) func(client *gocloak)
SetAuthAdminRealms sets the auth admin realm
func SetAuthRealms ¶
func SetAuthRealms(url string) func(client *gocloak)
SetAuthRealms sets the auth realm
func SetCertCacheInvalidationTime ¶
SetCertCacheInvalidationTime sets the logout
func SetLogoutEndpoint ¶
func SetLogoutEndpoint(url string) func(client *gocloak)
SetLogoutEndpoint sets the logout
func SetOpenIDConnectEndpoint ¶
func SetOpenIDConnectEndpoint(url string) func(client *gocloak)
SetOpenIDConnectEndpoint sets the logout
func SetTokenEndpoint ¶
func SetTokenEndpoint(url string) func(client *gocloak)
SetTokenEndpoint sets the token endpoint
func UserAttributeContains ¶
UserAttributeContains checks if the given attribute value is set
func WithTracer ¶
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
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
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 ¶
func (v *AggregatedPolicyRepresentation) String() 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 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"`
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]string `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"`
WebOrigins *[]string `json:"webOrigins,omitempty"`
}
Client is a ClientRepresentation
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 ¶
func (v *ClientMappingsRepresentation) String() 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"`
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
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 ¶
func (v *CreatePermissionTicketParams) String() 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 ¶
func (v *FederatedIdentityRepresentation) 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 {
First *int `json:"first,string,omitempty"`
Max *int `json:"max,string,omitempty"`
Search *string `json:"search,omitempty"`
Full *bool `json:"full,string,omitempty"`
BriefRepresentation *bool `json:"briefRepresentation,string,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 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 interface {
// RestyClient returns a resty client that gocloak uses
RestyClient() *resty.Client
// Sets the resty Client that gocloak uses
SetRestyClient(restyClient *resty.Client)
// GetToken returns 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 permissions granted by the server to requesting party
GetRequestingPartyPermissions(ctx context.Context, token, realm string, options RequestingPartyTokenOptions) (*[]RequestingPartyPermission, error)
// GetRequestingPartyPermissionDecision returns a permission decision granted by the server to requesting party
GetRequestingPartyPermissionDecision(ctx context.Context, token, realm string, options RequestingPartyTokenOptions) (*RequestingPartyPermissionDecision, error)
// Login sends a request to the token endpoint using user and client credentials
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 sends a request to the logout endpoint using refresh token
Logout(ctx context.Context, clientID, clientSecret, realm, refreshToken string) error
// LogoutPublicClient sends a request to the logout endpoint using refresh token
LogoutPublicClient(ctx context.Context, idOfClient, 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
// RevokeConsents revoke consent and offline tokens for particular client from user
RevokeUserConsents(ctx context.Context, accessToken, realm, userID, clientID string) error
// LogoutUserSessions logs out a single sessions of a user given a session id.
// NOTE: this uses bearer token, but this token must belong to a user with proper privileges
LogoutUserSession(ctx context.Context, accessToken, realm, session string) error
// LoginClient sends a request to the token endpoint using client credentials
LoginClient(ctx context.Context, clientID, clientSecret, realm string) (*JWT, error)
// LoginClientTokenExchange requests a login on a specified users behalf. Returning a user's tokens.
LoginClientTokenExchange(ctx context.Context, clientID, token, clientSecret, realm, targetClient, userID string) (*JWT, error)
// LoginClientSignedJWT performs a login with client credentials and signed jwt claims
LoginClientSignedJWT(ctx context.Context, idOfClient, realm string, key interface{}, signedMethod jwt.SigningMethod, expiresAt *jwt.NumericDate) (*JWT, error)
// LoginAdmin login as admin
LoginAdmin(ctx context.Context, username, password, realm string) (*JWT, error)
// RefreshToken used to refresh the token
RefreshToken(ctx context.Context, refreshToken, clientID, clientSecret, realm string) (*JWT, error)
// DecodeAccessToken decodes the accessToken
DecodeAccessToken(ctx context.Context, accessToken, realm string) (*jwt.Token, *jwt.MapClaims, error)
// DecodeAccessTokenCustomClaims decodes the accessToken and fills the given claims
DecodeAccessTokenCustomClaims(ctx context.Context, accessToken, realm string, claims jwt.Claims) (*jwt.Token, error)
// RetrospectToken calls the openid-connect introspect endpoint
RetrospectToken(ctx context.Context, accessToken, clientID, clientSecret, realm string) (*RetrospecTokenResult, error)
// GetIssuer calls the issuer endpoint for the given realm
GetIssuer(ctx context.Context, realm string) (*IssuerResponse, error)
// GetCerts gets the public keys for the given realm
GetCerts(ctx context.Context, realm string) (*CertResponse, error)
// GetServerInfo returns the server info
GetServerInfo(ctx context.Context, accessToken string) (*ServerInfoRepesentation, error)
// GetUserInfo gets the user info for the given realm
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)
// ExecuteActionsEmail executes an actions email
ExecuteActionsEmail(ctx context.Context, token, realm string, params ExecuteActionsEmail) error
// CreateGroup creates a new group
CreateGroup(ctx context.Context, accessToken, realm string, group Group) (string, error)
// CreateChildGroup creates a new child group
CreateChildGroup(ctx context.Context, token, realm, groupID string, group Group) (string, error)
// CreateClient creates a new client
CreateClient(ctx context.Context, accessToken, realm string, newClient Client) (string, error)
// CreateClientScope creates a new clientScope
CreateClientScope(ctx context.Context, accessToken, realm string, scope ClientScope) (string, error)
// CreateClientScopeProtocolMapper creates a new protocolMapper under the given client scope
CreateClientScopeProtocolMapper(ctx context.Context, accessToken, realm, scopeID string, protocolMapper ProtocolMappers) (string, error)
// CreateComponent creates a new component
CreateComponent(ctx context.Context, accessToken, realm string, component Component) (string, error)
// CreateClientScopeMappingsRealmRoles creates realm-level roles to the client’s scope
CreateClientScopeMappingsRealmRoles(ctx context.Context, token, realm, idOfClient string, roles []Role) error
// CreateClientScopeMappingsClientRoles creates client-level roles from the client’s scope
CreateClientScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClient, idOfSelectedClient string, roles []Role) error
// CreateClientScopesScopeMappingsRealmRoles creates realm-level roles to the client-scope
CreateClientScopesScopeMappingsRealmRoles(ctx context.Context, token, realm, idOfClientScope string, roles []Role) error
// CreateClientScopesScopeMappingsClientRoles creates client-level roles to the client-scope
CreateClientScopesScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClientScope, idOfClient string, roles []Role) error
// CreateClientRepresentation creates a new client representation
CreateClientRepresentation(ctx context.Context, realm string) (*Client, error)
// UpdateGroup updates the given group
UpdateGroup(ctx context.Context, accessToken, realm string, updatedGroup Group) error
// UpdateRole updates the given role
UpdateRole(ctx context.Context, accessToken, realm, idOfClient string, role Role) error
// UpdateClient updates the given client
UpdateClient(ctx context.Context, accessToken, realm string, updatedClient Client) error
// UpdateClientScope updates the given clientScope
UpdateClientScope(ctx context.Context, accessToken, realm string, scope ClientScope) error
// UpdateClientScopeProtocolMapper updates the given protocol mapper for a client scope
UpdateClientScopeProtocolMapper(ctx context.Context, accessToken, realm, scopeID string, protocolMapper ProtocolMappers) error
// UpdateClientRepresentation updates the given client representation
UpdateClientRepresentation(ctx context.Context, accessToken, realm string, updatedClient Client) (*Client, error)
// DeleteComponent deletes the given component
DeleteComponent(ctx context.Context, accessToken, realm, componentID string) error
// DeleteGroup deletes the given group
DeleteGroup(ctx context.Context, accessToken, realm, groupID string) error
// DeleteClient deletes the given client
DeleteClient(ctx context.Context, accessToken, realm, idOfClient string) error
// DeleteClientScope
DeleteClientScope(ctx context.Context, accessToken, realm, scopeID string) error
// DeleteClientScopeProtocolMapper deletes the given protocol mapper from the client scope
DeleteClientScopeProtocolMapper(ctx context.Context, accessToken, realm, scopeID, protocolMapperID string) error
// DeleteClientScopeMappingsRealmRoles deletes realm-level roles from the client’s scope
DeleteClientScopeMappingsRealmRoles(ctx context.Context, token, realm, idOfClient 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
// DeleteClientScopesScopeMappingsRealmRoles deletes realm-level roles from the client-scope
DeleteClientScopesScopeMappingsRealmRoles(ctx context.Context, token, realm, idOfClientScope string, roles []Role) error
// DeleteClientScopesScopeMappingsClientRoles deletes client-level roles from the client-scope
DeleteClientScopesScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClientScope, ifOfClient string, roles []Role) error
// DeleteClientRepresentation deletes a given client representation
DeleteClientRepresentation(ctx context.Context, accessToken, realm, clientID string) error
// GetClient returns a client
GetClient(ctx context.Context, accessToken, realm, idOfClient string) (*Client, 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)
// 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)
// GetClientScopesScopeMappingsRealmRolesAvailable returns realm-level roles that are available to attach to this client-scope
GetClientScopesScopeMappingsRealmRolesAvailable(ctx context.Context, token, realm, idOfClientScope string) ([]*Role, error)
// GetClientScopesScopeMappingsClientRolesAvailable returns client-level roles that are available to attach to this client-scope
GetClientScopesScopeMappingsClientRolesAvailable(ctx context.Context, token, realm, idOfClientScope, idOfClient string) ([]*Role, error)
// GetClientScopeMappingsClientRoles returns roles associated with a client’s scope
GetClientScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClient, idOfSelectedClient string) ([]*Role, error)
// GetClientScopesScopeMappingsRealmRoles returns roles associated with a client-scope
GetClientScopesScopeMappingsRealmRoles(ctx context.Context, token, realm, idOfClientScope string) ([]*Role, error)
// GetClientScopesScopeMappingsClientRoles returns client roles associated with a client-scope
GetClientScopesScopeMappingsClientRoles(ctx context.Context, token, realm, idOfClientScope, idOfClient string) ([]*Role, error)
// GetClientScopeMappingsClientRolesAvailable returns available roles associated with a client’s scope
GetClientScopeMappingsClientRolesAvailable(ctx context.Context, token, realm, idOfClient, idOfSelectedClient string) ([]*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 creates a new client secret returning the updated CredentialRepresentation
RegenerateClientSecret(ctx context.Context, token, realm, idOfClient string) (*CredentialRepresentation, error)
// GetKeyStoreConfig gets the keyStoreConfig
GetKeyStoreConfig(ctx context.Context, accessToken, realm string) (*KeyStoreConfig, error)
// GetComponents gets components of the given realm
GetComponents(ctx context.Context, accessToken, 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, accessToken, realm string) ([]*Group, error)
// AddDefaultGroup adds group to the list of default groups
AddDefaultGroup(ctx context.Context, accessToken, realm, groupID string) error
// RemoveDefaultGroup removes group from the list of default groups
RemoveDefaultGroup(ctx context.Context, accessToken, realm, groupID string) error
// GetGroups gets all groups of the given realm
GetGroups(ctx context.Context, accessToken, realm string, params GetGroupsParams) ([]*Group, error)
// GetGroupsByRole gets groups with specified roles assigned of given realm
GetGroupsByRole(ctx context.Context, accessToken, realm string, roleName string) ([]*Group, error)
// GetGroupsCount gets groups count of the given realm
GetGroupsCount(ctx context.Context, token, realm string, params GetGroupsParams) (int, error)
// GetGroup gets the given group
GetGroup(ctx context.Context, accessToken, realm, groupID string) (*Group, error)
// GetGroupMembers get a list of users of group with id in realm
GetGroupMembers(ctx context.Context, accessToken, realm, groupID string, params GetGroupsParams) ([]*User, error)
// GetRoleMappingByGroupID gets the rolemapping for the given group id
GetRoleMappingByGroupID(ctx context.Context, accessToken, realm, groupID string) (*MappingsRepresentation, error)
// GetRoleMappingByUserID gets the rolemapping for the given user id
GetRoleMappingByUserID(ctx context.Context, accessToken, realm, userID string) (*MappingsRepresentation, error)
// GetClients gets the clients in the realm
GetClients(ctx context.Context, accessToken, realm string, params GetClientsParams) ([]*Client, error)
// GetClientOfflineSessions returns offline sessions associated with the client
GetClientOfflineSessions(ctx context.Context, token, realm, idOfClient string) ([]*UserSessionRepresentation, error)
// GetClientUserSessions returns user sessions associated with the client
GetClientUserSessions(ctx context.Context, token, realm, idOfClient string) ([]*UserSessionRepresentation, error)
// CreateClientProtocolMapper creates a protocol mapper in client scope
CreateClientProtocolMapper(ctx context.Context, token, realm, idOfClient string, mapper ProtocolMapperRepresentation) (string, error)
// CreateClientProtocolMapper 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
// GetClientRepresentation return 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)
// CreateRealmRole creates a role in a realm
CreateRealmRole(ctx context.Context, token, 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. It's an alias for the GetRoles function
GetRealmRoles(ctx context.Context, accessToken, realm string, params GetRoleParams) ([]*Role, error)
// GetRealmRolesByUserID returns all roles assigned to the given user
GetRealmRolesByUserID(ctx context.Context, accessToken, realm, userID string) ([]*Role, error)
// GetRealmRolesByGroupID returns all roles assigned to the given group
GetRealmRolesByGroupID(ctx context.Context, accessToken, 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 roles as composite
AddRealmRoleComposite(ctx context.Context, token, realm, roleName string, roles []Role) error
// AddRealmRoleComposite adds roles as 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)
// 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)
// AddClientRoleToUser adds a client role to the user
AddClientRoleToUser(ctx context.Context, token, realm, idOfClient, userID string, roles []Role) error
// AddClientRoleToGroup adds a client role to the group
AddClientRoleToGroup(ctx context.Context, token, realm, idOfClient, groupID string, roles []Role) error
// CreateClientRole creates a new role for a client
CreateClientRole(ctx context.Context, accessToken, realm, idOfClient string, role Role) (string, error)
// DeleteClientRole deletes the given role
DeleteClientRole(ctx context.Context, accessToken, realm, idOfClient, roleName string) error
// DeleteClientRoleFromUser removes a client role from from the user
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
// GetClientRoles gets roles for the given client
GetClientRoles(ctx context.Context, accessToken, realm, idOfClient string, params GetRoleParams) ([]*Role, error)
// GetClientRoleById gets role for the given client using role id
GetClientRoleByID(ctx context.Context, accessToken, realm, roleID string) (*Role, error)
// GetRealmRolesByUserID 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)
// GetCompositeClientRolesByGroupID returns all client roles and composite roles assigned to the given group
GetCompositeClientRolesByGroupID(ctx context.Context, token, realm, idOfClient, groupID 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 client roles to the given group
GetAvailableClientRolesByGroupID(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)
// 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
// 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)
// Create a new Authentication flow in a realm
CreateAuthenticationFlow(ctx context.Context, token, realm string, flow 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 flow execution for the given flow name in the given realm
CreateAuthenticationExecutionFlow(ctx context.Context, token, realm, flow string, execution CreateAuthenticationExecutionFlowRepresentation) error
// *** Users ***
// CreateUser creates a new user
CreateUser(ctx context.Context, token, realm string, user User) (string, error)
// DeleteUser deletes the given user
DeleteUser(ctx context.Context, accessToken, realm, userID string) error
// GetUserByID gets the user with the given id
GetUserByID(ctx context.Context, accessToken, realm, userID string) (*User, error)
// GetUser count returns the userCount of the given realm
GetUserCount(ctx context.Context, accessToken, realm string, params GetUsersParams) (int, error)
// GetUsers gets all users of the given realm
GetUsers(ctx context.Context, accessToken, realm string, params GetUsersParams) ([]*User, error)
// GetUserGroups gets the groups of the given user
GetUserGroups(ctx context.Context, accessToken, realm, userID string, params GetGroupsParams) ([]*Group, error)
// GetUsersByRoleName returns all users have a given role
GetUsersByRoleName(ctx context.Context, token, realm, roleName string) ([]*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 the given user
UpdateUser(ctx context.Context, accessToken, 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)
// 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
// *** Identity Provider **
// CreateIdentityProvider creates an identity provider in a realm
CreateIdentityProvider(ctx context.Context, token, realm string, providerRep IdentityProviderRepresentation) (string, error)
// GetIdentityProviders gets 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
// 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)
// ExportIDPPublicBrokerConfig exports the broker config for a given alias
ExportIDPPublicBrokerConfig(ctx context.Context, token, realm, alias 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)
// 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
// 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)
// *** Protection API ***
// GetResource 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 a returns resources associated with the client, using access token from client
GetResourcesClient(ctx context.Context, token, realm string, params GetResourceParams) ([]*ResourceRepresentation, error)
// CreateResource creates a resource associated with the client, using access token from client
CreateResourceClient(ctx context.Context, token, realm string, resource ResourceRepresentation) (*ResourceRepresentation, error)
// UpdateResource updates a resource associated with the client, using access token from client
UpdateResourceClient(ctx context.Context, token, realm string, resource ResourceRepresentation) error
// DeleteResource deletes a resource associated with the client, using access token from client
DeleteResourceClient(ctx context.Context, token, realm, resourceID string) 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)
// GetResources a returns resources associated with the client, using access token from admin
GetResources(ctx context.Context, token, realm, idOfClient string, params GetResourceParams) ([]*ResourceRepresentation, error)
// CreateResource creates a resource associated with the client, using access token from admin
CreateResource(ctx context.Context, token, realm, idOfClient string, resource ResourceRepresentation) (*ResourceRepresentation, 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
// DeleteResource deletes a resource associated with the client, using access token from admin
DeleteResource(ctx context.Context, token, realm, idOfClient, resourceID string) error
// GetScope returns a client's scope with the given id, using access token from admin
GetScope(ctx context.Context, token, realm, idOfClient, scopeID string) (*ScopeRepresentation, error)
// GetScopes returns scopes associated with the client, using access token from admin
GetScopes(ctx context.Context, token, realm, idOfClient string, params GetScopeParams) ([]*ScopeRepresentation, error)
// CreateScope creates a scope associated with the client, using access token from admin
CreateScope(ctx context.Context, token, realm, idOfClient string, scope ScopeRepresentation) (*ScopeRepresentation, error)
// UpdateScope updates a scope associated with the client, using access token from admin
UpdateScope(ctx context.Context, token, realm, idOfClient string, resource ScopeRepresentation) error
// DeleteScope deletes a scope associated with the client, using access token from admin
DeleteScope(ctx context.Context, token, realm, idOfClient, scopeID string) error
// CreatePermissionTicket creates a permission ticket for a resource, using access token from client (typically a resource server)
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)
// GrantPermission lets resource owner update permission for specific resource ID to specific user ID
UpdateUserPermission(ctx context.Context, token, realm string, permission PermissionGrantParams) (*PermissionGrantResponseRepresentation, error)
// GetUserPermission gets granted permissions according query parameters
GetUserPermissions(ctx context.Context, token, realm string, params GetUserPermissionParams) ([]*PermissionGrantResponseRepresentation, error)
// DeleteUserPermission lets resource owner delete permission for specific resource ID to specific user ID
DeleteUserPermission(ctx context.Context, token, realm, ticketID string) error
// GetPermission returns a client's permission with the given id
GetPermission(ctx context.Context, token, realm, idOfClient, permissionID string) (*PermissionRepresentation, error)
// GetPermissions returns permissions associated with the client
GetPermissions(ctx context.Context, token, realm, idOfClient string, params GetPermissionParams) ([]*PermissionRepresentation, 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 permission associated with the client
DeletePermission(ctx context.Context, token, realm, idOfClient, permissionID string) error
// GetDependentPermissions returns client's permissions dependent on the policy with given ID
GetDependentPermissions(ctx context.Context, token, realm, idOfClient, policyID string) ([]*PermissionRepresentation, error)
GetPermissionResources(ctx context.Context, token, realm, idOfClient, permissionID string) ([]*PermissionResource, error)
GetPermissionScopes(ctx context.Context, token, realm, idOfClient, permissionID string) ([]*PermissionScope, error)
// GetPolicy returns a client's policy with the given id, using access token from admin
GetPolicy(ctx context.Context, token, realm, idOfClient, policyID string) (*PolicyRepresentation, error)
// GetPolicies returns policies associated with the client, using access token from admin
GetPolicies(ctx context.Context, token, realm, idOfClient string, params GetPolicyParams) ([]*PolicyRepresentation, error)
// CreatePolicy creates a policy associated with the client, using access token from admin
CreatePolicy(ctx context.Context, token, realm, idOfClient string, policy PolicyRepresentation) (*PolicyRepresentation, error)
// UpdatePolicy updates a policy associated with the client, using access token from admin
UpdatePolicy(ctx context.Context, token, realm, idOfClient string, policy PolicyRepresentation) error
// DeletePolicy deletes a policy associated with the client, using access token from admin
DeletePolicy(ctx context.Context, token, realm, idOfClient, policyID string) error
// GetPolicyAssociatedPolicies returns a client's policy associated policies with the given policy id, using access token from admin
GetAuthorizationPolicyAssociatedPolicies(ctx context.Context, token, realm, idOfClient, policyID string) ([]*PolicyRepresentation, error)
// GetPolicyResources 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)
// GetPolicyScopes 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 specifc resource, using token obtained by Resource Owner Password Credentials Grant or Token exchange
GetResourcePolicy(ctx context.Context, token, realm, permissionID string) (*ResourcePolicyRepresentation, error)
// GetResources 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)
// GetResources returns all resources associated with the client, 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 specifc 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 specifc resource, using token obtained by Resource Owner Password Credentials Grant or Token exchange
DeleteResourcePolicy(ctx context.Context, token, realm, permissionID string) error
UserStorageAction(ctx context.Context, token, realm string, id string, action string, params map[string]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)
// UpdateRequiredAction updates a required action for a given realm
UpdateRequiredAction(ctx context.Context, token string, realm string, requiredAction RequiredActionProviderRepresentation) error
}
GoCloak holds all methods a client should fulfill
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
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) String ¶
func (v *IdentityProviderRepresentation) 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
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 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 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 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 ¶
func (v *PermissionGrantResponseRepresentation) String() 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 ¶
func (v *PermissionTicketDescriptionRepresentation) String() 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 ¶
func (v *PermissionTicketPermissionRepresentation) String() string
type PermissionTicketRepresentation ¶
type PermissionTicketRepresentation struct {
AZP *string `json:"azp,omitempty"`
Claims *map[string][]string `json:"claims,omitempty"`
Permissions *[]PermissionTicketPermissionRepresentation `json:"permissions,omitempty"`
jwt.StandardClaims
}
PermissionTicketRepresentation represents the permission ticket contents
func (*PermissionTicketRepresentation) String ¶
func (v *PermissionTicketRepresentation) String() string
type PermissionTicketResponseRepresentation ¶
type PermissionTicketResponseRepresentation struct {
Ticket *string `json:"ticket,omitempty"`
}
PermissionTicketResponseRepresentation represents the keycloak response containing the permission ticket
func (*PermissionTicketResponseRepresentation) String ¶
func (v *PermissionTicketResponseRepresentation) String() 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 ¶
func (v *ProtocolMapperRepresentation) String() 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"`
UsermodelClientRoleMappingClientID *string `json:"usermodel.clientRoleMapping.clientId,omitempty"`
IncludedClientAudience *string `json:"included.client.audience,omitempty"`
FullPath *string `json:"full.path,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"`
ClientScopeMappings *map[string]string `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"`
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"`
}
RealmRepresentation represents a realm
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:"-"`
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 ¶
func (v *RequiredActionProviderRepresentation) String() 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 ¶
func (v *ResourcePolicyRepresentation) String() 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 ¶
func (v *ResourceServerRepresentation) String() string
type RetrospecTokenResult ¶
type RetrospecTokenResult 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"`
}
RetrospecTokenResult is returned when a token was checked
func (*RetrospecTokenResult) String ¶
func (v *RetrospecTokenResult) String() 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
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 ServerInfoRepesentation ¶
type ServerInfoRepesentation 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"`
}
ServerInfoRepesentation represents a server info
func (*ServerInfoRepesentation) String ¶
func (v *ServerInfoRepesentation) 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 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 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
type UserGroup ¶
type UserGroup struct {
ID *string `json:"id,omitempty"`
Name *string `json:"name,omitempty"`
Path *string `json:"path,omitempty"`
}
UserGroup is a UserGroup
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
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