Package org.keycloak.models.jpa
Class ClientAdapter
java.lang.Object
org.keycloak.models.jpa.ClientAdapter
- All Implemented Interfaces:
ClientModel
,ClientScopeModel
,JpaModel<ClientEntity>
,OrderedModel
,ProtocolMapperContainerModel
,RoleContainerModel
,ScopeContainerModel
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.keycloak.models.ClientModel
ClientModel.ClientCreationEvent, ClientModel.ClientIdChangeEvent, ClientModel.ClientProtocolUpdatedEvent, ClientModel.ClientRemovedEvent, ClientModel.ClientUpdatedEvent
Nested classes/interfaces inherited from interface org.keycloak.models.ClientScopeModel
ClientScopeModel.ClientScopeRemovedEvent
Nested classes/interfaces inherited from interface org.keycloak.models.OrderedModel
OrderedModel.OrderedModelComparator<OM extends OrderedModel>
Nested classes/interfaces inherited from interface org.keycloak.models.RoleContainerModel
RoleContainerModel.RoleRemovedEvent
-
Field Summary
Modifier and TypeFieldDescriptionprotected jakarta.persistence.EntityManager
protected ClientEntity
protected RealmModel
protected KeycloakSession
Fields inherited from interface org.keycloak.models.ClientModel
LOGO_URI, POLICY_URI, PRIVATE_KEY, PUBLIC_KEY, TOS_URI, TYPE, X509CERTIFICATE
Fields inherited from interface org.keycloak.models.ClientScopeModel
CONSENT_SCREEN_TEXT, DISPLAY_ON_CONSENT_SCREEN, DYNAMIC_SCOPE_REGEXP, GUI_ORDER, INCLUDE_IN_TOKEN_SCOPE, IS_DYNAMIC_SCOPE
-
Constructor Summary
ConstructorDescriptionClientAdapter
(RealmModel realm, jakarta.persistence.EntityManager em, KeycloakSession session, ClientEntity entity) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addClientScope
(ClientScopeModel clientScope, boolean defaultScope) Add clientScope with this client.void
addClientScopes
(Set<ClientScopeModel> clientScopes, boolean defaultScope) Add clientScopes with this client.void
addRedirectUri
(String redirectUri) void
addScopeMapping
(RoleModel role) void
addWebOrigin
(String webOrigin) static boolean
void
deleteScopeMapping
(RoleModel role) protected ProtocolMapperModel
entityToModel
(ProtocolMapperEntity entity) boolean
getAttribute
(String name) Get authentication flow binding override for this client.Returns client ID as defined by the user.getClientScopes
(boolean defaultScope) Return all default scopes (if 'defaultScope' is true) or all optional scopes (if 'defaultScope' is false) linked with this clientgetId()
Returns client internal ID (UUID).getName()
int
int
Time in seconds since epocgetProtocolMapperByName
(String protocol, String name) protected ProtocolMapperEntity
protected ProtocolMapperEntity
getProtocolMapperEntityByName
(String protocol, String name) Returns protocol mappers as a stream.getRealm()
From the scope mappings returned byScopeContainerModel.getScopeMappingsStream()
returns only those that belong to the realm that owns this scope container.Returns available roles as a stream.getRolesStream
(Integer first, Integer max) Returns available roles as a stream.Returns scope mappings for this scope container as a stream.int
hashCode()
boolean
Returnstrue
, if this object has the given role directly or indirectly in its scope,false
otherwise.boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
void
registerNode
(String nodeHost, int registrationTime) Register node or just update the 'lastReRegistration' time if this node is already registeredvoid
removeAttribute
(String name) void
void
removeClientScope
(ClientScopeModel clientScope) void
removeProtocolMapper
(ProtocolMapperModel mapping) void
removeRedirectUri
(String redirectUri) boolean
removeRole
(RoleModel roleModel) void
removeWebOrigin
(String webOrigin) searchForRolesStream
(String search, Integer first, Integer max) Searches roles by the given name.void
setAlwaysDisplayInConsole
(boolean alwaysDisplayInConsole) void
setAttribute
(String name, String value) void
setAuthenticationFlowBindingOverride
(String name, String value) void
setBaseUrl
(String url) void
setBearerOnly
(boolean only) void
setClientAuthenticatorType
(String clientAuthenticatorType) void
setClientId
(String clientId) void
setConsentRequired
(boolean consentRequired) void
setDescription
(String description) void
setDirectAccessGrantsEnabled
(boolean directAccessGrantsEnabled) void
setEnabled
(boolean enabled) void
setFrontchannelLogout
(boolean flag) void
setFullScopeAllowed
(boolean value) void
setImplicitFlowEnabled
(boolean implicitFlowEnabled) void
setManagementUrl
(String url) void
void
setNodeReRegistrationTimeout
(int timeout) void
setNotBefore
(int notBefore) void
setProtocol
(String protocol) void
setPublicClient
(boolean flag) void
setRedirectUris
(Set<String> redirectUris) void
setRegistrationToken
(String registrationToken) void
setRootUrl
(String url) void
void
setServiceAccountsEnabled
(boolean serviceAccountsEnabled) void
setStandardFlowEnabled
(boolean standardFlowEnabled) void
setSurrogateAuthRequired
(boolean surrogateAuthRequired) void
setWebOrigins
(Set<String> webOrigins) toString()
void
unregisterNode
(String nodeHost) void
Notifies other providers that this client has been updated.void
updateProtocolMapper
(ProtocolMapperModel mapping) boolean
validateSecret
(String secret) Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.keycloak.models.ClientModel
getConsentScreenText, getDynamicClientScope, getType, hasDirectScope, isDisplayOnConsentScreen, setType
Methods inherited from interface org.keycloak.models.ClientScopeModel
getDynamicScopeRegexp, getGuiOrder, isDynamicScope, isIncludeInTokenScope, setConsentScreenText, setDisplayOnConsentScreen, setGuiOrder, setIncludeInTokenScope, setIsDynamicScope
-
Field Details
-
session
-
realm
-
em
protected jakarta.persistence.EntityManager em -
entity
-
-
Constructor Details
-
ClientAdapter
public ClientAdapter(RealmModel realm, jakarta.persistence.EntityManager em, KeycloakSession session, ClientEntity entity)
-
-
Method Details
-
getEntity
- Specified by:
getEntity
in interfaceJpaModel<ClientEntity>
-
getId
Description copied from interface:ClientModel
Returns client internal ID (UUID).- Specified by:
getId
in interfaceClientModel
- Specified by:
getId
in interfaceClientScopeModel
- Specified by:
getId
in interfaceRoleContainerModel
-
getRealm
- Specified by:
getRealm
in interfaceClientModel
- Specified by:
getRealm
in interfaceClientScopeModel
-
getName
- Specified by:
getName
in interfaceClientModel
- Specified by:
getName
in interfaceClientScopeModel
-
setName
- Specified by:
setName
in interfaceClientModel
- Specified by:
setName
in interfaceClientScopeModel
-
getDescription
- Specified by:
getDescription
in interfaceClientModel
- Specified by:
getDescription
in interfaceClientScopeModel
-
setDescription
- Specified by:
setDescription
in interfaceClientModel
- Specified by:
setDescription
in interfaceClientScopeModel
-
isEnabled
public boolean isEnabled()- Specified by:
isEnabled
in interfaceClientModel
-
setEnabled
public void setEnabled(boolean enabled) - Specified by:
setEnabled
in interfaceClientModel
-
isAlwaysDisplayInConsole
public boolean isAlwaysDisplayInConsole()- Specified by:
isAlwaysDisplayInConsole
in interfaceClientModel
-
setAlwaysDisplayInConsole
public void setAlwaysDisplayInConsole(boolean alwaysDisplayInConsole) - Specified by:
setAlwaysDisplayInConsole
in interfaceClientModel
-
isPublicClient
public boolean isPublicClient()- Specified by:
isPublicClient
in interfaceClientModel
-
setPublicClient
public void setPublicClient(boolean flag) - Specified by:
setPublicClient
in interfaceClientModel
-
isFrontchannelLogout
public boolean isFrontchannelLogout()- Specified by:
isFrontchannelLogout
in interfaceClientModel
-
setFrontchannelLogout
public void setFrontchannelLogout(boolean flag) - Specified by:
setFrontchannelLogout
in interfaceClientModel
-
isFullScopeAllowed
public boolean isFullScopeAllowed()- Specified by:
isFullScopeAllowed
in interfaceClientModel
-
setFullScopeAllowed
public void setFullScopeAllowed(boolean value) - Specified by:
setFullScopeAllowed
in interfaceClientModel
-
getWebOrigins
- Specified by:
getWebOrigins
in interfaceClientModel
-
setWebOrigins
- Specified by:
setWebOrigins
in interfaceClientModel
-
addWebOrigin
- Specified by:
addWebOrigin
in interfaceClientModel
-
removeWebOrigin
- Specified by:
removeWebOrigin
in interfaceClientModel
-
getRedirectUris
- Specified by:
getRedirectUris
in interfaceClientModel
-
setRedirectUris
- Specified by:
setRedirectUris
in interfaceClientModel
-
addRedirectUri
- Specified by:
addRedirectUri
in interfaceClientModel
-
removeRedirectUri
- Specified by:
removeRedirectUri
in interfaceClientModel
-
getClientAuthenticatorType
- Specified by:
getClientAuthenticatorType
in interfaceClientModel
-
setClientAuthenticatorType
- Specified by:
setClientAuthenticatorType
in interfaceClientModel
-
getSecret
- Specified by:
getSecret
in interfaceClientModel
-
setSecret
- Specified by:
setSecret
in interfaceClientModel
-
getRegistrationToken
- Specified by:
getRegistrationToken
in interfaceClientModel
-
setRegistrationToken
- Specified by:
setRegistrationToken
in interfaceClientModel
-
validateSecret
- Specified by:
validateSecret
in interfaceClientModel
-
getNotBefore
public int getNotBefore()Description copied from interface:ClientModel
Time in seconds since epoc- Specified by:
getNotBefore
in interfaceClientModel
- Returns:
-
setNotBefore
public void setNotBefore(int notBefore) - Specified by:
setNotBefore
in interfaceClientModel
-
getRealmScopeMappingsStream
Description copied from interface:ScopeContainerModel
From the scope mappings returned byScopeContainerModel.getScopeMappingsStream()
returns only those that belong to the realm that owns this scope container.- Specified by:
getRealmScopeMappingsStream
in interfaceScopeContainerModel
- Returns:
- stream of
RoleModel
. Never returnsnull
.
-
getScopeMappingsStream
Description copied from interface:ScopeContainerModel
Returns scope mappings for this scope container as a stream.- Specified by:
getScopeMappingsStream
in interfaceScopeContainerModel
- Returns:
- Stream of
RoleModel
. Never returnsnull
.
-
addScopeMapping
- Specified by:
addScopeMapping
in interfaceScopeContainerModel
-
deleteScopeMapping
- Specified by:
deleteScopeMapping
in interfaceScopeContainerModel
-
getProtocol
- Specified by:
getProtocol
in interfaceClientModel
- Specified by:
getProtocol
in interfaceClientScopeModel
-
setProtocol
- Specified by:
setProtocol
in interfaceClientModel
- Specified by:
setProtocol
in interfaceClientScopeModel
-
setAuthenticationFlowBindingOverride
- Specified by:
setAuthenticationFlowBindingOverride
in interfaceClientModel
-
removeAuthenticationFlowBindingOverride
- Specified by:
removeAuthenticationFlowBindingOverride
in interfaceClientModel
-
getAuthenticationFlowBindingOverride
Description copied from interface:ClientModel
Get authentication flow binding override for this client. Allows client to override an authentication flow binding.- Specified by:
getAuthenticationFlowBindingOverride
in interfaceClientModel
- Parameters:
name
- examples are "browser", "direct_grant"- Returns:
-
getAuthenticationFlowBindingOverrides
- Specified by:
getAuthenticationFlowBindingOverrides
in interfaceClientModel
-
setAttribute
- Specified by:
setAttribute
in interfaceClientModel
- Specified by:
setAttribute
in interfaceClientScopeModel
-
removeAttribute
- Specified by:
removeAttribute
in interfaceClientModel
- Specified by:
removeAttribute
in interfaceClientScopeModel
-
getAttribute
- Specified by:
getAttribute
in interfaceClientModel
- Specified by:
getAttribute
in interfaceClientScopeModel
-
getAttributes
- Specified by:
getAttributes
in interfaceClientModel
- Specified by:
getAttributes
in interfaceClientScopeModel
-
addClientScope
Description copied from interface:ClientModel
Add clientScope with this client. Add it as default scope (if parameter 'defaultScope' is true) or optional scope (if parameter 'defaultScope' is false)- Specified by:
addClientScope
in interfaceClientModel
-
addClientScopes
Description copied from interface:ClientModel
Add clientScopes with this client. Add as default scopes (if parameter 'defaultScope' is true) or optional scopes (if parameter 'defaultScope' is false)- Specified by:
addClientScopes
in interfaceClientModel
-
removeClientScope
- Specified by:
removeClientScope
in interfaceClientModel
-
getClientScopes
Description copied from interface:ClientModel
Return all default scopes (if 'defaultScope' is true) or all optional scopes (if 'defaultScope' is false) linked with this client- Specified by:
getClientScopes
in interfaceClientModel
- Returns:
- map where key is the name of the clientScope, value is particular clientScope. Returns empty map if no scopes linked (never returns null).
-
contains
-
getProtocolMappersStream
Description copied from interface:ProtocolMapperContainerModel
Returns protocol mappers as a stream.- Specified by:
getProtocolMappersStream
in interfaceProtocolMapperContainerModel
- Returns:
- Stream of protocol mapper. Never returns
null
.
-
addProtocolMapper
- Specified by:
addProtocolMapper
in interfaceProtocolMapperContainerModel
-
getProtocolMapperEntity
-
getProtocolMapperEntityByName
-
removeProtocolMapper
- Specified by:
removeProtocolMapper
in interfaceProtocolMapperContainerModel
-
updateProtocolMapper
- Specified by:
updateProtocolMapper
in interfaceProtocolMapperContainerModel
-
getProtocolMapperById
- Specified by:
getProtocolMapperById
in interfaceProtocolMapperContainerModel
-
getProtocolMapperByName
- Specified by:
getProtocolMapperByName
in interfaceProtocolMapperContainerModel
-
entityToModel
-
updateClient
public void updateClient()Description copied from interface:ClientModel
Notifies other providers that this client has been updated.After a client is updated, providers can register for
ClientModel.ClientUpdatedEvent
. The setters in this model do not send an update for individual updates of the model. This method is here to allow for sending this event for this client, allowsing for to group multiple changes of a client and signal that all the changes in this client have been performed.- Specified by:
updateClient
in interfaceClientModel
- See Also:
-
getClientId
Description copied from interface:ClientModel
Returns client ID as defined by the user.- Specified by:
getClientId
in interfaceClientModel
- Returns:
-
setClientId
- Specified by:
setClientId
in interfaceClientModel
-
isSurrogateAuthRequired
public boolean isSurrogateAuthRequired()- Specified by:
isSurrogateAuthRequired
in interfaceClientModel
-
setSurrogateAuthRequired
public void setSurrogateAuthRequired(boolean surrogateAuthRequired) - Specified by:
setSurrogateAuthRequired
in interfaceClientModel
-
getManagementUrl
- Specified by:
getManagementUrl
in interfaceClientModel
-
setManagementUrl
- Specified by:
setManagementUrl
in interfaceClientModel
-
getRootUrl
- Specified by:
getRootUrl
in interfaceClientModel
-
setRootUrl
- Specified by:
setRootUrl
in interfaceClientModel
-
getBaseUrl
- Specified by:
getBaseUrl
in interfaceClientModel
-
setBaseUrl
- Specified by:
setBaseUrl
in interfaceClientModel
-
isBearerOnly
public boolean isBearerOnly()- Specified by:
isBearerOnly
in interfaceClientModel
-
setBearerOnly
public void setBearerOnly(boolean only) - Specified by:
setBearerOnly
in interfaceClientModel
-
isConsentRequired
public boolean isConsentRequired()- Specified by:
isConsentRequired
in interfaceClientModel
-
setConsentRequired
public void setConsentRequired(boolean consentRequired) - Specified by:
setConsentRequired
in interfaceClientModel
-
isStandardFlowEnabled
public boolean isStandardFlowEnabled()- Specified by:
isStandardFlowEnabled
in interfaceClientModel
-
setStandardFlowEnabled
public void setStandardFlowEnabled(boolean standardFlowEnabled) - Specified by:
setStandardFlowEnabled
in interfaceClientModel
-
isImplicitFlowEnabled
public boolean isImplicitFlowEnabled()- Specified by:
isImplicitFlowEnabled
in interfaceClientModel
-
setImplicitFlowEnabled
public void setImplicitFlowEnabled(boolean implicitFlowEnabled) - Specified by:
setImplicitFlowEnabled
in interfaceClientModel
-
isDirectAccessGrantsEnabled
public boolean isDirectAccessGrantsEnabled()- Specified by:
isDirectAccessGrantsEnabled
in interfaceClientModel
-
setDirectAccessGrantsEnabled
public void setDirectAccessGrantsEnabled(boolean directAccessGrantsEnabled) - Specified by:
setDirectAccessGrantsEnabled
in interfaceClientModel
-
isServiceAccountsEnabled
public boolean isServiceAccountsEnabled()- Specified by:
isServiceAccountsEnabled
in interfaceClientModel
-
setServiceAccountsEnabled
public void setServiceAccountsEnabled(boolean serviceAccountsEnabled) - Specified by:
setServiceAccountsEnabled
in interfaceClientModel
-
getRole
- Specified by:
getRole
in interfaceRoleContainerModel
-
addRole
- Specified by:
addRole
in interfaceRoleContainerModel
-
addRole
- Specified by:
addRole
in interfaceRoleContainerModel
-
removeRole
- Specified by:
removeRole
in interfaceRoleContainerModel
-
getRolesStream
Description copied from interface:RoleContainerModel
Returns available roles as a stream.- Specified by:
getRolesStream
in interfaceRoleContainerModel
- Returns:
- Stream of
RoleModel
. Never returnsnull
.
-
getRolesStream
Description copied from interface:RoleContainerModel
Returns available roles as a stream.- Specified by:
getRolesStream
in interfaceRoleContainerModel
- Parameters:
first
-Integer
Index of the first desired role. Ignored if negative ornull
.max
-Integer
Maximum number of returned roles. Ignored if negative ornull
.- Returns:
- Stream of
RoleModel
. Never returnsnull
.
-
searchForRolesStream
Description copied from interface:RoleContainerModel
Searches roles by the given name. Returns all roles that match the given filter.- Specified by:
searchForRolesStream
in interfaceRoleContainerModel
- Parameters:
search
-String
Name of the role to be used as a filter.first
-Integer
Index of the first desired role. Ignored if negative ornull
.max
-Integer
Maximum number of returned roles. Ignored if negative ornull
.- Returns:
- Stream of
RoleModel
. Never returnsnull
.
-
hasScope
Description copied from interface:ScopeContainerModel
Returnstrue
, if this object has the given role directly or indirectly in its scope,false
otherwise.- Specified by:
hasScope
in interfaceScopeContainerModel
- Parameters:
role
- the role- Returns:
- see description
- See Also:
-
getNodeReRegistrationTimeout
public int getNodeReRegistrationTimeout()- Specified by:
getNodeReRegistrationTimeout
in interfaceClientModel
-
setNodeReRegistrationTimeout
public void setNodeReRegistrationTimeout(int timeout) - Specified by:
setNodeReRegistrationTimeout
in interfaceClientModel
-
getRegisteredNodes
- Specified by:
getRegisteredNodes
in interfaceClientModel
-
registerNode
Description copied from interface:ClientModel
Register node or just update the 'lastReRegistration' time if this node is already registered- Specified by:
registerNode
in interfaceClientModel
-
unregisterNode
- Specified by:
unregisterNode
in interfaceClientModel
-
equals
-
hashCode
public int hashCode() -
toString
-