Package org.keycloak.models
Interface RealmProvider
-
- All Superinterfaces:
ClientLookupProvider
,ClientProvider
,ClientScopeLookupProvider
,ClientScopeProvider
,GroupLookupProvider
,GroupProvider
,Provider
,RoleLookupProvider
,RoleProvider
- All Known Subinterfaces:
CacheRealmProvider
- All Known Implementing Classes:
JpaRealmProvider
,MapRealmProvider
,RealmCacheSession
public interface RealmProvider extends Provider, ClientProvider, ClientScopeProvider, GroupProvider, RoleProvider
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description default ClientModel
addClient(RealmModel realm, String clientId)
Deprecated.Use the corresponding method fromClientProvider
.ClientModel
addClient(RealmModel realm, String id, String clientId)
Deprecated.Use the corresponding method fromClientProvider
.default RoleModel
addClientRole(RealmModel realm, ClientModel client, String name)
Deprecated.Use the corresponding method fromRoleProvider
.default RoleModel
addClientRole(RealmModel realm, ClientModel client, String id, String name)
Deprecated.Use the corresponding method fromRoleProvider
.default RoleModel
addRealmRole(RealmModel realm, String name)
Deprecated.Use the corresponding method fromRoleProvider
.RoleModel
addRealmRole(RealmModel realm, String id, String name)
Deprecated.Use the corresponding method fromRoleProvider
.void
addTopLevelGroup(RealmModel realm, GroupModel subGroup)
Deprecated.Use the corresponding method fromGroupProvider
.default ClientInitialAccessModel
createClientInitialAccessModel(RealmModel realm, int expiration, int count)
default GroupModel
createGroup(RealmModel realm, String name)
Deprecated.Use the corresponding method fromGroupProvider
.default GroupModel
createGroup(RealmModel realm, String id, String name)
Deprecated.Use the corresponding method fromGroupProvider
.GroupModel
createGroup(RealmModel realm, String id, String name, GroupModel toParent)
Deprecated.Use the corresponding method fromGroupProvider
.default GroupModel
createGroup(RealmModel realm, String name, GroupModel toParent)
Deprecated.Use the corresponding method fromGroupProvider
.RealmModel
createRealm(String name)
Creates new realm with the given name.RealmModel
createRealm(String id, String name)
Created new realm with given ID and name.default void
decreaseRemainingCount(RealmModel realm, ClientInitialAccessModel clientInitialAccess)
boolean
deleteLocalizationText(RealmModel realm, String locale, String key)
boolean
deleteLocalizationTextsByLocale(RealmModel realm, String locale)
default ClientInitialAccessModel
getClientInitialAccessModel(RealmModel realm, String id)
default RoleModel
getClientRole(RealmModel realm, ClientModel client, String name)
Deprecated.Use the corresponding method fromRoleProvider
.default Set<RoleModel>
getClientRoles(RealmModel realm, ClientModel client)
Deprecated.Use the corresponding method fromRoleProvider
.default Set<RoleModel>
getClientRoles(RealmModel realm, ClientModel client, Integer first, Integer max)
Deprecated.Use the corresponding method fromRoleProvider
.default ClientScopeModel
getClientScopeById(String id, RealmModel realm)
Deprecated.Use the corresponding method fromClientScopeProvider
.ClientScopeModel
getClientScopeById(RealmModel realm, String id)
Deprecated.Use the corresponding method fromClientScopeProvider
.long
getClientsCount(RealmModel realm)
Deprecated.Use the corresponding method fromClientProvider
.GroupModel
getGroupById(RealmModel realm, String id)
Deprecated.Use the corresponding method fromGroupProvider
.Long
getGroupsCount(RealmModel realm, Boolean onlyTopGroups)
Deprecated.Use the corresponding method fromGroupProvider
.Long
getGroupsCountByNameContaining(RealmModel realm, String search)
Deprecated.Use the corresponding method fromGroupProvider
.String
getLocalizationTextsById(RealmModel realm, String locale, String key)
RealmModel
getRealm(String id)
Exact search for a realm by its internal ID.RealmModel
getRealmByName(String name)
Exact search for a realm by its name.RoleModel
getRealmRole(RealmModel realm, String name)
Deprecated.Use the corresponding method fromRoleProvider
.default Set<RoleModel>
getRealmRoles(RealmModel realm, Integer first, Integer max)
Deprecated.Use the corresponding method fromRoleProvider
.Stream<RealmModel>
getRealmsStream()
Returns realms as a stream.Stream<RealmModel>
getRealmsWithProviderTypeStream(Class<?> type)
Returns stream of realms which has component with the given provider type.default RoleModel
getRoleById(String id, RealmModel realm)
Deprecated.Use the corresponding method fromRoleProvider
.default Stream<ClientInitialAccessModel>
listClientInitialAccessStream(RealmModel realm)
Returns client's initial access as a stream.void
moveGroup(RealmModel realm, GroupModel group, GroupModel toParent)
Deprecated.Use the corresponding method fromGroupProvider
.default void
removeClientInitialAccessModel(RealmModel realm, String id)
void
removeExpiredClientInitialAccess()
Removes all expired client initial accesses from all realms.boolean
removeGroup(RealmModel realm, GroupModel group)
Deprecated.Use the corresponding method fromGroupProvider
.boolean
removeRealm(String id)
Removes realm with the given id.default boolean
removeRole(RealmModel realm, RoleModel role)
Deprecated.Use the corresponding method fromRoleProvider
.void
saveLocalizationText(RealmModel realm, String locale, String key, String text)
void
saveLocalizationTexts(RealmModel realm, String locale, Map<String,String> localizationTexts)
default Set<RoleModel>
searchForClientRoles(RealmModel realm, ClientModel client, String search, Integer first, Integer max)
Deprecated.Use the corresponding method fromRoleProvider
.default Set<RoleModel>
searchForRoles(RealmModel realm, String search, Integer first, Integer max)
Deprecated.Use the corresponding method fromRoleProvider
.boolean
updateLocalizationText(RealmModel realm, String locale, String key, String text)
-
Methods inherited from interface org.keycloak.storage.client.ClientLookupProvider
getClientByClientId, getClientById, getClientScopes, searchClientsByAttributes, searchClientsByClientIdStream
-
Methods inherited from interface org.keycloak.models.ClientProvider
addClientScopes, getAllRedirectUrisOfEnabledClients, getAlwaysDisplayInConsoleClientsStream, getClientsStream, getClientsStream, removeClient, removeClients, removeClientScope
-
Methods inherited from interface org.keycloak.models.ClientScopeProvider
addClientScope, addClientScope, getClientScopesStream, removeClientScope, removeClientScopes
-
Methods inherited from interface org.keycloak.storage.group.GroupLookupProvider
searchForGroupByNameStream, searchForGroupByNameStream, searchGroupsByAttributes
-
Methods inherited from interface org.keycloak.models.GroupProvider
getGroupsByRoleStream, getGroupsCount, getGroupsStream, getGroupsStream, getGroupsStream, getGroupsStream, getTopLevelGroupsStream, getTopLevelGroupsStream
-
Methods inherited from interface org.keycloak.storage.role.RoleLookupProvider
getClientRole, getRoleById, searchForClientRolesStream, searchForRolesStream
-
Methods inherited from interface org.keycloak.models.RoleProvider
addClientRole, addClientRole, getClientRolesStream, getClientRolesStream, getRealmRolesStream, getRealmRolesStream, getRolesStream, removeRole, removeRoles, removeRoles
-
-
-
-
Method Detail
-
createRealm
RealmModel createRealm(String name)
Creates new realm with the given name. The internal ID will be generated automatically.- Parameters:
name
- String name of the realm- Returns:
- Model of the created realm.
-
createRealm
RealmModel createRealm(String id, String name)
Created new realm with given ID and name.- Parameters:
id
- Internal ID of the realm ornull
if one is to be created by the underlying store. If the store expects the ID to have a certain format (for exampleUUID
) and the supplied ID doesn't follow the expected format, the store may replace theid
with a new one at its own discretion.name
- String name of the realm- Returns:
- Model of the created realm.
-
getRealm
RealmModel getRealm(String id)
Exact search for a realm by its internal ID.- Parameters:
id
- Internal ID of the realm.- Returns:
- Model of the realm
-
getRealmByName
RealmModel getRealmByName(String name)
Exact search for a realm by its name.- Parameters:
name
- String name of the realm- Returns:
- Model of the realm
-
getRealmsStream
Stream<RealmModel> getRealmsStream()
Returns realms as a stream.- Returns:
- Stream of
RealmModel
. Never returnsnull
.
-
getRealmsWithProviderTypeStream
Stream<RealmModel> getRealmsWithProviderTypeStream(Class<?> type)
Returns stream of realms which has component with the given provider type.- Parameters:
type
-Class<?>
Type of the provider.- Returns:
- Stream of
RealmModel
. Never returnsnull
.
-
removeRealm
boolean removeRealm(String id)
Removes realm with the given id.- Parameters:
id
- of realm.- Returns:
true
if the realm was successfully removed.
-
createClientInitialAccessModel
default ClientInitialAccessModel createClientInitialAccessModel(RealmModel realm, int expiration, int count)
-
getClientInitialAccessModel
default ClientInitialAccessModel getClientInitialAccessModel(RealmModel realm, String id)
-
removeClientInitialAccessModel
default void removeClientInitialAccessModel(RealmModel realm, String id)
-
listClientInitialAccessStream
default Stream<ClientInitialAccessModel> listClientInitialAccessStream(RealmModel realm)
Returns client's initial access as a stream.- Parameters:
realm
-RealmModel
The realm where to list client's initial access.- Returns:
- Stream of
ClientInitialAccessModel
. Never returnsnull
.
-
removeExpiredClientInitialAccess
void removeExpiredClientInitialAccess()
Removes all expired client initial accesses from all realms.
-
decreaseRemainingCount
default void decreaseRemainingCount(RealmModel realm, ClientInitialAccessModel clientInitialAccess)
-
saveLocalizationText
void saveLocalizationText(RealmModel realm, String locale, String key, String text)
-
saveLocalizationTexts
void saveLocalizationTexts(RealmModel realm, String locale, Map<String,String> localizationTexts)
-
updateLocalizationText
boolean updateLocalizationText(RealmModel realm, String locale, String key, String text)
-
deleteLocalizationTextsByLocale
boolean deleteLocalizationTextsByLocale(RealmModel realm, String locale)
-
deleteLocalizationText
boolean deleteLocalizationText(RealmModel realm, String locale, String key)
-
getLocalizationTextsById
String getLocalizationTextsById(RealmModel realm, String locale, String key)
-
addClient
ClientModel addClient(RealmModel realm, String id, String clientId)
Deprecated.Use the corresponding method fromClientProvider
.Description copied from interface:ClientProvider
Adds a client with given internal ID andclientId
to the given realm.- Specified by:
addClient
in interfaceClientProvider
- Parameters:
realm
- Realm owning this client.id
- Internal ID of the client ornull
if one is to be created by the underlying storeclientId
- String that identifies the client to the external parties. Maps toclient_id
in OIDC orentityID
in SAML.- Returns:
- Model of the created client.
-
addClient
default ClientModel addClient(RealmModel realm, String clientId)
Deprecated.Use the corresponding method fromClientProvider
.Description copied from interface:ClientProvider
Adds a client with givenclientId
to the given realm. The internal ID of the client will be created automatically.- Specified by:
addClient
in interfaceClientProvider
- Parameters:
realm
- Realm owning this client.clientId
- String that identifies the client to the external parties. Maps toclient_id
in OIDC orentityID
in SAML.- Returns:
- Model of the created client.
-
getClientsCount
long getClientsCount(RealmModel realm)
Deprecated.Use the corresponding method fromClientProvider
.Description copied from interface:ClientProvider
Returns number of clients in the given realm- Specified by:
getClientsCount
in interfaceClientProvider
- Parameters:
realm
- Realm.- Returns:
- Number of the clients in the given realm.
-
getClientScopeById
default ClientScopeModel getClientScopeById(String id, RealmModel realm)
Deprecated.Use the corresponding method fromClientScopeProvider
.
-
getClientScopeById
ClientScopeModel getClientScopeById(RealmModel realm, String id)
Deprecated.Use the corresponding method fromClientScopeProvider
.Description copied from interface:ClientScopeLookupProvider
Exact search for a client scope by its internal ID..- Specified by:
getClientScopeById
in interfaceClientScopeLookupProvider
- Parameters:
realm
- Realm.id
- Internal ID of the role.- Returns:
- Model of the client scope.
-
addRealmRole
default RoleModel addRealmRole(RealmModel realm, String name)
Deprecated.Use the corresponding method fromRoleProvider
.Description copied from interface:RoleProvider
Adds a realm role with givenname
to the given realm. The internal ID of the role will be created automatically.- Specified by:
addRealmRole
in interfaceRoleProvider
- Parameters:
realm
- Realm owning this role.name
- String name of the role.- Returns:
- Model of the created role.
-
addRealmRole
RoleModel addRealmRole(RealmModel realm, String id, String name)
Deprecated.Use the corresponding method fromRoleProvider
.Description copied from interface:RoleProvider
Adds a realm role with given internal ID andname
to the given realm.- Specified by:
addRealmRole
in interfaceRoleProvider
- Parameters:
realm
- Realm owning this role.id
- Internal ID of the role ornull
if one is to be created by the underlying storename
- String name of the role.- Returns:
- Model of the created client.
-
getRealmRole
RoleModel getRealmRole(RealmModel realm, String name)
Deprecated.Use the corresponding method fromRoleProvider
.Description copied from interface:RoleLookupProvider
Exact search for a role by given name.- Specified by:
getRealmRole
in interfaceRoleLookupProvider
- Parameters:
realm
- Realm.name
- String name of the role.- Returns:
- Model of the role, or
null
if no role is found.
-
getRoleById
default RoleModel getRoleById(String id, RealmModel realm)
Deprecated.Use the corresponding method fromRoleProvider
.
-
getRealmRoles
default Set<RoleModel> getRealmRoles(RealmModel realm, Integer first, Integer max)
Deprecated.Use the corresponding method fromRoleProvider
.
-
searchForRoles
default Set<RoleModel> searchForRoles(RealmModel realm, String search, Integer first, Integer max)
Deprecated.Use the corresponding method fromRoleProvider
.
-
removeRole
default boolean removeRole(RealmModel realm, RoleModel role)
Deprecated.Use the corresponding method fromRoleProvider
.
-
addClientRole
default RoleModel addClientRole(RealmModel realm, ClientModel client, String name)
Deprecated.Use the corresponding method fromRoleProvider
.
-
addClientRole
default RoleModel addClientRole(RealmModel realm, ClientModel client, String id, String name)
Deprecated.Use the corresponding method fromRoleProvider
.
-
getClientRole
default RoleModel getClientRole(RealmModel realm, ClientModel client, String name)
Deprecated.Use the corresponding method fromRoleProvider
.
-
getClientRoles
default Set<RoleModel> getClientRoles(RealmModel realm, ClientModel client)
Deprecated.Use the corresponding method fromRoleProvider
.
-
getClientRoles
default Set<RoleModel> getClientRoles(RealmModel realm, ClientModel client, Integer first, Integer max)
Deprecated.Use the corresponding method fromRoleProvider
.
-
searchForClientRoles
default Set<RoleModel> searchForClientRoles(RealmModel realm, ClientModel client, String search, Integer first, Integer max)
Deprecated.Use the corresponding method fromRoleProvider
.
-
moveGroup
void moveGroup(RealmModel realm, GroupModel group, GroupModel toParent)
Deprecated.Use the corresponding method fromGroupProvider
.Description copied from interface:GroupProvider
This method is used for moving groups in group structure, for example:- making an existing child group child group of some other group,
- setting a top level group (i.e. group without parent group) child of some group,
- making a child group top level group (i.e. removing its parent group).
- Specified by:
moveGroup
in interfaceGroupProvider
- Parameters:
realm
- Realm owning this group.group
- Group to update.toParent
- New parent group, ornull
if we are moving the group to top level group.
-
getGroupById
GroupModel getGroupById(RealmModel realm, String id)
Deprecated.Use the corresponding method fromGroupProvider
.Description copied from interface:GroupLookupProvider
Returns a group from the given realm with the corresponding id- Specified by:
getGroupById
in interfaceGroupLookupProvider
- Parameters:
realm
- Realm.id
- Id.- Returns:
- GroupModel with the corresponding id.
-
getGroupsCount
Long getGroupsCount(RealmModel realm, Boolean onlyTopGroups)
Deprecated.Use the corresponding method fromGroupProvider
.Description copied from interface:GroupProvider
Returns a number of groups/top level groups (i.e. groups without parent group) for the given realm.- Specified by:
getGroupsCount
in interfaceGroupProvider
- Parameters:
realm
- Realm.onlyTopGroups
- When true the function returns a count of top level groups only.- Returns:
- Number of groups/top level groups.
-
getGroupsCountByNameContaining
Long getGroupsCountByNameContaining(RealmModel realm, String search)
Deprecated.Use the corresponding method fromGroupProvider
.Description copied from interface:GroupProvider
Returns the number of top level groups containing groups with the given string in name for the given realm.- Specified by:
getGroupsCountByNameContaining
in interfaceGroupProvider
- Parameters:
realm
- Realm.search
- Case insensitive string which will be searched for.- Returns:
- Number of groups with the given string in its name.
-
removeGroup
boolean removeGroup(RealmModel realm, GroupModel group)
Deprecated.Use the corresponding method fromGroupProvider
.Description copied from interface:GroupProvider
Removes the given group for the given realm.- Specified by:
removeGroup
in interfaceGroupProvider
- Parameters:
realm
- Realm.group
- Group.- Returns:
- true if the group was removed, false if group doesn't exist or doesn't belong to the given realm
-
createGroup
default GroupModel createGroup(RealmModel realm, String name)
Deprecated.Use the corresponding method fromGroupProvider
.Description copied from interface:GroupProvider
Creates a new group with the given name in the given realm. Effectively the same ascreateGroup(realm, null, name, null)
.- Specified by:
createGroup
in interfaceGroupProvider
- Parameters:
realm
- Realm.name
- Name.- Returns:
- Model of the created group.
-
createGroup
default GroupModel createGroup(RealmModel realm, String id, String name)
Deprecated.Use the corresponding method fromGroupProvider
.Description copied from interface:GroupProvider
Creates a new group with the given id and name in the given realm. Effectively the same ascreateGroup(realm, id, name, null)
- Specified by:
createGroup
in interfaceGroupProvider
- Parameters:
realm
- Realm.id
- Id.name
- Name.- Returns:
- Model of the created group
-
createGroup
default GroupModel createGroup(RealmModel realm, String name, GroupModel toParent)
Deprecated.Use the corresponding method fromGroupProvider
.Description copied from interface:GroupProvider
Creates a new group with the given name and parent to the given realm. Effectively the same ascreateGroup(realm, null, name, toParent)
.- Specified by:
createGroup
in interfaceGroupProvider
- Parameters:
realm
- Realm.name
- Name.toParent
- Parent group.- Returns:
- Model of the created group.
-
createGroup
GroupModel createGroup(RealmModel realm, String id, String name, GroupModel toParent)
Deprecated.Use the corresponding method fromGroupProvider
.Description copied from interface:GroupProvider
Creates a new group with the given name, id, name and parent to the given realm.- Specified by:
createGroup
in interfaceGroupProvider
- Parameters:
realm
- Realm.id
- Id, will be generated ifnull
.name
- Name.toParent
- Parent group, ornull
if the group is top level group- Returns:
- Model of the created group
-
addTopLevelGroup
void addTopLevelGroup(RealmModel realm, GroupModel subGroup)
Deprecated.Use the corresponding method fromGroupProvider
.Description copied from interface:GroupProvider
Removes parent group for the given group in the given realm.- Specified by:
addTopLevelGroup
in interfaceGroupProvider
- Parameters:
realm
- Realm.subGroup
- Group.
-
-