Package org.keycloak.storage.jpa
Class JpaUserFederatedStorageProvider
java.lang.Object
org.keycloak.storage.jpa.JpaUserFederatedStorageProvider
- All Implemented Interfaces:
UserCredentialStore
,Provider
,UserAttributeFederatedStorage
,UserBrokerLinkFederatedStorage
,UserConsentFederatedStorage
,UserFederatedStorageProvider
,UserFederatedUserCredentialStore
,UserGroupMembershipFederatedStorage
,UserNotBeforeFederatedStorage
,UserRequiredActionsFederatedStorage
,UserRoleMappingsFederatedStorage
public class JpaUserFederatedStorageProvider
extends Object
implements UserFederatedStorageProvider, UserCredentialStore
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.keycloak.storage.federated.UserFederatedStorageProvider
UserFederatedStorageProvider.Streams
-
Field Summary
-
Constructor Summary
ConstructorDescriptionJpaUserFederatedStorageProvider
(KeycloakSession session, jakarta.persistence.EntityManager em) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addConsent
(RealmModel realm, String userId, UserConsentModel consent) void
addFederatedIdentity
(RealmModel realm, String userId, FederatedIdentityModel link) void
addRequiredAction
(RealmModel realm, String userId, String action) void
close()
createCredential
(RealmModel realm, String userId, CredentialModel cred) createCredential
(RealmModel realm, UserModel user, CredentialModel cred) protected void
createIndex
(RealmModel realm, String userId) We create an entry so that its easy to iterate over all things in the database.void
deleteRoleMapping
(RealmModel realm, String userId, RoleModel role) getAttributes
(RealmModel realm, String userId) getConsentByClient
(RealmModel realm, String userId, String clientInternalId) getConsentsStream
(RealmModel realm, String userId) getFederatedIdentitiesStream
(String userId, RealmModel realm) getFederatedIdentity
(String userId, String socialProvider, RealmModel realm) getGroupsStream
(RealmModel realm, String userId) getMembershipStream
(RealmModel realm, GroupModel group, Integer firstResult, Integer max) int
getNotBeforeOfUser
(RealmModel realm, String userId) getRequiredActionsStream
(RealmModel realm, String userId) getRoleMappingsStream
(RealmModel realm, String userId) getRoleMembersStream
(RealmModel realm, RoleModel role, Integer firstResult, Integer max) getStoredCredentialById
(RealmModel realm, String userId, String id) getStoredCredentialById
(RealmModel realm, UserModel user, String id) getStoredCredentialByNameAndType
(RealmModel realm, String userId, String name, String type) getStoredCredentialByNameAndType
(RealmModel realm, UserModel user, String name, String type) getStoredCredentialsByTypeStream
(RealmModel realm, String userId, String type) getStoredCredentialsByTypeStream
(RealmModel realm, UserModel user, String type) getStoredCredentialsStream
(RealmModel realm, String userId) getStoredCredentialsStream
(RealmModel realm, UserModel user) int
getStoredUsersCount
(RealmModel realm) getStoredUsersStream
(RealmModel realm, Integer first, Integer max) getUserByFederatedIdentity
(FederatedIdentityModel link, RealmModel realm) getUsersByUserAttributeStream
(RealmModel realm, String name, String value) void
grantRole
(RealmModel realm, String userId, RoleModel role) void
joinGroup
(RealmModel realm, String userId, GroupModel group) void
leaveGroup
(RealmModel realm, String userId, GroupModel group) boolean
moveCredentialTo
(RealmModel realm, UserModel user, String id, String newPreviousCredentialId) void
preRemove
(ClientScopeModel clientScope) void
preRemove
(ProtocolMapperModel protocolMapper) void
preRemove
(RealmModel realm) void
preRemove
(RealmModel realm, ComponentModel model) void
preRemove
(RealmModel realm, ClientModel client) void
preRemove
(RealmModel realm, GroupModel group) void
preRemove
(RealmModel realm, IdentityProviderModel provider) void
preRemove
(RealmModel realm, RoleModel role) void
preRemove
(RealmModel realm, UserModel user) void
removeAttribute
(RealmModel realm, String userId, String name) boolean
removeFederatedIdentity
(RealmModel realm, String userId, String socialProvider) void
removeRequiredAction
(RealmModel realm, String userId, String action) boolean
removeStoredCredential
(RealmModel realm, String userId, String id) boolean
removeStoredCredential
(RealmModel realm, UserModel user, String id) boolean
revokeConsentForClient
(RealmModel realm, String userId, String clientInternalId) void
setAttribute
(RealmModel realm, String userId, String name, List<String> values) void
setNotBeforeForUser
(RealmModel realm, String userId, int notBefore) void
setSingleAttribute
(RealmModel realm, String userId, String name, String value) protected CredentialModel
toModel
(FederatedUserCredentialEntity entity) void
updateConsent
(RealmModel realm, String userId, UserConsentModel consent) void
updateCredential
(RealmModel realm, String userId, CredentialModel cred) void
updateCredential
(RealmModel realm, UserModel user, CredentialModel cred) void
updateFederatedIdentity
(RealmModel realm, String userId, FederatedIdentityModel model)
-
Field Details
-
logger
protected static final org.jboss.logging.Logger logger -
em
protected jakarta.persistence.EntityManager em
-
-
Constructor Details
-
JpaUserFederatedStorageProvider
public JpaUserFederatedStorageProvider(KeycloakSession session, jakarta.persistence.EntityManager em)
-
-
Method Details
-
close
public void close() -
createIndex
We create an entry so that its easy to iterate over all things in the database. Specifically useful for export -
setAttribute
- Specified by:
setAttribute
in interfaceUserAttributeFederatedStorage
-
setSingleAttribute
- Specified by:
setSingleAttribute
in interfaceUserAttributeFederatedStorage
-
removeAttribute
- Specified by:
removeAttribute
in interfaceUserAttributeFederatedStorage
-
getAttributes
- Specified by:
getAttributes
in interfaceUserAttributeFederatedStorage
-
getUsersByUserAttributeStream
- Specified by:
getUsersByUserAttributeStream
in interfaceUserAttributeFederatedStorage
-
getUserByFederatedIdentity
- Specified by:
getUserByFederatedIdentity
in interfaceUserBrokerLinkFederatedStorage
-
addFederatedIdentity
- Specified by:
addFederatedIdentity
in interfaceUserBrokerLinkFederatedStorage
-
removeFederatedIdentity
- Specified by:
removeFederatedIdentity
in interfaceUserBrokerLinkFederatedStorage
-
preRemove
- Specified by:
preRemove
in interfaceUserBrokerLinkFederatedStorage
-
updateFederatedIdentity
- Specified by:
updateFederatedIdentity
in interfaceUserBrokerLinkFederatedStorage
-
getFederatedIdentitiesStream
- Specified by:
getFederatedIdentitiesStream
in interfaceUserBrokerLinkFederatedStorage
-
getFederatedIdentity
public FederatedIdentityModel getFederatedIdentity(String userId, String socialProvider, RealmModel realm) - Specified by:
getFederatedIdentity
in interfaceUserBrokerLinkFederatedStorage
-
addConsent
- Specified by:
addConsent
in interfaceUserConsentFederatedStorage
-
getConsentByClient
public UserConsentModel getConsentByClient(RealmModel realm, String userId, String clientInternalId) - Specified by:
getConsentByClient
in interfaceUserConsentFederatedStorage
-
getConsentsStream
- Specified by:
getConsentsStream
in interfaceUserConsentFederatedStorage
-
updateConsent
- Specified by:
updateConsent
in interfaceUserConsentFederatedStorage
-
revokeConsentForClient
- Specified by:
revokeConsentForClient
in interfaceUserConsentFederatedStorage
-
setNotBeforeForUser
- Specified by:
setNotBeforeForUser
in interfaceUserNotBeforeFederatedStorage
-
getNotBeforeOfUser
- Specified by:
getNotBeforeOfUser
in interfaceUserNotBeforeFederatedStorage
-
getGroupsStream
- Specified by:
getGroupsStream
in interfaceUserGroupMembershipFederatedStorage
-
joinGroup
- Specified by:
joinGroup
in interfaceUserGroupMembershipFederatedStorage
-
leaveGroup
- Specified by:
leaveGroup
in interfaceUserGroupMembershipFederatedStorage
-
getMembershipStream
public Stream<String> getMembershipStream(RealmModel realm, GroupModel group, Integer firstResult, Integer max) - Specified by:
getMembershipStream
in interfaceUserGroupMembershipFederatedStorage
-
getRoleMembersStream
public Stream<String> getRoleMembersStream(RealmModel realm, RoleModel role, Integer firstResult, Integer max) - Specified by:
getRoleMembersStream
in interfaceUserRoleMappingsFederatedStorage
-
getRequiredActionsStream
- Specified by:
getRequiredActionsStream
in interfaceUserRequiredActionsFederatedStorage
-
addRequiredAction
- Specified by:
addRequiredAction
in interfaceUserRequiredActionsFederatedStorage
-
removeRequiredAction
- Specified by:
removeRequiredAction
in interfaceUserRequiredActionsFederatedStorage
-
grantRole
- Specified by:
grantRole
in interfaceUserRoleMappingsFederatedStorage
-
getRoleMappingsStream
- Specified by:
getRoleMappingsStream
in interfaceUserRoleMappingsFederatedStorage
-
deleteRoleMapping
- Specified by:
deleteRoleMapping
in interfaceUserRoleMappingsFederatedStorage
-
updateCredential
- Specified by:
updateCredential
in interfaceUserFederatedUserCredentialStore
-
createCredential
- Specified by:
createCredential
in interfaceUserFederatedUserCredentialStore
-
removeStoredCredential
- Specified by:
removeStoredCredential
in interfaceUserFederatedUserCredentialStore
-
getStoredCredentialById
- Specified by:
getStoredCredentialById
in interfaceUserFederatedUserCredentialStore
-
toModel
-
getStoredCredentialsStream
- Specified by:
getStoredCredentialsStream
in interfaceUserFederatedUserCredentialStore
-
getStoredCredentialsByTypeStream
public Stream<CredentialModel> getStoredCredentialsByTypeStream(RealmModel realm, String userId, String type) - Specified by:
getStoredCredentialsByTypeStream
in interfaceUserFederatedUserCredentialStore
-
getStoredCredentialByNameAndType
public CredentialModel getStoredCredentialByNameAndType(RealmModel realm, String userId, String name, String type) - Specified by:
getStoredCredentialByNameAndType
in interfaceUserFederatedUserCredentialStore
-
getStoredUsersStream
- Specified by:
getStoredUsersStream
in interfaceUserFederatedStorageProvider
-
updateCredential
- Specified by:
updateCredential
in interfaceUserCredentialStore
-
createCredential
- Specified by:
createCredential
in interfaceUserCredentialStore
-
removeStoredCredential
- Specified by:
removeStoredCredential
in interfaceUserCredentialStore
-
getStoredCredentialById
- Specified by:
getStoredCredentialById
in interfaceUserCredentialStore
-
getStoredCredentialsStream
- Specified by:
getStoredCredentialsStream
in interfaceUserCredentialStore
-
getStoredCredentialsByTypeStream
public Stream<CredentialModel> getStoredCredentialsByTypeStream(RealmModel realm, UserModel user, String type) - Specified by:
getStoredCredentialsByTypeStream
in interfaceUserCredentialStore
-
getStoredCredentialByNameAndType
public CredentialModel getStoredCredentialByNameAndType(RealmModel realm, UserModel user, String name, String type) - Specified by:
getStoredCredentialByNameAndType
in interfaceUserCredentialStore
-
moveCredentialTo
public boolean moveCredentialTo(RealmModel realm, UserModel user, String id, String newPreviousCredentialId) - Specified by:
moveCredentialTo
in interfaceUserCredentialStore
-
getStoredUsersCount
- Specified by:
getStoredUsersCount
in interfaceUserFederatedStorageProvider
-
preRemove
- Specified by:
preRemove
in interfaceUserFederatedStorageProvider
-
preRemove
- Specified by:
preRemove
in interfaceUserFederatedStorageProvider
-
preRemove
- Specified by:
preRemove
in interfaceUserFederatedStorageProvider
-
preRemove
- Specified by:
preRemove
in interfaceUserFederatedStorageProvider
-
preRemove
- Specified by:
preRemove
in interfaceUserFederatedStorageProvider
-
preRemove
- Specified by:
preRemove
in interfaceUserFederatedStorageProvider
-
preRemove
- Specified by:
preRemove
in interfaceUserFederatedStorageProvider
-
preRemove
- Specified by:
preRemove
in interfaceUserFederatedStorageProvider
-