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

公開メンバ関数

List< ProviderConfigPropertygetConfigProperties ()
 
String getId ()
 
String [] getCompatibleProviders ()
 
String getDisplayCategory ()
 
String getDisplayType ()
 
void updateBrokeredUser (KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
 
void preprocessFederatedIdentity (KeycloakSession session, RealmModel realm, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
 
String getHelpText ()
 
void close ()
 
IdentityProviderMapper create (KeycloakSession session)
 
void init (org.keycloak.Config.Scope config)
 
void init (Config.Scope config)
 
void postInit (KeycloakSessionFactory factory)
 
void importNewUser (KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
 
default int order ()
 

静的公開変数類

static final String [] COMPATIBLE_PROVIDERS = {SAMLIdentityProviderFactory.PROVIDER_ID}
 
static final String TEMPLATE = "template"
 
static final String PROVIDER_ID = "saml-username-idp-mapper"
 
static final String ANY_PROVIDER = "*"
 

静的関数

 [static initializer]
 

静的変数

static Pattern substitution = Pattern.compile("\\$\\{([^}]+)\\}")
 

静的非公開変数類

static final List< ProviderConfigPropertyconfigProperties = new ArrayList<ProviderConfigProperty>()
 

詳解

著者
Bill Burke
バージョン
Revision
1

関数詳解

◆ [static initializer]()

org.keycloak.broker.saml.mappers.UsernameTemplateMapper.[static initializer] ( )
inlinestaticpackage

◆ close()

void org.keycloak.broker.provider.AbstractIdentityProviderMapper.close ( )
inlineinherited

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

32  {
33 
34  }

◆ create()

IdentityProviderMapper org.keycloak.broker.provider.AbstractIdentityProviderMapper.create ( KeycloakSession  session)
inlineinherited

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

37  {
38  return null;
39  }

◆ getCompatibleProviders()

String [] org.keycloak.broker.saml.mappers.UsernameTemplateMapper.getCompatibleProviders ( )
inline

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

77  {
78  return COMPATIBLE_PROVIDERS;
79  }
static final String [] COMPATIBLE_PROVIDERS
Definition: UsernameTemplateMapper.java:47

◆ getConfigProperties()

List<ProviderConfigProperty> org.keycloak.broker.saml.mappers.UsernameTemplateMapper.getConfigProperties ( )
inline

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

67  {
68  return configProperties;
69  }
static final List< ProviderConfigProperty > configProperties
Definition: UsernameTemplateMapper.java:49

◆ getDisplayCategory()

String org.keycloak.broker.saml.mappers.UsernameTemplateMapper.getDisplayCategory ( )
inline

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

82  {
83  return "Preprocessor";
84  }

◆ getDisplayType()

String org.keycloak.broker.saml.mappers.UsernameTemplateMapper.getDisplayType ( )
inline

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

87  {
88  return "Username Template Importer";
89  }

◆ getHelpText()

String org.keycloak.broker.saml.mappers.UsernameTemplateMapper.getHelpText ( )
inline

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

141  {
142  return "Format the username to import.";
143  }

◆ getId()

String org.keycloak.broker.saml.mappers.UsernameTemplateMapper.getId ( )
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

72  {
73  return PROVIDER_ID;
74  }
static final String PROVIDER_ID
Definition: UsernameTemplateMapper.java:64

◆ importNewUser()

void org.keycloak.broker.provider.AbstractIdentityProviderMapper.importNewUser ( KeycloakSession  session,
RealmModel  realm,
UserModel  user,
IdentityProviderMapperModel  mapperModel,
BrokeredIdentityContext  context 
)
inlineinherited

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

57  {
58 
59  }

◆ init() [1/2]

void org.keycloak.provider.ProviderFactory< T extends Provider >.init ( Config.Scope  config)
inherited

Only called once when the factory is first created. This config is pulled from keycloak_server.json

引数
config

org.keycloak.storage.ldap.LDAPStorageProviderFactory, org.keycloak.protocol.saml.EntityDescriptorDescriptionConverter, org.keycloak.authentication.authenticators.x509.AbstractX509ClientCertificateAuthenticatorFactory, org.keycloak.authentication.forms.RegistrationUserCreation, org.keycloak.authentication.authenticators.resetcred.ResetCredentialEmail, org.keycloak.authentication.forms.RegistrationRecaptcha, org.keycloak.authentication.authenticators.resetcred.ResetCredentialChooseUser, org.keycloak.authentication.forms.RegistrationProfile, org.keycloak.authentication.forms.RegistrationPassword, org.keycloak.cluster.infinispan.InfinispanClusterProviderFactory, org.keycloak.protocol.saml.installation.KeycloakSamlClientInstallation, org.keycloak.protocol.saml.installation.SamlIDPDescriptorClientInstallation, org.keycloak.authentication.requiredactions.UpdateProfile, org.keycloak.authentication.requiredactions.UpdatePassword, org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation, org.keycloak.protocol.saml.mappers.RoleNameMapper, org.keycloak.connections.httpclient.DefaultHttpClientFactory, org.keycloak.protocol.saml.installation.ModAuthMellonClientInstallation, org.keycloak.federation.kerberos.KerberosFederationProviderFactory, org.keycloak.authentication.requiredactions.VerifyEmail, org.keycloak.authentication.requiredactions.UpdateTotp, org.keycloak.connections.jpa.updater.liquibase.conn.DefaultLiquibaseConnectionProvider, org.keycloak.protocol.oidc.installation.KeycloakOIDCJbossSubsystemClientInstallation, org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory, org.keycloak.protocol.saml.installation.SamlSPDescriptorClientInstallation, org.keycloak.policy.BlacklistPasswordPolicyProviderFactory, org.keycloak.authentication.forms.RegistrationPage, org.keycloak.protocol.saml.profile.ecp.authenticator.HttpBasicAuthenticatorFactory, org.keycloak.authentication.authenticators.browser.IdentityProviderAuthenticatorFactory, org.keycloak.authentication.authenticators.resetcred.AbstractSetRequiredActionAuthenticator, org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory, org.keycloak.protocol.saml.installation.KeycloakSamlSubsystemInstallation, org.keycloak.keys.infinispan.InfinispanPublicKeyStorageProviderFactory, org.keycloak.theme.ClasspathThemeProviderFactory, org.keycloak.models.cache.infinispan.InfinispanUserCacheProviderFactory, org.keycloak.models.cache.infinispan.InfinispanCacheRealmProviderFactory, org.keycloak.executors.DefaultExecutorsProviderFactory, org.keycloak.authentication.authenticators.browser.ScriptBasedAuthenticatorFactory, org.keycloak.protocol.saml.SamlProtocolFactory, org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticatorFactory, org.keycloak.protocol.docker.DockerAuthenticatorFactory, org.keycloak.storage.UserStorageProviderFactory< T extends UserStorageProvider >, org.keycloak.storage.client.ClientStorageProviderFactory< T extends ClientStorageProvider >, org.keycloak.authentication.authenticators.directgrant.AbstractDirectGrantAuthenticator, org.keycloak.authentication.authenticators.browser.OTPFormAuthenticatorFactory, org.keycloak.authentication.authenticators.browser.UsernamePasswordFormFactory, org.keycloak.exportimport.KeycloakClientDescriptionConverter, org.keycloak.authentication.authenticators.browser.SpnegoAuthenticatorFactory, org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper, org.keycloak.authentication.authenticators.browser.CookieAuthenticatorFactory, org.keycloak.authentication.requiredactions.TermsAndConditions, org.keycloak.events.email.EmailEventListenerProviderFactory, org.keycloak.authentication.authenticators.broker.IdpReviewProfileAuthenticatorFactory, org.keycloak.protocol.saml.mappers.AbstractSAMLProtocolMapper, org.keycloak.models.session.DisabledUserSessionPersisterProvider, org.keycloak.services.x509.DefaultClientCertificateLookupFactory, org.keycloak.authentication.authenticators.broker.IdpCreateUserIfUniqueAuthenticatorFactory, org.keycloak.authentication.authenticators.cli.CliUsernamePasswordAuthenticatorFactory, org.keycloak.authentication.authenticators.client.AbstractClientAuthenticator, org.keycloak.theme.JarThemeProviderFactory, org.keycloak.authentication.authenticators.challenge.BasicAuthAuthenticatorFactory, org.keycloak.authentication.authenticators.challenge.BasicAuthOTPAuthenticatorFactory, org.keycloak.authentication.authenticators.challenge.NoCookieFlowRedirectAuthenticatorFactory, org.keycloak.connections.jpa.updater.liquibase.lock.LiquibaseDBLockProviderFactory, org.keycloak.models.sessions.infinispan.InfinispanActionTokenStoreProviderFactory, org.keycloak.timer.basic.BasicTimerProviderFactory, org.keycloak.truststore.FileTruststoreProviderFactory, org.keycloak.authentication.authenticators.console.ConsoleUsernamePasswordAuthenticatorFactory, org.keycloak.events.log.JBossLoggingEventListenerProviderFactory, org.keycloak.protocol.oidc.OIDCClientDescriptionConverterFactory, org.keycloak.authentication.authenticators.broker.IdpConfirmLinkAuthenticatorFactory, org.keycloak.authentication.authenticators.broker.IdpEmailVerificationAuthenticatorFactory, org.keycloak.exportimport.singlefile.SingleFileImportProviderFactory, org.keycloak.services.x509.AbstractClientCertificateFromHttpHeadersLookupFactory, org.keycloak.theme.ClasspathThemeResourceProviderFactory, org.keycloak.exportimport.dir.DirExportProviderFactory, org.keycloak.exportimport.singlefile.SingleFileExportProviderFactory, org.keycloak.policy.HashAlgorithmPasswordPolicyProviderFactory, org.keycloak.policy.HistoryPasswordPolicyProviderFactory, org.keycloak.protocol.docker.mapper.DockerAuthV2ProtocolMapper, org.keycloak.authentication.authenticators.broker.IdpAutoLinkAuthenticatorFactory, org.keycloak.models.jpa.session.JpaUserSessionPersisterProviderFactory, org.keycloak.policy.DigitsPasswordPolicyProviderFactory, org.keycloak.policy.LengthPasswordPolicyProviderFactory, org.keycloak.policy.NotUsernamePasswordPolicyProviderFactory, org.keycloak.policy.RegexPatternsPasswordPolicyProviderFactory, org.keycloak.scripting.DefaultScriptingProviderFactory, org.keycloak.credential.hash.Pbkdf2PasswordHashProviderFactory, org.keycloak.events.jpa.JpaEventStoreProviderFactory, org.keycloak.exportimport.dir.DirImportProviderFactory, org.keycloak.transaction.JBossJtaTransactionManagerLookup, org.keycloak.email.freemarker.FreeMarkerEmailTemplateProviderFactory, org.keycloak.forms.account.freemarker.FreeMarkerAccountProviderFactory, org.keycloak.forms.login.freemarker.FreeMarkerLoginFormsProviderFactory, org.keycloak.policy.ForceExpiredPasswordPolicyProviderFactory, org.keycloak.storage.jpa.JpaUserFederatedStorageProviderFactory, org.keycloak.keys.KeyProviderFactory< T extends KeyProvider >, org.keycloak.policy.HashIterationsPasswordPolicyProviderFactory, org.keycloak.protocol.oidc.OIDCWellKnownProviderFactory, org.keycloak.protocol.saml.clientregistration.EntityDescriptorClientRegistrationProviderFactory, org.keycloak.services.clientregistration.oidc.OIDCClientRegistrationProviderFactory, org.keycloak.theme.ExtendingThemeManagerFactory, org.keycloak.theme.FolderThemeProviderFactory, org.keycloak.credential.CredentialProviderFactory< T extends CredentialProvider >, org.keycloak.services.clientregistration.policy.AbstractClientRegistrationPolicyFactory, org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProviderFactory, org.keycloak.policy.LowerCasePasswordPolicyProviderFactory, org.keycloak.policy.SpecialCharsPasswordPolicyProviderFactory, org.keycloak.policy.UpperCasePasswordPolicyProviderFactory, org.keycloak.protocol.oidc.AccessTokenIntrospectionProviderFactory, org.keycloak.provider.wildfly.ModuleThemeProviderFactory, org.keycloak.services.managers.DefaultBruteForceProtectorFactory, org.keycloak.services.migration.DefaultMigrationProviderFactory, org.keycloak.models.jpa.JpaRealmProviderFactory, org.keycloak.models.jpa.JpaUserCredentialStoreFactory, org.keycloak.models.jpa.JpaUserProviderFactory, org.keycloak.protocol.docker.installation.DockerComposeYamlInstallationProvider, org.keycloak.email.DefaultEmailSenderProviderFactory, org.keycloak.policy.DefaultPasswordPolicyManagerProviderFactory, org.keycloak.protocol.AbstractLoginProtocolFactory, org.keycloak.services.clientregistration.AdapterInstallationClientRegistrationProviderFactory, org.keycloak.services.clientregistration.DefaultClientRegistrationProviderFactory, org.keycloak.locale.DefaultLocaleSelectorProviderFactory, org.keycloak.urls.HostnameProviderFactory, org.keycloak.credential.hash.Pbkdf2Sha256PasswordHashProviderFactory, org.keycloak.credential.hash.Pbkdf2Sha512PasswordHashProviderFactory, org.keycloak.crypto.SignatureProviderFactory, org.keycloak.protocol.docker.installation.DockerRegistryConfigFileInstallationProvider, org.keycloak.protocol.docker.installation.DockerVariableOverrideInstallationProvider, org.keycloak.url.FixedHostnameProviderFactory, org.keycloak.theme.DefaultThemeSelectorProviderFactory, org.keycloak.protocol.oidc.ext.OIDCExtProviderFactory (計132項目)で実装されています。

◆ init() [2/2]

void org.keycloak.broker.provider.AbstractIdentityProviderMapper.init ( org.keycloak.Config.Scope  config)
inlineinherited
42  {
43 
44  }

◆ order()

default int org.keycloak.provider.ProviderFactory< T extends Provider >.order ( )
inlineinherited

◆ postInit()

void org.keycloak.broker.provider.AbstractIdentityProviderMapper.postInit ( KeycloakSessionFactory  factory)
inlineinherited

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

47  {
48 
49  }

◆ preprocessFederatedIdentity()

void org.keycloak.broker.saml.mappers.UsernameTemplateMapper.preprocessFederatedIdentity ( KeycloakSession  session,
RealmModel  realm,
IdentityProviderMapperModel  mapperModel,
BrokeredIdentityContext  context 
)
inline

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

98  {
99  AssertionType assertion = (AssertionType)context.getContextData().get(SAMLEndpoint.SAML_ASSERTION);
100  String template = mapperModel.getConfig().get(TEMPLATE);
101  Matcher m = substitution.matcher(template);
102  StringBuffer sb = new StringBuffer();
103  while (m.find()) {
104  String variable = m.group(1);
105  if (variable.equals("ALIAS")) {
106  m.appendReplacement(sb, context.getIdpConfig().getAlias());
107  } else if (variable.equals("UUID")) {
108  m.appendReplacement(sb, KeycloakModelUtils.generateId());
109  } else if (variable.equals("NAMEID")) {
110  SubjectType subject = assertion.getSubject();
111  SubjectType.STSubType subType = subject.getSubType();
112  NameIDType subjectNameID = (NameIDType) subType.getBaseID();
113  m.appendReplacement(sb, subjectNameID.getValue());
114  } else if (variable.startsWith("ATTRIBUTE.")) {
115  String name = variable.substring("ATTRIBUTE.".length());
116  String value = "";
117  for (AttributeStatementType statement : assertion.getAttributeStatements()) {
118  for (AttributeStatementType.ASTChoiceType choice : statement.getAttributes()) {
119  AttributeType attr = choice.getAttribute();
120  if (name.equals(attr.getName()) || name.equals(attr.getFriendlyName())) {
121  List<Object> attributeValue = attr.getAttributeValue();
122  if (attributeValue != null && !attributeValue.isEmpty()) {
123  value = attributeValue.get(0).toString();
124  }
125  break;
126  }
127  }
128  }
129  m.appendReplacement(sb, value);
130  } else {
131  m.appendReplacement(sb, m.group(1));
132  }
133 
134  }
135  m.appendTail(sb);
136  context.setModelUsername(sb.toString());
137 
138  }
static final String TEMPLATE
Definition: UsernameTemplateMapper.java:51
static Pattern substitution
Definition: UsernameTemplateMapper.java:95

◆ updateBrokeredUser()

void org.keycloak.broker.saml.mappers.UsernameTemplateMapper.updateBrokeredUser ( KeycloakSession  session,
RealmModel  realm,
UserModel  user,
IdentityProviderMapperModel  mapperModel,
BrokeredIdentityContext  context 
)
inline

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

92  {
93 
94  }

メンバ詳解

◆ ANY_PROVIDER

final String org.keycloak.broker.provider.IdentityProviderMapper.ANY_PROVIDER = "*"
staticinherited

◆ COMPATIBLE_PROVIDERS

final String [] org.keycloak.broker.saml.mappers.UsernameTemplateMapper.COMPATIBLE_PROVIDERS = {SAMLIdentityProviderFactory.PROVIDER_ID}
static

◆ configProperties

final List<ProviderConfigProperty> org.keycloak.broker.saml.mappers.UsernameTemplateMapper.configProperties = new ArrayList<ProviderConfigProperty>()
staticprivate

◆ PROVIDER_ID

final String org.keycloak.broker.saml.mappers.UsernameTemplateMapper.PROVIDER_ID = "saml-username-idp-mapper"
static

◆ substitution

Pattern org.keycloak.broker.saml.mappers.UsernameTemplateMapper.substitution = Pattern.compile("\\$\\{([^}]+)\\}")
staticpackage

◆ TEMPLATE

final String org.keycloak.broker.saml.mappers.UsernameTemplateMapper.TEMPLATE = "template"
static

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