public class RoleStorageManager extends Object implements RoleProvider
Modifier and Type | Field and Description |
---|---|
protected KeycloakSession |
session |
Constructor and Description |
---|
RoleStorageManager(KeycloakSession session,
long roleStorageProviderTimeout) |
Modifier and Type | Method and Description |
---|---|
RoleModel |
addClientRole(ClientModel client,
String name)
Adds a client role with given
name to the given client. |
RoleModel |
addClientRole(ClientModel client,
String id,
String name)
Adds a client role with given internal ID and
name to the given client. |
RoleModel |
addRealmRole(RealmModel realm,
String name)
Adds a realm role with given
name to the given realm. |
RoleModel |
addRealmRole(RealmModel realm,
String id,
String name)
Adds a realm role with given internal ID and
name to the given realm. |
void |
close() |
RoleModel |
getClientRole(ClientModel client,
String name)
Exact search for a client role by given name.
|
Stream<RoleModel> |
getClientRolesStream(ClientModel client)
Returns all the client roles of the given client.
|
Stream<RoleModel> |
getClientRolesStream(ClientModel client,
Integer first,
Integer max)
Returns the client roles of the given client.
|
static <T> Stream<T> |
getEnabledStorageProviders(KeycloakSession session,
RealmModel realm,
Class<T> type) |
RoleModel |
getRealmRole(RealmModel realm,
String name)
Exact search for a role by given name.
|
Stream<RoleModel> |
getRealmRolesStream(RealmModel realm,
Integer first,
Integer max)
Returns the realm roles of the given realm as a stream.
|
RoleModel |
getRoleById(RealmModel realm,
String id)
Exact search for a role by its internal ID..
|
static RoleStorageProvider |
getStorageProvider(KeycloakSession session,
RealmModel realm,
String componentId) |
static RoleStorageProvider |
getStorageProviderInstance(KeycloakSession session,
RoleStorageProviderModel model,
RoleStorageProviderFactory factory) |
static RoleStorageProviderModel |
getStorageProviderModel(RealmModel realm,
String componentId) |
static <T> Stream<T> |
getStorageProviders(KeycloakSession session,
RealmModel realm,
Class<T> type) |
static <T> Stream<RoleStorageProviderModel> |
getStorageProviders(RealmModel realm,
KeycloakSession session,
Class<T> type) |
static boolean |
isStorageProviderEnabled(RealmModel realm,
String providerId) |
boolean |
removeRole(RoleModel role)
Removes given realm role from the given realm.
|
void |
removeRoles(ClientModel client)
Removes all roles from the given client.
|
void |
removeRoles(RealmModel realm)
Removes all roles from the given realm.
|
Stream<RoleModel> |
searchForClientRolesStream(ClientModel client,
String search,
Integer first,
Integer max)
Obtaining roles from an external role storage is time-bounded.
|
Stream<RoleModel> |
searchForRolesStream(RealmModel realm,
String search,
Integer first,
Integer max)
Obtaining roles from an external role storage is time-bounded.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getRealmRoles, getRealmRolesStream
protected KeycloakSession session
public RoleStorageManager(KeycloakSession session, long roleStorageProviderTimeout)
public static boolean isStorageProviderEnabled(RealmModel realm, String providerId)
public static RoleStorageProviderModel getStorageProviderModel(RealmModel realm, String componentId)
public static RoleStorageProvider getStorageProvider(KeycloakSession session, RealmModel realm, String componentId)
public static <T> Stream<RoleStorageProviderModel> getStorageProviders(RealmModel realm, KeycloakSession session, Class<T> type)
public static RoleStorageProvider getStorageProviderInstance(KeycloakSession session, RoleStorageProviderModel model, RoleStorageProviderFactory factory)
public static <T> Stream<T> getStorageProviders(KeycloakSession session, RealmModel realm, Class<T> type)
public static <T> Stream<T> getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class<T> type)
public RoleModel addRealmRole(RealmModel realm, String name)
RoleProvider
name
to the given realm.
The internal ID of the role will be created automatically.addRealmRole
in interface RoleProvider
realm
- Realm owning this role.name
- String name of the role.public RoleModel addRealmRole(RealmModel realm, String id, String name)
RoleProvider
name
to the given realm.addRealmRole
in interface RoleProvider
realm
- Realm owning this role.id
- Internal ID of the role or null
if one is to be created by the underlying storename
- String name of the role.public RoleModel getRealmRole(RealmModel realm, String name)
RoleLookupProvider
getRealmRole
in interface RoleLookupProvider
realm
- Realm.name
- String name of the role.null
if no role is found.public RoleModel getRoleById(RealmModel realm, String id)
RoleLookupProvider
getRoleById
in interface RoleLookupProvider
realm
- Realm.id
- Internal ID of the role.public Stream<RoleModel> getRealmRolesStream(RealmModel realm, Integer first, Integer max)
RoleProvider
getRealmRolesStream
in interface RoleProvider
realm
- Realm.first
- First result to return. Ignored if negative or null
.max
- Maximum number of results to return. Ignored if negative or null
.null
.public Stream<RoleModel> searchForRolesStream(RealmModel realm, String search, Integer first, Integer max)
DefaultKeycloakSessionFactory.getRoleStorageProviderTimeout()
property is used.
Default value is 3000 milliseconds and it's configurable.
See DefaultKeycloakSessionFactory
for details.searchForRolesStream
in interface RoleLookupProvider
realm
- Realm.search
- Searched substring of the role's name or description.first
- First result to return. Ignored if negative or null
.max
- Maximum number of results to return. Ignored if negative or null
.null
.public boolean removeRole(RoleModel role)
RoleProvider
removeRole
in interface RoleProvider
role
- Role to be removed.true
if the role existed and has been removed, false
otherwise.public void removeRoles(RealmModel realm)
RoleProvider
removeRoles
in interface RoleProvider
realm
- Realm.public void removeRoles(ClientModel client)
RoleProvider
removeRoles
in interface RoleProvider
client
- Client.public RoleModel addClientRole(ClientModel client, String name)
RoleProvider
name
to the given client.
The internal ID of the role will be created automatically.addClientRole
in interface RoleProvider
client
- Client owning this role.name
- String name of the role.public RoleModel addClientRole(ClientModel client, String id, String name)
RoleProvider
name
to the given client.addClientRole
in interface RoleProvider
client
- Client owning this role.id
- Internal ID of the client role or null
if one is to be created by the underlying store.name
- String name of the role.public RoleModel getClientRole(ClientModel client, String name)
RoleLookupProvider
getClientRole
in interface RoleLookupProvider
client
- Client.name
- String name of the role.null
if no role is found.public Stream<RoleModel> getClientRolesStream(ClientModel client)
RoleProvider
getClientRoles(client, null, null)
.getClientRolesStream
in interface RoleProvider
client
- Client.null
.public Stream<RoleModel> getClientRolesStream(ClientModel client, Integer first, Integer max)
RoleProvider
getClientRolesStream
in interface RoleProvider
client
- Client.first
- First result to return. Ignored if negative or null
.max
- Maximum number of results to return. Ignored if negative or null
.null
.public Stream<RoleModel> searchForClientRolesStream(ClientModel client, String search, Integer first, Integer max)
DefaultKeycloakSessionFactory.getRoleStorageProviderTimeout()
property is used.
Default value is 3000 milliseconds and it's configurable.
See DefaultKeycloakSessionFactory
for details.searchForClientRolesStream
in interface RoleLookupProvider
client
- Client.search
- String to search by role's name or description.first
- First result to return. Ignored if negative or null
.max
- Maximum number of results to return. Ignored if negative or null
.null
.Copyright © 2021 JBoss by Red Hat. All rights reserved.