Package org.keycloak.storage.adapter
Class AbstractUserAdapterFederatedStorage
java.lang.Object
org.keycloak.models.UserModelDefaultMethods
org.keycloak.storage.adapter.AbstractUserAdapterFederatedStorage
- All Implemented Interfaces:
RoleMapperModel,UserModel
- Direct Known Subclasses:
AbstractUserAdapterFederatedStorage.Streams
Assumes everything is managed by federated storage except for username. getId() returns a default value
of "f:" + providerId + ":" + getUsername(). UserModel properties like enabled, firstName, lastName, email, etc. are all
stored as attributes in federated storage.
isEnabled() defaults to true if the ENABLED_ATTRIBUTE isn't set in federated storage
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classDeprecated.This interface is no longer necessary; collection-based methods were removed from the parent interface and therefore the parent interface can be used directlyNested classes/interfaces inherited from interface org.keycloak.models.UserModel
UserModel.RequiredAction, UserModel.UserRemovedEvent -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic Stringstatic Stringstatic Stringstatic Stringstatic Stringstatic Stringprotected RealmModelprotected KeycloakSessionprotected StorageIdprotected ComponentModelFields inherited from interface org.keycloak.models.UserModel
COMPARE_BY_USERNAME, DISABLED_REASON, EMAIL, EMAIL_VERIFIED, ENABLED, EXACT, FIRST_NAME, GROUPS, IDP_ALIAS, IDP_USER_ID, INCLUDE_SERVICE_ACCOUNT, LAST_NAME, LOCALE, SEARCH, USERNAME -
Constructor Summary
ConstructorsConstructorDescriptionAbstractUserAdapterFederatedStorage(KeycloakSession session, RealmModel realm, ComponentModel storageProviderModel) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddRequiredAction(String action) voidprotected booleanShould the realm's default groups be appended to getGroups() call? If your storage provider is not managing group mappings then it is recommended that this method return trueprotected booleanShould the realm's default roles be appended to getRoleMappings() call? If your storage provider is not managing all role mappings then it is recommended that this method return truevoiddeleteRoleMapping(RoleModel role) booleangetAttributeStream(String name) Gets role mappings from federated storage and automatically appends default roles.Deprecated.UsegetFederatedRoleMappingsStream()insteadThis method should not be overridengetFirstAttribute(String name) protected Set<GroupModel>Get group membership mappings that are managed by this storage providerGets groups from federated storage and automatically appends default groups of realm.getId()Defaults to 'f:' + storageProvider.getId() + ':' + getUsername()Gets role mappings from federated storage and automatically appends default roles.Gets role mappings from federated storage and automatically appends default roles.This method should not be overridenvoidinthashCode()booleanbooleanbooleanbooleanisMemberOf(GroupModel group) voidjoinGroup(GroupModel group) voidleaveGroup(GroupModel group) protected StringmapAttribute(String attributeName) voidremoveAttribute(String name) voidremoveRequiredAction(String action) voidvoidsetAttribute(String name, List<String> values) voidsetCreatedTimestamp(Long timestamp) voidsetEmailVerified(boolean verified) Stores as attribute in federated storage.voidsetEnabled(boolean enabled) voidsetFederationLink(String link) This method should not be overridenvoidsetServiceAccountClientLink(String clientInternalId) This method should not be overridenvoidsetSingleAttribute(String name, String value) Methods inherited from class org.keycloak.models.UserModelDefaultMethods
getEmail, getFirstName, getLastName, setEmail, setFirstName, setLastName, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.keycloak.models.RoleMapperModel
hasDirectRoleMethods inherited from interface org.keycloak.models.UserModel
getGroupsCount, getGroupsCountByNameContaining, getGroupsStream, getUsername, setUsername
-
Field Details
-
FIRST_NAME_ATTRIBUTE
-
LAST_NAME_ATTRIBUTE
-
EMAIL_ATTRIBUTE
-
EMAIL_VERIFIED_ATTRIBUTE
-
CREATED_TIMESTAMP_ATTRIBUTE
-
ENABLED_ATTRIBUTE
-
session
-
realm
-
storageProviderModel
-
storageId
-
-
Constructor Details
-
AbstractUserAdapterFederatedStorage
public AbstractUserAdapterFederatedStorage(KeycloakSession session, RealmModel realm, ComponentModel storageProviderModel)
-
-
Method Details
-
getFederatedStorage
-
getRequiredActionsStream
-
addRequiredAction
-
removeRequiredAction
-
addRequiredAction
-
removeRequiredAction
-
getGroupsInternal
Get group membership mappings that are managed by this storage provider- Returns:
-
appendDefaultGroups
protected boolean appendDefaultGroups()Should the realm's default groups be appended to getGroups() call? If your storage provider is not managing group mappings then it is recommended that this method return true- Returns:
-
getGroupsStream
Gets groups from federated storage and automatically appends default groups of realm. Also calls getGroupsInternal() method to pull group membership from provider. Implementors can override that method -
joinGroup
-
leaveGroup
-
isMemberOf
-
getRealmRoleMappingsStream
Gets role mappings from federated storage and automatically appends default roles. Also calls getRoleMappingsInternal() method to pull role mappings from provider. Implementors can override that method -
getClientRoleMappingsStream
Gets role mappings from federated storage and automatically appends default roles. Also calls getRoleMappingsInternal() method to pull role mappings from provider. Implementors can override that method -
hasRole
-
grantRole
-
appendDefaultRolesToRoleMappings
protected boolean appendDefaultRolesToRoleMappings()Should the realm's default roles be appended to getRoleMappings() call? If your storage provider is not managing all role mappings then it is recommended that this method return true- Returns:
-
getRoleMappingsInternal
-
getRoleMappingsStream
Gets role mappings from federated storage and automatically appends default roles. Also calls getRoleMappingsInternal() method to pull role mappings from provider. Implementors can override that method -
getFederatedRoleMappings
Deprecated.UsegetFederatedRoleMappingsStream()instead -
getFederatedRoleMappingsStream
-
deleteRoleMapping
-
isEnabled
public boolean isEnabled() -
setEnabled
public void setEnabled(boolean enabled) -
getFederationLink
This method should not be overriden- Returns:
-
setFederationLink
This method should not be overriden -
getServiceAccountClientLink
This method should not be overriden- Returns:
-
setServiceAccountClientLink
This method should not be overriden -
getId
Defaults to 'f:' + storageProvider.getId() + ':' + getUsername()- Returns:
-
getCreatedTimestamp
-
setCreatedTimestamp
-
setSingleAttribute
-
removeAttribute
-
setAttribute
-
getFirstAttribute
-
getAttributes
-
getAttributeStream
-
mapAttribute
-
isEmailVerified
public boolean isEmailVerified() -
setEmailVerified
public void setEmailVerified(boolean verified) Stores as attribute in federated storage. EMAIL_VERIFIED_ATTRIBUTE- Parameters:
verified-
-
credentialManager
-
equals
-
hashCode
public int hashCode()
-