Package org.keycloak.storage
Class RoleStorageManager
- java.lang.Object
-
- org.keycloak.storage.RoleStorageManager
-
- All Implemented Interfaces:
RoleProvider,Provider,RoleLookupProvider
public class RoleStorageManager extends Object implements RoleProvider
-
-
Field Summary
Fields Modifier and Type Field Description protected KeycloakSessionsession
-
Constructor Summary
Constructors Constructor Description RoleStorageManager(KeycloakSession session, long roleStorageProviderTimeout)
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.models.RoleProvider
getRealmRolesStream
-
-
-
-
Field Detail
-
session
protected KeycloakSession session
-
-
Constructor Detail
-
RoleStorageManager
public RoleStorageManager(KeycloakSession session, long roleStorageProviderTimeout)
-
-
Method Detail
-
isStorageProviderEnabled
public static boolean isStorageProviderEnabled(RealmModel realm, String providerId)
-
getStorageProviderModel
public static RoleStorageProviderModel getStorageProviderModel(RealmModel realm, String componentId)
-
getStorageProvider
public static RoleStorageProvider getStorageProvider(KeycloakSession session, RealmModel realm, String componentId)
-
getStorageProviders
public static <T> Stream<RoleStorageProviderModel> getStorageProviders(RealmModel realm, KeycloakSession session, Class<T> type)
-
getStorageProviderInstance
public static RoleStorageProvider getStorageProviderInstance(KeycloakSession session, RoleStorageProviderModel model, RoleStorageProviderFactory factory)
-
getStorageProviders
public static <T> Stream<T> getStorageProviders(KeycloakSession session, RealmModel realm, Class<T> type)
-
getEnabledStorageProviders
public static <T> Stream<T> getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class<T> type)
-
addRealmRole
public RoleModel addRealmRole(RealmModel realm, String name)
- Specified by:
addRealmRolein interfaceRoleProvider
-
addRealmRole
public RoleModel addRealmRole(RealmModel realm, String id, String name)
- Specified by:
addRealmRolein interfaceRoleProvider
-
getRealmRole
public RoleModel getRealmRole(RealmModel realm, String name)
- Specified by:
getRealmRolein interfaceRoleLookupProvider
-
getRoleById
public RoleModel getRoleById(RealmModel realm, String id)
- Specified by:
getRoleByIdin interfaceRoleLookupProvider
-
getRealmRolesStream
public Stream<RoleModel> getRealmRolesStream(RealmModel realm, Integer first, Integer max)
- Specified by:
getRealmRolesStreamin interfaceRoleProvider
-
getRolesStream
public Stream<RoleModel> getRolesStream(RealmModel realm, Stream<String> ids, String search, Integer first, Integer max)
- Specified by:
getRolesStreamin interfaceRoleProvider
-
searchForRolesStream
public Stream<RoleModel> searchForRolesStream(RealmModel realm, String search, Integer first, Integer max)
Obtaining roles from an external role storage is time-bounded. In case the external role storage isn't available at least roles from a local storage are returned. For this purpose theorg.keycloak.services.DefaultKeycloakSessionFactory#getRoleStorageProviderTimeout()property is used. Default value is 3000 milliseconds and it's configurable. Seeorg.keycloak.services.DefaultKeycloakSessionFactoryfor details.- Specified by:
searchForRolesStreamin interfaceRoleLookupProvider
-
removeRole
public boolean removeRole(RoleModel role)
- Specified by:
removeRolein interfaceRoleProvider
-
removeRoles
public void removeRoles(RealmModel realm)
- Specified by:
removeRolesin interfaceRoleProvider
-
removeRoles
public void removeRoles(ClientModel client)
- Specified by:
removeRolesin interfaceRoleProvider
-
addClientRole
public RoleModel addClientRole(ClientModel client, String name)
- Specified by:
addClientRolein interfaceRoleProvider
-
addClientRole
public RoleModel addClientRole(ClientModel client, String id, String name)
- Specified by:
addClientRolein interfaceRoleProvider
-
getClientRole
public RoleModel getClientRole(ClientModel client, String name)
- Specified by:
getClientRolein interfaceRoleLookupProvider
-
getClientRolesStream
public Stream<RoleModel> getClientRolesStream(ClientModel client)
- Specified by:
getClientRolesStreamin interfaceRoleProvider
-
getClientRolesStream
public Stream<RoleModel> getClientRolesStream(ClientModel client, Integer first, Integer max)
- Specified by:
getClientRolesStreamin interfaceRoleProvider
-
searchForClientRolesStream
public Stream<RoleModel> searchForClientRolesStream(ClientModel client, String search, Integer first, Integer max)
Obtaining roles from an external role storage is time-bounded. In case the external role storage isn't available at least roles from a local storage are returned. For this purpose theorg.keycloak.services.DefaultKeycloakSessionFactory#getRoleStorageProviderTimeout()} property is used. Default value is 3000 milliseconds and it's configurable. Seeorg.keycloak.services.DefaultKeycloakSessionFactoryfor details.- Specified by:
searchForClientRolesStreamin interfaceRoleLookupProvider
-
-