Package org.keycloak.storage.adapter
Class AbstractUserAdapterFederatedStorage
java.lang.Object
org.keycloak.models.UserModelDefaultMethods
org.keycloak.storage.adapter.AbstractUserAdapterFederatedStorage
- All Implemented Interfaces:
org.keycloak.models.Model,org.keycloak.models.RoleMapperModel,org.keycloak.models.UserModel
- Direct Known Subclasses:
AbstractUserAdapterFederatedStorage.Streams
public abstract class AbstractUserAdapterFederatedStorage
extends org.keycloak.models.UserModelDefaultMethods
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
org.keycloak.models.UserModel.RequiredAction, org.keycloak.models.UserModel.UserPreRemovedEvent, org.keycloak.models.UserModel.UserRemovedEvent -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic Stringstatic Stringstatic Stringstatic Stringstatic Stringstatic Stringprotected org.keycloak.models.RealmModelprotected org.keycloak.models.KeycloakSessionprotected org.keycloak.storage.StorageIdprotected org.keycloak.component.ComponentModelFields inherited from interface org.keycloak.models.UserModel
COMPARE_BY_USERNAME, CREATED_AFTER, CREATED_BEFORE, CREATED_TIMESTAMP, DID, DISABLED_REASON, EMAIL, EMAIL_PENDING, EMAIL_VERIFIED, ENABLED, EXACT, FIRST_NAME, GROUPS, ID, IDP_ALIAS, IDP_USER_ID, INCLUDE_SERVICE_ACCOUNT, IS_TEMP_ADMIN_ATTR_NAME, LAST_NAME, LOCALE, SEARCH, USERNAME -
Constructor Summary
ConstructorsConstructorDescriptionAbstractUserAdapterFederatedStorage(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.component.ComponentModel storageProviderModel) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddRequiredAction(String action) voidaddRequiredAction(org.keycloak.models.UserModel.RequiredAction action) protected booleanShould the realm's default groups be appended to getGroups() call?protected booleanShould the realm's default roles be appended to getRoleMappings() call?org.keycloak.models.SubjectCredentialManagervoiddeleteRoleMapping(org.keycloak.models.RoleModel role) booleangetAttributeStream(String name) Stream<org.keycloak.models.RoleModel>getClientRoleMappingsStream(org.keycloak.models.ClientModel app) Gets role mappings from federated storage and automatically appends default roles.protected Set<org.keycloak.models.RoleModel>Deprecated.UsegetFederatedRoleMappingsStream()insteadprotected Stream<org.keycloak.models.RoleModel>This method should not be overriddengetFirstAttribute(String name) protected Set<org.keycloak.models.GroupModel>Get group membership mappings that are managed by this storage providerStream<org.keycloak.models.GroupModel>Gets groups from federated storage and automatically appends default groups of realm.getId()Defaults to 'f:' + storageProvider.getId() + ':' + getUsername()Stream<org.keycloak.models.RoleModel>Gets role mappings from federated storage and automatically appends default roles.protected Set<org.keycloak.models.RoleModel>Stream<org.keycloak.models.RoleModel>Gets role mappings from federated storage and automatically appends default roles.This method should not be overriddenvoidgrantRole(org.keycloak.models.RoleModel role) inthashCode()booleanhasRole(org.keycloak.models.RoleModel role) booleanbooleanbooleanisMemberOf(org.keycloak.models.GroupModel group) voidjoinGroup(org.keycloak.models.GroupModel group) voidleaveGroup(org.keycloak.models.GroupModel group) protected StringmapAttribute(String attributeName) voidremoveAttribute(String name) voidremoveRequiredAction(String action) voidremoveRequiredAction(org.keycloak.models.UserModel.RequiredAction action) voidsetAttribute(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 overriddenvoidsetServiceAccountClientLink(String clientInternalId) This method should not be overriddenvoidsetSingleAttribute(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, getLastModifiedTimestamp, getUsername, isFederated, joinGroup, setLastModifiedTimestamp, setUsername
-
Field Details
-
FIRST_NAME_ATTRIBUTE
-
LAST_NAME_ATTRIBUTE
-
EMAIL_ATTRIBUTE
-
EMAIL_VERIFIED_ATTRIBUTE
-
CREATED_TIMESTAMP_ATTRIBUTE
-
ENABLED_ATTRIBUTE
-
session
protected org.keycloak.models.KeycloakSession session -
realm
protected org.keycloak.models.RealmModel realm -
storageProviderModel
protected org.keycloak.component.ComponentModel storageProviderModel -
storageId
protected org.keycloak.storage.StorageId storageId
-
-
Constructor Details
-
AbstractUserAdapterFederatedStorage
public AbstractUserAdapterFederatedStorage(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.component.ComponentModel storageProviderModel)
-
-
Method Details
-
getFederatedStorage
-
getRequiredActionsStream
-
addRequiredAction
-
removeRequiredAction
-
addRequiredAction
public void addRequiredAction(org.keycloak.models.UserModel.RequiredAction action) -
removeRequiredAction
public void removeRequiredAction(org.keycloak.models.UserModel.RequiredAction action) -
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
public void joinGroup(org.keycloak.models.GroupModel group) -
leaveGroup
public void leaveGroup(org.keycloak.models.GroupModel group) -
isMemberOf
public boolean isMemberOf(org.keycloak.models.GroupModel group) -
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
public Stream<org.keycloak.models.RoleModel> getClientRoleMappingsStream(org.keycloak.models.ClientModel app) 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
public boolean hasRole(org.keycloak.models.RoleModel role) -
grantRole
public void grantRole(org.keycloak.models.RoleModel role) -
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
public void deleteRoleMapping(org.keycloak.models.RoleModel role) -
isEnabled
public boolean isEnabled() -
setEnabled
public void setEnabled(boolean enabled) -
getFederationLink
This method should not be overridden- Returns:
-
setFederationLink
This method should not be overridden -
getServiceAccountClientLink
This method should not be overridden- Returns:
-
setServiceAccountClientLink
This method should not be overridden -
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
public org.keycloak.models.SubjectCredentialManager credentialManager() -
equals
-
hashCode
public int hashCode()
-