Class InfinispanIdentityProviderStorageProvider
java.lang.Object
org.keycloak.models.cache.infinispan.idp.InfinispanIdentityProviderStorageProvider
- All Implemented Interfaces:
IdentityProviderStorageProvider,Provider
public class InfinispanIdentityProviderStorageProvider
extends Object
implements IdentityProviderStorageProvider
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.keycloak.models.IdentityProviderStorageProvider
IdentityProviderStorageProvider.FetchMode, IdentityProviderStorageProvider.LoginFilter -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringcacheKeyForLogin(RealmModel realm, IdentityProviderStorageProvider.FetchMode fetchMode) static StringcacheKeyIsEnabled(RealmModel realm) static StringcacheKeyOrgId(RealmModel realm, String orgId) voidclose()longcount()Returns the number of IDPs in the realm.create(IdentityProviderModel model) Creates a new identity provider from the specified model.Creates a new identity provider mapper from the specified model.Returns all identity providers in the realm filtered according to the specified search options.getByAlias(String alias) Obtains the identity provider with the specified alias.Returns the aliases of all identity providers whosefirstBrokerLoginFlowIdorpostBrokerLoginFlowIdmatches the providedflowId.Obtains the identity provider with the specified internal id.getByOrganization(String orgId, Integer first, Integer max) Returns all identity providers associated with the organization with the provided id.getForLogin(IdentityProviderStorageProvider.FetchMode mode, String organizationId) Returns all identity providers available for login, according to the specified mode.getMapperById(String id) Obtains the identity provider mapper with the specified id.getMapperByName(String identityProviderAlias, String name) Obtains the identity provider mapper with the provided identity provider alias and name.getMappersByAliasStream(String identityProviderAlias) Returns identity provider mappers by the provided alias as a stream.Returns all identity provider mappers in the realm filtered according to the specified search options.booleanChecks whether the realm has any configured identity providers or not.booleanRemoves the identity provider with the specified alias.voidRemoves all identity providers from the realm.voidRemoves all identity provider mappers from the realm.booleanRemoves the given identity provider mapper.voidupdate(IdentityProviderModel model) Updates the identity provider using the specified model.voidUpdates the identity provider mapper using the specified model.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.models.IdentityProviderStorageProvider
getAllStream, getByIdOrAlias, getMappersStream
-
Constructor Details
-
InfinispanIdentityProviderStorageProvider
-
-
Method Details
-
cacheKeyOrgId
-
cacheKeyForLogin
public static String cacheKeyForLogin(RealmModel realm, IdentityProviderStorageProvider.FetchMode fetchMode) -
cacheKeyIsEnabled
-
create
Description copied from interface:IdentityProviderStorageProviderCreates a new identity provider from the specified model.- Specified by:
createin interfaceIdentityProviderStorageProvider- Parameters:
model- aIdentityProviderModelcontaining the identity provider's data.- Returns:
- the model of the created identity provider.
-
update
Description copied from interface:IdentityProviderStorageProviderUpdates the identity provider using the specified model.- Specified by:
updatein interfaceIdentityProviderStorageProvider- Parameters:
model- aIdentityProviderModelcontaining the identity provider's data.
-
remove
Description copied from interface:IdentityProviderStorageProviderRemoves the identity provider with the specified alias.- Specified by:
removein interfaceIdentityProviderStorageProvider- Parameters:
alias- the alias of the identity provider to be removed.- Returns:
trueif an IDP with the specified alias was found and removed;falseotherwise.
-
removeAll
public void removeAll()Description copied from interface:IdentityProviderStorageProviderRemoves all identity providers from the realm.- Specified by:
removeAllin interfaceIdentityProviderStorageProvider
-
getById
Description copied from interface:IdentityProviderStorageProviderObtains the identity provider with the specified internal id.- Specified by:
getByIdin interfaceIdentityProviderStorageProvider- Parameters:
internalId- the identity provider's internal id.- Returns:
- a reference to the identity provider, or
nullif no provider is found.
-
getByAlias
Description copied from interface:IdentityProviderStorageProviderObtains the identity provider with the specified alias.- Specified by:
getByAliasin interfaceIdentityProviderStorageProvider- Parameters:
alias- the identity provider's alias.- Returns:
- a reference to the identity provider, or
nullif no provider is found.
-
isIdentityFederationEnabled
public boolean isIdentityFederationEnabled()Description copied from interface:IdentityProviderStorageProviderChecks whether the realm has any configured identity providers or not.- Specified by:
isIdentityFederationEnabledin interfaceIdentityProviderStorageProvider- Returns:
trueif the realm has at least one configured identity provider (federation is enabled);falseotherwise.
-
getByOrganization
Description copied from interface:IdentityProviderStorageProviderReturns all identity providers associated with the organization with the provided id.- Specified by:
getByOrganizationin interfaceIdentityProviderStorageProvider- Parameters:
orgId- the id of the organization.first- the position of the first result to be processed (pagination offset). Ignored if negative ornull.max- the maximum number of results to be returned. Ignored if negative ornull.- Returns:
- a non-null stream of
IdentityProviderModels that match the search criteria.
-
getForLogin
public Stream<IdentityProviderModel> getForLogin(IdentityProviderStorageProvider.FetchMode mode, String organizationId) Description copied from interface:IdentityProviderStorageProviderReturns all identity providers available for login, according to the specified mode. An IDP can be used for login if it is enabled, is not a link-only IDP, and is not configured to be hidden on login page. The mode parameter may narrow the list of IDPs that are available.FETCH_MODE.REALM_ONLYfetches only realm-level IDPs (i.e. those not associated with any org).FETCH_MODE.ORG_ONLYwill work together with theorganizationIdparameter. If the latter is set, only the IDPs associated with that org will be returned. Otherwise, the method returns the IDPs associated with any org.FETCH_MODE.ALLcombines both approaches, returning both the realm-level IDPs with those associated with organizations (or a specific organization as per theorganizationIdparam).- Specified by:
getForLoginin interfaceIdentityProviderStorageProvider- Parameters:
mode- the fetch mode to be used. Can beREALM_ONLY,ORG_ONLY, orALL.organizationId- an optional organization ID. If present and the mode is notREALM_ONLY, the param indicates that only IDPs associated with the specified organization are to be returned.- Returns:
- a non-null stream of
IdentityProviderModels that are suitable for being displayed in the login pages.
-
getByFlow
Description copied from interface:IdentityProviderStorageProviderReturns the aliases of all identity providers whosefirstBrokerLoginFlowIdorpostBrokerLoginFlowIdmatches the providedflowId.- Specified by:
getByFlowin interfaceIdentityProviderStorageProvider- Parameters:
flowId- the id of the flow.search- an optionalStringrepresenting an identity provider alias (partial or exact). If the value is enclosed in double quotes, the method treats it as an exact search (e.g."name"). If the value is enclosed in wildcards, the method treats it as an infix search (e.g.*name*). Otherwise, the method treats it as a prefix search (i.e.name*andnamereturn the same results).first- the position of the first result to be processed (pagination offset). Ignored if negative ornull.max- the maximum number of results to be returned. Ignored if negative ornull.- Returns:
- a non-null stream of
IdentityProviderModels that match the search criteria.
-
getAllStream
public Stream<IdentityProviderModel> getAllStream(Map<String, String> attrs, Integer first, Integer max) Description copied from interface:IdentityProviderStorageProviderReturns all identity providers in the realm filtered according to the specified search options. The options include:- Regular fields found in
IdentityProviderModel, such asALIAS,ENABLED,HIDE_ON_LOGIN, etc; - Special search keys also present in
IdentityProviderModel. Those includeSEARCH, used to perform exact, prefix, and infix searches by alias, andALIAS_NOT_IN, used to perform searches for identity providers whose alias doesn't match any of the specified aliases (separated by comma); - Any attribute found in the identity provider's config. If the option key doesn't match any of the previous cases, the implementations must search the providers whose config contains a pair that matches the specified search option
- Specified by:
getAllStreamin interfaceIdentityProviderStorageProvider- Parameters:
attrs- aMapcontaining identity provider search options that must be matched.first- the position of the first result to be processed (pagination offset). Ignored if negative ornull.max- the maximum number of results to be returned. Ignored if negative ornull.- Returns:
- a non-null stream of
IdentityProviderModels that match the search criteria.
- Regular fields found in
-
count
public long count()Description copied from interface:IdentityProviderStorageProviderReturns the number of IDPs in the realm.- Specified by:
countin interfaceIdentityProviderStorageProvider- Returns:
- the number of IDPs found in the realm.
-
close
public void close() -
createMapper
Description copied from interface:IdentityProviderStorageProviderCreates a new identity provider mapper from the specified model.- Specified by:
createMapperin interfaceIdentityProviderStorageProvider- Parameters:
model- aIdentityProviderMapperModelcontaining the identity provider mapper's data.- Returns:
- the model of the created identity provider mapper.
-
updateMapper
Description copied from interface:IdentityProviderStorageProviderUpdates the identity provider mapper using the specified model.- Specified by:
updateMapperin interfaceIdentityProviderStorageProvider- Parameters:
model- aIdentityProviderMapperModelcontaining the identity provider mapper's data.
-
removeMapper
Description copied from interface:IdentityProviderStorageProviderRemoves the given identity provider mapper.- Specified by:
removeMapperin interfaceIdentityProviderStorageProvider- Parameters:
model- aIdentityProviderMapperModelto be deleted.- Returns:
trueif an identity provider mapper was removed;falseotherwise.
-
removeAllMappers
public void removeAllMappers()Description copied from interface:IdentityProviderStorageProviderRemoves all identity provider mappers from the realm.- Specified by:
removeAllMappersin interfaceIdentityProviderStorageProvider
-
getMapperById
Description copied from interface:IdentityProviderStorageProviderObtains the identity provider mapper with the specified id.- Specified by:
getMapperByIdin interfaceIdentityProviderStorageProvider- Parameters:
id- the identity provider mapper's id.- Returns:
- a reference to the identity provider mapper, or
nullif no mapper is found.
-
getMapperByName
Description copied from interface:IdentityProviderStorageProviderObtains the identity provider mapper with the provided identity provider alias and name.- Specified by:
getMapperByNamein interfaceIdentityProviderStorageProvider- Parameters:
identityProviderAlias- the identity provider alias.name- the identity provider mapper's name.- Returns:
- a reference to the identity provider mapper, or
nullif no provider is found.
-
getMappersStream
public Stream<IdentityProviderMapperModel> getMappersStream(Map<String, String> options, Integer first, Integer max) Description copied from interface:IdentityProviderStorageProviderReturns all identity provider mappers in the realm filtered according to the specified search options.- Specified by:
getMappersStreamin interfaceIdentityProviderStorageProvider- Parameters:
options- aMapcontaining identity provider search options that must be matched.first- the position of the first result to be processed (pagination offset). Ignored if negative ornull.max- the maximum number of results to be returned. Ignored if negative ornull.- Returns:
- a non-null stream of
IdentityProviderModels that match the search criteria.
-
getMappersByAliasStream
Description copied from interface:IdentityProviderStorageProviderReturns identity provider mappers by the provided alias as a stream.- Specified by:
getMappersByAliasStreamin interfaceIdentityProviderStorageProvider- Parameters:
identityProviderAlias-StringIdentity provider alias to filter results.- Returns:
- Stream of
IdentityProviderMapperModelNever returnsnull.
-