keycloak
公開メンバ関数 | 静的公開メンバ関数 | 静的公開変数類 | 限定公開メンバ関数 | 静的限定公開変数類 | 静的関数 | 静的非公開メンバ関数 | 全メンバ一覧
org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory クラス
org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory の継承関係図
Inheritance graph
org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory 連携図
Collaboration graph

公開メンバ関数

String getHelpText ()
 
List< ProviderConfigPropertygetConfigProperties ()
 
List< ProviderConfigPropertygetConfigProperties (RealmModel realm, ComponentModel parent)
 
String getId ()
 
void validateConfiguration (KeycloakSession session, RealmModel realm, ComponentModel config) throws ComponentValidationException
 
void init (Config.Scope config)
 
LDAPStorageMapper create (KeycloakSession session, ComponentModel model)
 
void postInit (KeycloakSessionFactory factory)
 
Map< String, Object > getTypeMetadata ()
 
void close ()
 
default void onParentUpdate (RealmModel realm, UserStorageProviderModel oldParent, UserStorageProviderModel newParent, ComponentModel mapperModel)
 
default void onCreate (KeycloakSession session, RealmModel realm, ComponentModel model)
 

静的公開メンバ関数

static ProviderConfigProperty createConfigProperty (String name, String label, String helpText, String type, List< String > options)
 

静的公開変数類

static final String PROVIDER_ID = "full-name-ldap-mapper"
 

限定公開メンバ関数

AbstractLDAPStorageMapper createMapper (ComponentModel mapperModel, LDAPStorageProvider federationProvider)
 
void checkMandatoryConfigAttribute (String name, String displayName, ComponentModel mapperModel) throws ComponentValidationException
 

静的限定公開変数類

static final List< ProviderConfigPropertyconfigProperties
 

静的関数

 [static initializer]
 

静的非公開メンバ関数

static List< ProviderConfigPropertygetConfigProps (ComponentModel parent)
 

詳解

著者
Marek Posolda

関数詳解

◆ [static initializer]()

org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory.[static initializer] ( )
inlinestaticpackage

◆ checkMandatoryConfigAttribute()

void org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapperFactory.checkMandatoryConfigAttribute ( String  name,
String  displayName,
ComponentModel  mapperModel 
) throws ComponentValidationException
inlineprotectedinherited
80  {
81  String attrConfigValue = mapperModel.getConfig().getFirst(name);
82  if (attrConfigValue == null || attrConfigValue.trim().isEmpty()) {
83  throw new ComponentValidationException("Missing configuration for '" + displayName + "'");
84  }
85  }

◆ close()

void org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapperFactory.close ( )
inlineinherited
67  {
68  }

◆ create()

LDAPStorageMapper org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapperFactory.create ( KeycloakSession  session,
ComponentModel  model 
)
inlineinherited
42  {
43  // LDAPStorageProvider is in the session already as mappers are always called from it
44  String ldapProviderModelId = model.getParentId();
45  LDAPStorageProvider ldapProvider = (LDAPStorageProvider) session.getAttribute(ldapProviderModelId);
46 
47  return createMapper(model, ldapProvider);
48  }
abstract AbstractLDAPStorageMapper createMapper(ComponentModel mapperModel, LDAPStorageProvider federationProvider)

◆ createConfigProperty()

static ProviderConfigProperty org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapperFactory.createConfigProperty ( String  name,
String  label,
String  helpText,
String  type,
List< String >  options 
)
inlinestaticinherited
70  {
71  ProviderConfigProperty configProperty = new ProviderConfigProperty();
72  configProperty.setName(name);
73  configProperty.setLabel(label);
74  configProperty.setHelpText(helpText);
75  configProperty.setType(type);
76  configProperty.setOptions(options);
77  return configProperty;
78  }

◆ createMapper()

AbstractLDAPStorageMapper org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory.createMapper ( ComponentModel  mapperModel,
LDAPStorageProvider  federationProvider 
)
inlineprotected
122  {
123  return new FullNameLDAPStorageMapper(mapperModel, federationProvider);
124  }

◆ getConfigProperties() [1/2]

List<ProviderConfigProperty> org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory.getConfigProperties ( )
inline
83  {
84  return configProperties;
85  }
static final List< ProviderConfigProperty > configProperties
Definition: FullNameLDAPStorageMapperFactory.java:40

◆ getConfigProperties() [2/2]

List<ProviderConfigProperty> org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory.getConfigProperties ( RealmModel  realm,
ComponentModel  parent 
)
inline
88  {
89  return getConfigProps(parent);
90  }
static List< ProviderConfigProperty > getConfigProps(ComponentModel parent)
Definition: FullNameLDAPStorageMapperFactory.java:46

◆ getConfigProps()

