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

公開メンバ関数

 HardcodedLDAPAttributeMapper (ComponentModel mapperModel, LDAPStorageProvider ldapProvider)
 
void onRegisterUserToLDAP (LDAPObject ldapUser, UserModel localUser, RealmModel realm)
 
void onImportUserFromLDAP (LDAPObject ldapUser, UserModel user, RealmModel realm, boolean isCreate)
 
UserModel proxy (LDAPObject ldapUser, UserModel delegate, RealmModel realm)
 
void beforeLDAPQuery (LDAPQuery query)
 
SynchronizationResult syncDataFromFederationProviderToKeycloak (RealmModel realm)
 
SynchronizationResult syncDataFromKeycloakToFederationProvider (RealmModel realm)
 
List< UserModelgetGroupMembers (RealmModel realm, GroupModel group, int firstResult, int maxResults)
 
boolean onAuthenticationFailure (LDAPObject ldapUser, UserModel user, AuthenticationException ldapException, RealmModel realm)
 
LDAPStorageProvider getLdapProvider ()
 
void close ()
 

静的公開メンバ関数

static boolean parseBooleanParameter (ComponentModel mapperModel, String paramName)
 

静的公開変数類

static final String LDAP_ATTRIBUTE_NAME = "ldap.attribute.name"
 
static final String LDAP_ATTRIBUTE_VALUE = "ldap.attribute.value"
 
static Pattern substitution = Pattern.compile("\\$\\{([^}]+)\\}")
 

限定公開メンバ関数

String computeAttributeValue (String ldapAttrName, String ldapAttrValue, LDAPObject ldapUser, UserModel localUser, RealmModel realm)
 
String getRandomValue ()
 

限定公開変数類

final KeycloakSession session
 
final ComponentModel mapperModel
 
final LDAPStorageProvider ldapProvider
 

静的非公開変数類

static final Logger logger = Logger.getLogger(HardcodedLDAPAttributeMapper.class)
 
static final String CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW1234567890"
 

詳解

著者
Marek Posolda

構築子と解体子

◆ HardcodedLDAPAttributeMapper()

org.keycloak.storage.ldap.mappers.HardcodedLDAPAttributeMapper.HardcodedLDAPAttributeMapper ( ComponentModel  mapperModel,
LDAPStorageProvider  ldapProvider 
)
inline
46  {
47  super(mapperModel, ldapProvider);
48  }
final ComponentModel mapperModel
Definition: AbstractLDAPStorageMapper.java:43
final LDAPStorageProvider ldapProvider
Definition: AbstractLDAPStorageMapper.java:44

関数詳解

◆ beforeLDAPQuery()

void org.keycloak.storage.ldap.mappers.HardcodedLDAPAttributeMapper.beforeLDAPQuery ( LDAPQuery  query)
inline

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

110  {
111 
112  }

◆ close()

void org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.close ( )
inlineinherited

org.keycloak.provider.Providerを実装しています。

85  {
86 
87  }

◆ computeAttributeValue()

String org.keycloak.storage.ldap.mappers.HardcodedLDAPAttributeMapper.computeAttributeValue ( String  ldapAttrName,
String  ldapAttrValue,
LDAPObject  ldapUser,
UserModel  localUser,
RealmModel  realm 
)
inlineprotected
62  {
63  Matcher m = substitution.matcher(ldapAttrValue);
64  StringBuffer sb = new StringBuffer();
65 
66  while (m.find()) {
67  String token = m.group(1);
68  if (token.equals("RANDOM")) {
69  String randomVal = getRandomValue();
70  m.appendReplacement(sb, randomVal);
71  } else {
72  m.appendReplacement(sb, token);
73  }
74  }
75 
76  m.appendTail(sb);
77 
78  return sb.toString();
79  }
String getRandomValue()
Definition: HardcodedLDAPAttributeMapper.java:85
static Pattern substitution
Definition: HardcodedLDAPAttributeMapper.java:44

◆ getGroupMembers()

List<UserModel> org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.getGroupMembers ( RealmModel  realm,
GroupModel  group,
int  firstResult,
int  maxResults 
)
inlineinherited

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

63  {
64  return Collections.emptyList();
65  }

◆ getLdapProvider()

LDAPStorageProvider org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.getLdapProvider ( )
inlineinherited
79  {
80  return ldapProvider;
81  }
final LDAPStorageProvider ldapProvider
Definition: AbstractLDAPStorageMapper.java:44

◆ getRandomValue()

String org.keycloak.storage.ldap.mappers.HardcodedLDAPAttributeMapper.getRandomValue ( )
inlineprotected
85  {
86  SecureRandom r = new SecureRandom();
87  StringBuilder sb = new StringBuilder();
88  for (int i = 0; i < 30; i++) {
89  char c = CHARS.charAt(r.nextInt(CHARS.length()));
90  sb.append(c);
91  }
92  return sb.toString();
93  }
static final String CHARS
Definition: HardcodedLDAPAttributeMapper.java:82

