Documentation ¶
Index ¶
- func GetQueryParams(s interface{}) (map[string]string, error)
- func IsObjectAlreadyExists(err error) bool
- type APIError
- type Access
- type ActiveKeys
- type Attributes
- type CertResponse
- type CertResponseKey
- type Client
- type ClientMappingsRepresentation
- type ClientScope
- type ClientScopeAttributes
- type Component
- type ComponentConfig
- type CredentialRepresentation
- type DecisionStrategy
- type ExecuteActionsEmail
- type GetClientsParams
- type GetGroupsParams
- type GetUsersParams
- type GoCloak
- type Group
- type HTTPErrorResponse
- type IssuerResponse
- type JWT
- type Key
- type KeyStoreConfig
- type Logic
- type MappingsRepresentation
- type MemoryInfoRepresentation
- type MultivaluedHashMap
- type ObjectAlreadyExists
- type PolicyEnforcementMode
- type PolicyRepresentation
- type ProtocolMapperRepresentation
- type ProtocolMappers
- type ProtocolMappersConfig
- type RealmRepresentation
- type ResourceRepresentation
- type ResourceServerRepresentation
- type RetrospecTokenResult
- type Role
- type ScopeRepresentation
- type ServerInfoRepesentation
- type SetPasswordRequest
- type SystemInfoRepresentation
- type TokenOptions
- type User
- type UserGroup
- type UserInfo
- type UserSessionRepresentation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
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 IsObjectAlreadyExists ¶
IsObjectAlreadyExists is a helper to verify tht the err is ObjectAlreadyExists
Types ¶
type Access ¶
type Access struct { ManageGroupMembership bool `json:"manageGroupMembership"` View bool `json:"view"` MapRoles bool `json:"mapRoles"` Impersonate bool `json:"impersonate"` Manage bool `json:"manage"` }
Access represents access
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
type Attributes ¶
type Attributes struct { LDAPENTRYDN []string `json:"LDAP_ENTRY_DN,omitempty"` LDAPID []string `json:"LDAP_ID,omitempty"` }
Attributes holds Attributes
type CertResponse ¶
type CertResponse struct {
Keys []CertResponseKey `json:"keys,omitempty"`
}
CertResponse is returned by the certs endpoint
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"` }
CertResponseKey is returned by the certs endpoint
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"` AuthorizationSettings *ResourceServerRepresentation `json:"authorizationSettings,omitempty"` BaseURL string `json:"baseUrl,omitempty"` BearerOnly bool `json:"bearerOnly"` ClientAuthenticatorType string `json:"clientAuthenticatorType,omitempty"` ClientID string `json:"clientId,omitempty"` ConsentRequired bool `json:"consentRequired"` DefaultClientScopes []string `json:"defaultClientScopes,omitempty"` DefaultRoles []string `json:"defaultRoles,omitempty"` Description string `json:"description,omitempty"` DirectAccessGrantsEnabled bool `json:"directAccessGrantsEnabled"` Enabled bool `json:"enabled"` FrontChannelLogout bool `json:"frontchannelLogout"` FullScopeAllowed bool `json:"fullScopeAllowed"` ID string `json:"id,omitempty"` ImplicitFlowEnabled bool `json:"implicitFlowEnabled"` 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"` 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"` StandardFlowEnabled bool `json:"standardFlowEnabled"` SurrogateAuthRequired bool `json:"surrogateAuthRequired"` 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
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
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
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 ComponentConfig `json:"config,omitempty"` SubType string `json:"subType,omitempty"` }
Component is a component
type ComponentConfig ¶
type ComponentConfig struct { Priority []string `json:"priority,omitempty"` Algorithm []string `json:"algorithm,omitempty"` }
ComponentConfig is a componentconfig
type CredentialRepresentation ¶
type CredentialRepresentation struct { Algorithm string `json:"algorithm,omitempty"` Config MultivaluedHashMap `json:"config,omitempty"` Counter int32 `json:"counter,omitempty"` CreatedDate int64 `json:"createdDate,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"` Temporary bool `json:"temporary"` Type string `json:"type,omitempty"` Value string `json:"value,omitempty"` }
CredentialRepresentation represents credentials
type DecisionStrategy ¶
type DecisionStrategy int
DecisionStrategy is an enum type for DecisionStrategy of PolicyRepresentation
const ( AFFIRMATIVE DecisionStrategy = iota UNANIMOUS CONSENSUS )
DecisionStrategy values
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
type GetClientsParams ¶
type GetClientsParams struct { ClientID string `json:"clientId,omitempty"` ViewableOnly bool `json:"viewableOnly,string"` }
GetClientsParams represents the query parameters
type GetGroupsParams ¶
type GetGroupsParams struct { First int `json:"first,string,omitempty"` Max int `json:"max,string,omitempty"` Search string `json:"search,omitempty"` }
GetGroupsParams represents the optional parameters for getting groups
type GetUsersParams ¶
type GetUsersParams struct { BriefRepresentation bool `json:"briefRepresentation,string"` Email string `json:"email,omitempty"` First int `json:"first,string,omitempty"` FirstName string `json:"firstName,omitempty"` LastName string `json:"lastName,omitempty"` Max int `json:"max,string,omitempty"` Search string `json:"search,omitempty"` Username string `json:"username,omitempty"` }
GetUsersParams represents the optional parameters for getting users
type GoCloak ¶
type GoCloak interface { // RestyClient returns a resty client that gocloak uses RestyClient() *resty.Client // GetToken returns a token GetToken(realm string, options TokenOptions) (*JWT, error) // Login sends a request to the token endpoint using user and client credentials Login(clientID, clientSecret, realm, username, password string) (*JWT, error) // Logout sends a request to the logout endpoint using refresh token Logout(clientID, clientSecret, realm, refreshToken string) error // LogoutPublicClient sends a request to the logout endpoint using refresh token LogoutPublicClient(clientID, realm, accessToken, refreshToken string) error // LoginClient sends a request to the token endpoint using client credentials LoginClient(clientID, clientSecret, realm string) (*JWT, error) // LoginAdmin login as admin LoginAdmin(username, password, realm string) (*JWT, error) // RequestPermission sends a request to the token endpoint with permission parameter RequestPermission(clientID, clientSecret, realm, username, password, permission string) (*JWT, error) // RefreshToken used to refresh the token RefreshToken(refreshToken string, clientID, clientSecret, realm string) (*JWT, error) // DecodeAccessToken decodes the accessToken DecodeAccessToken(accessToken string, realm string) (*jwt.Token, *jwt.MapClaims, error) // DecodeAccessTokenCustomClaims decodes the accessToken and fills the given claims DecodeAccessTokenCustomClaims(accessToken string, realm string, claims jwt.Claims) (*jwt.Token, error) // DecodeAccessTokenCustomClaims calls the token introspection endpoint RetrospectToken(accessToken string, clientID, clientSecret string, realm string) (*RetrospecTokenResult, error) // GetIssuer calls the issuer endpoint for the given realm GetIssuer(realm string) (*IssuerResponse, error) // GetCerts gets the public keys for the given realm GetCerts(realm string) (*CertResponse, error) // GetServerInfo returns the server info GetServerInfo(accessToken string) (*ServerInfoRepesentation, error) // GetUserInfo gets the user info for the given realm GetUserInfo(accessToken string, realm string) (*UserInfo, error) // ExecuteActionsEmail executes an actions email ExecuteActionsEmail(token string, realm string, params ExecuteActionsEmail) error // CreateGroup creates a new group CreateGroup(accessToken string, realm string, group Group) error // CreateClientRole creates a new role for a client CreateClientRole(accessToken string, realm string, clientID string, role Role) error // CreateClient creates a new client CreateClient(accessToken string, realm string, clientID Client) error // CreateClientScope creates a new clientScope CreateClientScope(accessToken string, realm string, scope ClientScope) error // CreateComponent creates a new component CreateComponent(accessToken string, realm string, component Component) error // UpdateGroup updates the given group UpdateGroup(accessToken string, realm string, updatedGroup Group) error // UpdateRole updates the given role UpdateRole(accessToken string, realm string, clientID string, role Role) error // UpdateClient updates the given client UpdateClient(accessToken string, realm string, updatedClient Client) error // UpdateClientScope updates the given clientScope UpdateClientScope(accessToken string, realm string, scope ClientScope) error // DeleteComponent deletes the given component DeleteComponent(accessToken string, realm, componentID string) error // DeleteGroup deletes the given group DeleteGroup(accessToken string, realm, groupID string) error // DeleteClientRole deletes the given role DeleteClientRole(accessToken string, realm, clientID, roleName string) error // DeleteClient deletes the given client DeleteClient(accessToken string, realm, clientID string) error // DeleteClientScope DeleteClientScope(accessToken string, realm, scopeID string) error // GetClient returns a client GetClient(accessToken string, realm string, clientID string) (*Client, error) // GetClientsDefaultScopes returns a list of the client's default scopes GetClientsDefaultScopes(token string, realm string, clientID string) ([]*ClientScope, error) // AddDefaultScopeToClient adds a client scope to the list of client's default scopes AddDefaultScopeToClient(token string, realm string, clientID string, scopeID string) error // RemoveDefaultScopeFromClient removes a client scope from the list of client's default scopes RemoveDefaultScopeFromClient(token string, realm string, clientID string, scopeID string) error // GetClientsOptionalScopes returns a list of the client's optional scopes GetClientsOptionalScopes(token string, realm string, clientID string) ([]*ClientScope, error) // AddOptionalScopeToClient adds a client scope to the list of client's optional scopes AddOptionalScopeToClient(token string, realm string, clientID string, scopeID string) error // RemoveOptionalScopeFromClient deletes a client scope from the list of client's optional scopes RemoveOptionalScopeFromClient(token string, realm string, clientID string, scopeID string) error // GetDefaultOptionalClientScopes returns a list of default realm optional scopes GetDefaultOptionalClientScopes(token string, realm string) ([]*ClientScope, error) // GetDefaultDefaultClientScopes returns a list of default realm default scopes GetDefaultDefaultClientScopes(token string, realm string) ([]*ClientScope, error) // GetClientScope returns a clientscope GetClientScope(token string, realm string, scopeID string) (*ClientScope, error) // GetClientScopes returns all client scopes GetClientScopes(token string, realm string) ([]*ClientScope, error) // GetClientSecret returns a client's secret GetClientSecret(token string, realm string, clientID string) (*CredentialRepresentation, error) // GetClientServiceAccount retrieves the service account "user" for a client if enabled GetClientServiceAccount(token string, realm string, clientID string) (*User, error) // RegenerateClientSecret creates a new client secret returning the updated CredentialRepresentation RegenerateClientSecret(token string, realm string, clientID string) (*CredentialRepresentation, error) // GetKeyStoreConfig gets the keyStoreConfig GetKeyStoreConfig(accessToken string, realm string) (*KeyStoreConfig, error) // GetComponents gets components of the given realm GetComponents(accessToken string, realm string) ([]*Component, error) // GetGroups gets all groups of the given realm GetGroups(accessToken string, realm string, params GetGroupsParams) ([]*Group, error) // GetGroup gets the given group GetGroup(accessToken string, realm, groupID string) (*Group, error) // GetRoleMappingByGroupID gets the rolemapping for the given group id GetRoleMappingByGroupID(accessToken string, realm string, groupID string) (*MappingsRepresentation, error) // GetRoleMappingByUserID gets the rolemapping for the given user id GetRoleMappingByUserID(accessToken string, realm string, userID string) (*MappingsRepresentation, error) // GetClientRoles gets roles for the given client GetClientRoles(accessToken string, realm string, clientID string) ([]*Role, error) // GetClientRole get a role for the given client in a realm by role name GetClientRole(token string, realm string, clientID string, roleName string) (*Role, error) // GetClients gets the clients in the realm GetClients(accessToken string, realm string, params GetClientsParams) ([]*Client, error) // GetClientOfflineSessions returns offline sessions associated with the client GetClientOfflineSessions(token, realm, clientID string) ([]*UserSessionRepresentation, error) // GetClientUserSessions returns user sessions associated with the client GetClientUserSessions(token, realm, clientID string) ([]*UserSessionRepresentation, error) // CreateClientProtocolMapper creates a protocol mapper in client scope CreateClientProtocolMapper(token, realm, clientID string, mapper ProtocolMapperRepresentation) error // DeleteClientProtocolMapper deletes a protocol mapper in client scope DeleteClientProtocolMapper(token, realm, clientID, mapperID string) error // UserAttributeContains checks if the given attribute has the given value UserAttributeContains(attributes map[string][]string, attribute string, value string) bool // CreateRealmRole creates a role in a realm CreateRealmRole(token string, realm string, role Role) error // GetRealmRole returns a role from a realm by role's name GetRealmRole(token string, realm string, roleName string) (*Role, error) // GetRealmRoles get all roles of the given realm. It's an alias for the GetRoles function GetRealmRoles(accessToken string, realm string) ([]*Role, error) // GetRealmRolesByUserID returns all roles assigned to the given user GetRealmRolesByUserID(accessToken string, realm string, userID string) ([]*Role, error) // GetRealmRolesByGroupID returns all roles assigned to the given group GetRealmRolesByGroupID(accessToken string, realm string, groupID string) ([]*Role, error) // UpdateRealmRole updates a role in a realm UpdateRealmRole(token string, realm string, roleName string, role Role) error // DeleteRealmRole deletes a role in a realm by role's name DeleteRealmRole(token string, realm string, roleName string) error // AddRealmRoleToUser adds realm-level role mappings AddRealmRoleToUser(token string, realm string, userID string, roles []Role) error // DeleteRealmRoleFromUser deletes realm-level role mappings DeleteRealmRoleFromUser(token string, realm string, userID string, roles []Role) error // AddRealmRoleComposite adds roles as composite AddRealmRoleComposite(token string, realm string, roleName string, roles []Role) error // AddRealmRoleComposite adds roles as composite DeleteRealmRoleComposite(token string, realm string, roleName string, roles []Role) error // GetRealm returns top-level representation of the realm GetRealm(token string, realm string) (*RealmRepresentation, error) // CreateRealm creates a realm CreateRealm(token string, realm RealmRepresentation) error // DeleteRealm removes a realm DeleteRealm(token string, realm string) error // *** Users *** // CreateUser creates a new user CreateUser(token string, realm string, user User) (string, error) // DeleteUser deletes the given user DeleteUser(accessToken string, realm, userID string) error // GetUserByID gets the user with the given id GetUserByID(accessToken string, realm string, userID string) (*User, error) // GetUser count returns the userCount of the given realm GetUserCount(accessToken string, realm string) (int, error) // GetUsers gets all users of the given realm GetUsers(accessToken string, realm string, params GetUsersParams) ([]*User, error) // GetUserGroups gets the groups of the given user GetUserGroups(accessToken string, realm string, userID string) ([]*UserGroup, error) // GetUsersByRoleName returns all users have a given role GetUsersByRoleName(token string, realm string, roleName string) ([]*User, error) // SetPassword sets a new password for the user with the given id. Needs elevated privileges SetPassword(token string, userID string, realm string, password string, temporary bool) error // UpdateUser updates the given user UpdateUser(accessToken string, realm string, user User) error // AddUserToGroup puts given user to given group AddUserToGroup(token string, realm string, userID string, groupID string) error // DeleteUserFromGroup deletes given user from given group DeleteUserFromGroup(token string, realm string, userID string, groupID string) error // GetUserSessions returns user sessions associated with the user GetUserSessions(token, realm, userID string) ([]*UserSessionRepresentation, error) // GetUserOfflineSessionsForClient returns offline sessions associated with the user and client GetUserOfflineSessionsForClient(token, realm, userID, clientID string) ([]*UserSessionRepresentation, 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 []interface{} `json:"subGroups,omitempty"` }
Group is a Group
type HTTPErrorResponse ¶
type HTTPErrorResponse struct {
ErrorMessage string `json:"errorMessage,omitempty"`
}
HTTPErrorResponse is a model of an error response
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
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
type MappingsRepresentation ¶
type MappingsRepresentation struct { ClientMappings map[string]ClientMappingsRepresentation `json:"clientMappings,omitempty"` RealmMappings []Role `json:"realmMappings,omitempty"` }
MappingsRepresentation is a representation of role mappings
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
type MultivaluedHashMap ¶
type MultivaluedHashMap struct { Empty bool `json:"empty"` LoadFactor float32 `json:"loadFactor,omitempty"` Threshold int32 `json:"threshold,omitempty"` }
MultivaluedHashMap represents something
type ObjectAlreadyExists ¶
type ObjectAlreadyExists struct {
ErrorMessage string
}
ObjectAlreadyExists is used when keycloak answers with 409
func (*ObjectAlreadyExists) Error ¶
func (e *ObjectAlreadyExists) Error() string
type PolicyEnforcementMode ¶
type PolicyEnforcementMode int
PolicyEnforcementMode is an enum type for PolicyEnforcementMode of ResourceServerRepresentation
const ( ENFORCING PolicyEnforcementMode = iota PERMISSIVE DISABLED )
PolicyEnforcementMode values
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"` }
PolicyRepresentation is a representation of a 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"` }
ProtocolMapperRepresentation represents....
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"` ProtocolMappersConfig ProtocolMappersConfig `json:"config,omitempty"` }
ProtocolMappers are protocolmappers
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"` }
ProtocolMappersConfig is a config of a protocol mapper
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"` AdminEventsEnabled bool `json:"adminEventsEnabled"` 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"` 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"` 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"` EditUsernameAllowed bool `json:"editUsernameAllowed"` EmailTheme string `json:"emailTheme,omitempty"` Enabled bool `json:"enabled"` EnabledEventTypes []string `json:"enabledEventTypes,omitempty"` EventsEnabled bool `json:"eventsEnabled"` 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"` KeycloakVersion string `json:"keycloakVersion,omitempty"` LoginTheme string `json:"loginTheme,omitempty"` LoginWithEmailAllowed bool `json:"loginWithEmailAllowed"` 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"` 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"` ProtocolMappers []interface{} `json:"protocolMappers,omitempty"` QuickLoginCheckMilliSeconds int64 `json:"quickLoginCheckMilliSeconds,omitempty"` Realm string `json:"realm,omitempty"` RefreshTokenMaxReuse int `json:"refreshTokenMaxReuse,omitempty"` RegistrationAllowed bool `json:"registrationAllowed"` RegistrationEmailAsUsername bool `json:"registrationEmailAsUsername"` RegistrationFlow string `json:"registrationFlow,omitempty"` RememberMe bool `json:"rememberMe"` RequiredActions []interface{} `json:"requiredActions,omitempty"` ResetCredentialsFlow string `json:"resetCredentialsFlow,omitempty"` ResetPasswordAllowed bool `json:"resetPasswordAllowed"` RevokeRefreshToken bool `json:"revokeRefreshToken"` Roles interface{} `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"` Users []User `json:"users,omitempty"` VerifyEmail bool `json:"verifyEmail"` WaitIncrementSeconds int `json:"waitIncrementSeconds,omitempty"` }
RealmRepresentation represent a realm
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"` OwnerManagedAccess bool `json:"ownerManagedAccess"` Scopes []ScopeRepresentation `json:"scopes,omitempty"` Type string `json:"type,omitempty"` URIs []string `json:"uris,omitempty"` }
ResourceRepresentation is a representation of a Resource
type ResourceServerRepresentation ¶
type ResourceServerRepresentation struct { AllowRemoteResourceManagement bool `json:"allowRemoteResourceManagement"` 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"` }
ResourceServerRepresentation represents the resources of a Server
type RetrospecTokenResult ¶
type RetrospecTokenResult struct { Permissions map[string]string `json:"permissions,omitempty"` Exp int `json:"exp,omitempty"` Nbf int `json:"nbf,omitempty"` Iat int `json:"iat,omitempty"` Aud string `json:"aud,omitempty"` Active bool `json:"active"` AuthTime int `json:"auth_time,omitempty"` Jti string `json:"jti,omitempty"` Type string `json:"typ,omitempty"` }
RetrospecTokenResult is returned when a token was checked
type Role ¶
type Role struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` ScopeParamRequired bool `json:"scopeParamRequired"` Composite bool `json:"composite"` ClientRole bool `json:"clientRole"` ContainerID string `json:"containerId,omitempty"` Description string `json:"description,omitempty"` Attributes map[string][]string `json:"attributes,omitempty"` }
Role is a role
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
type ServerInfoRepesentation ¶
type ServerInfoRepesentation struct { SystemInfo SystemInfoRepresentation `json:"systemInfo,omitempty"` MemoryInfo MemoryInfoRepresentation `json:"memoryInfo"` }
ServerInfoRepesentation represents a server info
type SetPasswordRequest ¶
type SetPasswordRequest struct { Type string `json:"type,omitempty"` Temporary bool `json:"temporary"` Password string `json:"value,omitempty"` }
SetPasswordRequest sets a new password
type SystemInfoRepresentation ¶
type SystemInfoRepresentation struct { FileEncoding string `json:"fileEncoding"` JavaHome string `json:"javaHome"` 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
type TokenOptions ¶
type TokenOptions struct { ClientID string `json:"client_id"` ClientSecret string `json:"-"` GrantType string `json:"grant_type"` 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"` }
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
type User ¶
type User struct { ID string `json:"id,omitempty"` CreatedTimestamp int64 `json:"createdTimestamp,omitempty"` Username string `json:"username,omitempty"` Enabled bool `json:"enabled"` Totp bool `json:"totp"` EmailVerified bool `json:"emailVerified"` 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"` ClientRoles map[string][]string `json:"clientRoles,omitempty"` RealmRoles []string `json:"realmRoles,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"` EmailVerified bool `json:"email_verified"` Address interface{} `json:"address,omitempty"` PreferredUsername string `json:"preferred_username,omitempty"` Email string `json:"email,omitempty"` }
UserInfo is returned by the userinfo endpoint
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