static List<ProviderConfigProperty> org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory.getConfigProps ( ComponentModel  parent)
inlinestaticprivate
46  {
47  boolean readOnly = false;
48  if (parent != null) {
49  LDAPConfig config = new LDAPConfig(parent.getConfig());
50  readOnly = config.getEditMode() != UserStorageProvider.EditMode.WRITABLE;
51  }
52 
53 
54  return ProviderConfigurationBuilder.create()
55  .property().name(FullNameLDAPStorageMapper.LDAP_FULL_NAME_ATTRIBUTE)
56  .label("LDAP Full Name Attribute")
57  .helpText("Name of LDAP attribute, which contains fullName of user. Usually it will be 'cn' ")
58  .type(ProviderConfigProperty.STRING_TYPE)
59  .defaultValue(LDAPConstants.CN)
60  .add()
61  .property().name(FullNameLDAPStorageMapper.READ_ONLY)
62  .label("Read Only")
63  .helpText("For Read-only is data imported from LDAP to Keycloak DB, but it's not saved back to LDAP when user is updated in Keycloak.")
64  .type(ProviderConfigProperty.BOOLEAN_TYPE)
65  .defaultValue(String.valueOf(readOnly))
66  .add()
67  .property().name(FullNameLDAPStorageMapper.WRITE_ONLY)
68  .label("Write Only")
69  .helpText("For Write-only is data propagated to LDAP when user is created or updated in Keycloak. But this mapper is not used to propagate data from LDAP back into Keycloak. " +
70  "This setting is useful if you configured separate firstName and lastName attribute mappers and you want to use those to read attribute from LDAP into Keycloak")
71  .type(ProviderConfigProperty.BOOLEAN_TYPE)
72  .defaultValue(String.valueOf(!readOnly))
73  .add()
74  .build();
75  }

◆ getHelpText()

String org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory.getHelpText ( )
inline
78  {
79  return "Used to map full-name of user from single attribute in LDAP (usually 'cn' attribute) to firstName and lastName attributes of UserModel in Keycloak DB";
80  }

◆ getId()

String org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory.getId ( )
inline
93  {
94  return PROVIDER_ID;
95  }
static final String PROVIDER_ID
Definition: FullNameLDAPStorageMapperFactory.java:38

◆ getTypeMetadata()

Map<String, Object> org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapperFactory.getTypeMetadata ( )
inlineinherited
58  {
59  Map<String, Object> metadata = new HashMap<>();
60  metadata.put("fedToKeycloakSyncSupported", false);
61  metadata.put("keycloakToFedSyncSupported", false);
62 
63  return metadata;
64  }

◆ init()

void org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapperFactory.init ( Config.Scope  config)
inlineinherited
38  {
39  }

◆ onCreate()

default void org.keycloak.storage.ldap.mappers.LDAPStorageMapperFactory< T extends LDAPStorageMapper >.onCreate ( KeycloakSession  session,
RealmModel  realm,
ComponentModel  model 
)
inlineinherited

Called when UserStorageProviderModel is created. This allows you to do initialization of any additional configuration you need to add. For example, you may be introspecting a database or ldap schema to automatically create mappings.

引数
session
realm
model
99  {
100 
101  }

◆ onParentUpdate()

default void org.keycloak.storage.ldap.mappers.LDAPStorageMapperFactory< T extends LDAPStorageMapper >.onParentUpdate ( RealmModel  realm,
UserStorageProviderModel  oldParent,
UserStorageProviderModel  newParent,
ComponentModel  mapperModel 
)
inlineinherited
86  {
87 
88  }

◆ postInit()

void org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapperFactory.postInit ( KeycloakSessionFactory  factory)
inlineinherited
54  {
55  }

◆ validateConfiguration()

void org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory.validateConfiguration ( KeycloakSession  session,
RealmModel  realm,
ComponentModel  config 
) throws ComponentValidationException
inline
98  {
99  checkMandatoryConfigAttribute(FullNameLDAPStorageMapper.LDAP_FULL_NAME_ATTRIBUTE, "LDAP Full Name Attribute", config);
100 
101 
102  boolean readOnly = AbstractLDAPStorageMapper.parseBooleanParameter(config, FullNameLDAPStorageMapper.READ_ONLY);
103  boolean writeOnly = AbstractLDAPStorageMapper.parseBooleanParameter(config, FullNameLDAPStorageMapper.WRITE_ONLY);
104 
105  ComponentModel parent = realm.getComponent(config.getParentId());
106  if (parent == null) {
107  throw new ComponentValidationException("can't find parent component model");
108 
109  }
110  LDAPConfig cfg = new LDAPConfig(parent.getConfig());
111  UserStorageProvider.EditMode editMode = cfg.getEditMode();
112 
113  if (writeOnly && cfg.getEditMode() != UserStorageProvider.EditMode.WRITABLE) {
114  throw new ComponentValidationException("ldapErrorCantWriteOnlyForReadOnlyLdap");
115  }
116  if (writeOnly && readOnly) {
117  throw new ComponentValidationException("ldapErrorCantWriteOnlyAndReadOnly");
118  }
119  }
void checkMandatoryConfigAttribute(String name, String displayName, ComponentModel mapperModel)
Definition: AbstractLDAPStorageMapperFactory.java:80

メンバ詳解

◆ configProperties

final List<ProviderConfigProperty> org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory.configProperties
staticprotected

◆ PROVIDER_ID

final String org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory.PROVIDER_ID = "full-name-ldap-mapper"
static

このクラス詳解は次のファイルから抽出されました: