Class JpaOrganizationProvider
- All Implemented Interfaces:
OrganizationProvider
,Provider
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
addIdentityProvider
(OrganizationModel organization, IdentityProviderModel identityProvider) Associate the givenIdentityProviderModel
with the givenOrganizationModel
.boolean
addManagedMember
(OrganizationModel organization, UserModel user) Adds the givenUserModel
as a managed member of the givenOrganizationModel
.boolean
addMember
(OrganizationModel organization, UserModel user) Adds the givenUserModel
as an unmanaged member of the givenOrganizationModel
.void
close()
long
count()
Returns number of organizations in the realm.Creates a new organization with givenid
,name
, andalias
to the realmgetAllStream
(String search, Boolean exact, Integer first, Integer max) Returns all organizations in the realm filtered according to the specified parameters.Returns all organizations in the realm filtered according to the specified parameters.getByDomainName
(String domain) Returns aOrganizationModel
by its internet domain.Returns aOrganizationModel
by itsid
;getByMember
(UserModel member) Returns theOrganizationModel
that themember
belongs to.getIdentityProviders
(OrganizationModel organization) getMemberById
(OrganizationModel organization, String id) Returns the member of theOrganizationModel
by itsid
.long
getMembersCount
(OrganizationModel organization) Returns number of members in the organization.getMembersStream
(OrganizationModel organization, String search, Boolean exact, Integer first, Integer max) Returns the members of a givenOrganizationModel
filtered according to the specified parameters.boolean
Indicates if the current realm supports organization.boolean
isManagedMember
(OrganizationModel organization, UserModel member) Indicates if the givenmember
is managed by the organization.boolean
remove
(OrganizationModel organization) Removes the given organization from the realm together with the data associated with it, e.g.void
Removes all organizations from the realm.boolean
removeIdentityProvider
(OrganizationModel organization, IdentityProviderModel identityProvider) Removes the link between the givenOrganizationModel
and the identity provider associated with it if such a link exists.boolean
removeMember
(OrganizationModel organization, UserModel member) Removes a member from the organization.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.keycloak.organization.OrganizationProvider
create, getAllStream, getByAlias, isMember
-
Constructor Details
-
JpaOrganizationProvider
-
-
Method Details
-
create
Description copied from interface:OrganizationProvider
Creates a new organization with givenid
,name
, andalias
to the realm- Specified by:
create
in interfaceOrganizationProvider
- Parameters:
id
- the id of the organization.name
- the name of the organization.alias
- the alias of the organization. If not set, defaults to the value set toname
. Once set, the alias is immutable.- Returns:
- Model of the created organization.
-
remove
Description copied from interface:OrganizationProvider
Removes the given organization from the realm together with the data associated with it, e.g. its members etc.- Specified by:
remove
in interfaceOrganizationProvider
- Parameters:
organization
- Organization to be removed.- Returns:
true
if the organization was removed,false
otherwise
-
removeAll
public void removeAll()Description copied from interface:OrganizationProvider
Removes all organizations from the realm.- Specified by:
removeAll
in interfaceOrganizationProvider
-
addManagedMember
Description copied from interface:OrganizationProvider
Adds the givenUserModel
as a managed member of the givenOrganizationModel
.- Specified by:
addManagedMember
in interfaceOrganizationProvider
- Parameters:
organization
- the organizationuser
- the user- Returns:
true
if the user was added as a member. Otherwise, returnsfalse
-
addMember
Description copied from interface:OrganizationProvider
Adds the givenUserModel
as an unmanaged member of the givenOrganizationModel
.- Specified by:
addMember
in interfaceOrganizationProvider
- Parameters:
organization
- the organizationuser
- the user- Returns:
true
if the user was added as a member. Otherwise, returnsfalse
-
getById
Description copied from interface:OrganizationProvider
Returns aOrganizationModel
by itsid
;- Specified by:
getById
in interfaceOrganizationProvider
- Parameters:
id
- the id of an organization- Returns:
- the organization with the given
id
ornull
if there is no such an organization.
-
getByDomainName
Description copied from interface:OrganizationProvider
Returns aOrganizationModel
by its internet domain.- Specified by:
getByDomainName
in interfaceOrganizationProvider
- Parameters:
domain
- the organization's internet domain (e.g. redhat.com)- Returns:
- the organization that is linked to the given internet domain
-
getAllStream
public Stream<OrganizationModel> getAllStream(String search, Boolean exact, Integer first, Integer max) Description copied from interface:OrganizationProvider
Returns all organizations in the realm filtered according to the specified parameters.- Specified by:
getAllStream
in interfaceOrganizationProvider
- Parameters:
search
- aString
representing either an organization name or domain.exact
- iftrue
, the organizations will be searched using exact match for thesearch
param - i.e. either the organization name or one of its domains must match exactly thesearch
param. If false, the method returns all organizations whose name or (domains) partially match thesearch
param.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
Stream
of the matched organizations. Never returnsnull
.
-
getAllStream
public Stream<OrganizationModel> getAllStream(Map<String, String> attributes, Integer first, Integer max) Description copied from interface:OrganizationProvider
Returns all organizations in the realm filtered according to the specified parameters.- Specified by:
getAllStream
in interfaceOrganizationProvider
- Parameters:
attributes
- aMap
containig the attributes (name/value) that must match organization attributes.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
Stream
of the matched organizations. Never returnsnull
.
-
getMembersStream
public Stream<UserModel> getMembersStream(OrganizationModel organization, String search, Boolean exact, Integer first, Integer max) Description copied from interface:OrganizationProvider
Returns the members of a givenOrganizationModel
filtered according to the specified parameters.- Specified by:
getMembersStream
in interfaceOrganizationProvider
- Parameters:
organization
- the organization- Returns:
- Stream of the members. Never returns
null
.
-
getMembersCount
Description copied from interface:OrganizationProvider
Returns number of members in the organization.- Specified by:
getMembersCount
in interfaceOrganizationProvider
- Parameters:
organization
- the organization- Returns:
- Number of members in the organization.
-
getMemberById
Description copied from interface:OrganizationProvider
Returns the member of theOrganizationModel
by itsid
.- Specified by:
getMemberById
in interfaceOrganizationProvider
- Parameters:
organization
- the organizationid
- the member id- Returns:
- the member of the
OrganizationModel
with the givenid
-
getByMember
Description copied from interface:OrganizationProvider
Returns theOrganizationModel
that themember
belongs to.- Specified by:
getByMember
in interfaceOrganizationProvider
- Parameters:
member
- the member of an organization- Returns:
- the organizations the
member
belongs to or an empty stream if the user doesn't belong to any.
-
addIdentityProvider
public boolean addIdentityProvider(OrganizationModel organization, IdentityProviderModel identityProvider) Description copied from interface:OrganizationProvider
Associate the givenIdentityProviderModel
with the givenOrganizationModel
.- Specified by:
addIdentityProvider
in interfaceOrganizationProvider
- Parameters:
organization
- the organizationidentityProvider
- the identityProvider- Returns:
true
if the identityProvider was associated with the organization. Otherwise, returnsfalse
-
getIdentityProviders
- Specified by:
getIdentityProviders
in interfaceOrganizationProvider
- Parameters:
organization
- the organization- Returns:
- Stream of the identity providers associated with the given
organization
. Never returnsnull
.
-
removeIdentityProvider
public boolean removeIdentityProvider(OrganizationModel organization, IdentityProviderModel identityProvider) Description copied from interface:OrganizationProvider
Removes the link between the givenOrganizationModel
and the identity provider associated with it if such a link exists.- Specified by:
removeIdentityProvider
in interfaceOrganizationProvider
- Parameters:
organization
- the organizationidentityProvider
- the identity provider- Returns:
true
if the link was removed,false
otherwise
-
isManagedMember
Description copied from interface:OrganizationProvider
Indicates if the given
member
is managed by the organization.A member is managed by the organization whenever the member cannot exist without the organization they belong to so that their lifecycle is bound to the organization lifecycle. For instance, when a member is federated from the identity provider associated with an organization, there is a strong relationship between the member identity and the organization.
On the other hand, existing realm users whose identities are not intrinsically linked to an organization but are eventually joining an organization are not managed by the organization. They have a lifecycle that does not depend on the organization they are linked to.
- Specified by:
isManagedMember
in interfaceOrganizationProvider
- Parameters:
organization
- the organizationmember
- the member- Returns:
true
if themember
is managed by the givenorganization
. Otherwise, returnsfalse
-
removeMember
Description copied from interface:OrganizationProvider
Removes a member from the organization.
This method can either remove the given
member
entirely from the realm (and the organization) or only remove the link to theorganization
so that the user still exists but is no longer a member of the organization. The decision to remove the user entirely or only the link depends on whether the user is managed by the organization or not, respectively.- Specified by:
removeMember
in interfaceOrganizationProvider
- Parameters:
organization
- the organizationmember
- the member- Returns:
true
if the givenmember
is a member and was successfully removed from the organization. Otherwise, returnsfalse
-
count
public long count()Description copied from interface:OrganizationProvider
Returns number of organizations in the realm.- Specified by:
count
in interfaceOrganizationProvider
- Returns:
- long Number of organizations
-
isEnabled
public boolean isEnabled()Description copied from interface:OrganizationProvider
Indicates if the current realm supports organization.- Specified by:
isEnabled
in interfaceOrganizationProvider
- Returns:
true
if organization is supported. Otherwise, returnsfalse
-
close
public void close()
-