◆ onAuthenticationFailure()

boolean org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.onAuthenticationFailure ( LDAPObject  ldapUser,
UserModel  user,
AuthenticationException  ldapException,
RealmModel  realm 
)
inlineinherited

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

68  {
69  return false;
70  }

◆ onImportUserFromLDAP()

void org.keycloak.storage.ldap.mappers.HardcodedLDAPAttributeMapper.onImportUserFromLDAP ( LDAPObject  ldapUser,
UserModel  user,
RealmModel  realm,
boolean  isCreate 
)
inline

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

96  {
97 
98  }

◆ onRegisterUserToLDAP()

void org.keycloak.storage.ldap.mappers.HardcodedLDAPAttributeMapper.onRegisterUserToLDAP ( LDAPObject  ldapUser,
UserModel  localUser,
RealmModel  realm 
)
inline

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

52  {
53  String ldapAttrName = mapperModel.get(LDAP_ATTRIBUTE_NAME);
54  String ldapAttrValue = mapperModel.get(LDAP_ATTRIBUTE_VALUE);
55 
56  String computedValue = computeAttributeValue(ldapAttrName, ldapAttrValue, ldapUser, localUser, realm);
57 
58  ldapUser.setAttribute(ldapAttrName, Collections.singleton(computedValue));
59  }
String computeAttributeValue(String ldapAttrName, String ldapAttrValue, LDAPObject ldapUser, UserModel localUser, RealmModel realm)
Definition: HardcodedLDAPAttributeMapper.java:62
final ComponentModel mapperModel
Definition: AbstractLDAPStorageMapper.java:43
static final String LDAP_ATTRIBUTE_VALUE
Definition: HardcodedLDAPAttributeMapper.java:42
static final String LDAP_ATTRIBUTE_NAME
Definition: HardcodedLDAPAttributeMapper.java:40
String get(String key)
Definition: ComponentModel.java:83

◆ parseBooleanParameter()

static boolean org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.parseBooleanParameter ( ComponentModel  mapperModel,
String  paramName 
)
inlinestaticinherited
73  {
74  String paramm = mapperModel.getConfig().getFirst(paramName);
75  return Boolean.parseBoolean(paramm);
76  }
final ComponentModel mapperModel
Definition: AbstractLDAPStorageMapper.java:43
V getFirst(K key)
Definition: MultivaluedHashMap.java:86
MultivaluedHashMap< String, String > getConfig()
Definition: ComponentModel.java:71

◆ proxy()

UserModel org.keycloak.storage.ldap.mappers.HardcodedLDAPAttributeMapper.proxy ( LDAPObject  ldapUser,
UserModel  delegate,
RealmModel  realm 
)
inline

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

101  {
102  // Don't update attribute in LDAP later. It's supposed to be written just at registration time
103  String ldapAttrName = mapperModel.get(LDAP_ATTRIBUTE_NAME);
104  ldapUser.addReadOnlyAttributeName(ldapAttrName);
105 
106  return delegate;
107  }
final ComponentModel mapperModel
Definition: AbstractLDAPStorageMapper.java:43
static final String LDAP_ATTRIBUTE_NAME
Definition: HardcodedLDAPAttributeMapper.java:40
String get(String key)
Definition: ComponentModel.java:83

◆ syncDataFromFederationProviderToKeycloak()

SynchronizationResult org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.syncDataFromFederationProviderToKeycloak ( RealmModel  realm)
inlineinherited

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

53  {
54  return new SynchronizationResult();
55  }

◆ syncDataFromKeycloakToFederationProvider()

SynchronizationResult org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.syncDataFromKeycloakToFederationProvider ( RealmModel  realm)
inlineinherited

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

58  {
59  return new SynchronizationResult();
60  }

メンバ詳解

◆ CHARS

final String org.keycloak.storage.ldap.mappers.HardcodedLDAPAttributeMapper.CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW1234567890"
staticprivate

◆ LDAP_ATTRIBUTE_NAME

final String org.keycloak.storage.ldap.mappers.HardcodedLDAPAttributeMapper.LDAP_ATTRIBUTE_NAME = "ldap.attribute.name"
static

◆ LDAP_ATTRIBUTE_VALUE

final String org.keycloak.storage.ldap.mappers.HardcodedLDAPAttributeMapper.LDAP_ATTRIBUTE_VALUE = "ldap.attribute.value"
static

◆ ldapProvider

final LDAPStorageProvider org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.ldapProvider
protectedinherited

◆ logger

final Logger org.keycloak.storage.ldap.mappers.HardcodedLDAPAttributeMapper.logger = Logger.getLogger(HardcodedLDAPAttributeMapper.class)
staticprivate

◆ mapperModel

final ComponentModel org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.mapperModel
protectedinherited

◆ session

final KeycloakSession org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.session
protectedinherited

◆ substitution

Pattern org.keycloak.storage.ldap.mappers.HardcodedLDAPAttributeMapper.substitution = Pattern.compile("\\$\\{([^}]+)\\}")
static

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