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

公開メンバ関数

abstract String getIdPrefix ()
 
abstract String generateSub (ProtocolMapperModel mappingModel, String sectorIdentifier, String localSub)
 
List< ProviderConfigPropertygetAdditionalConfigProperties ()
 
void validateAdditionalConfig (KeycloakSession session, RealmModel realm, ProtocolMapperContainerModel mapperContainer, ProtocolMapperModel mapperModel) throws ProtocolMapperConfigException
 
final String getDisplayCategory ()
 
IDToken transformIDToken (IDToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)
 
AccessToken transformAccessToken (AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)
 
AccessToken transformUserInfoToken (AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)
 
final List< ProviderConfigPropertygetConfigProperties ()
 
final void validateConfig (KeycloakSession session, RealmModel realm, ProtocolMapperContainerModel mapperContainer, ProtocolMapperModel mapperModel) throws ProtocolMapperConfigException
 
final String getId ()
 
String getProtocol ()
 
void close ()
 
final ProtocolMapper create (KeycloakSession session)
 
void init (Config.Scope config)
 
void postInit (KeycloakSessionFactory factory)
 
String getDisplayType ()
 
default int order ()
 
String getHelpText ()
 

静的公開変数類

static final String PROVIDER_ID_SUFFIX = "-pairwise-sub-mapper"
 
static final String TOKEN_MAPPER_CATEGORY = "Token mapper"
 

限定公開メンバ関数

void setIDTokenSubject (IDToken token, String pairwiseSub)
 
void setAccessTokenSubject (IDToken token, String pairwiseSub)
 
void setUserInfoTokenSubject (IDToken token, String pairwiseSub)
 
void setClaim (IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)
 
void setClaim (IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession)
 

非公開メンバ関数

String getSectorIdentifier (ClientModel client, ProtocolMapperModel mappingModel)
 

詳解

Set the 'sub' claim to pairwise .

著者
Martin Hardselius

関数詳解

◆ close()

void org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.close ( )
inlineinherited

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

45  {
46 
47  }

◆ create()

final ProtocolMapper org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.create ( KeycloakSession  session)
inlineinherited

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

50  {
51  throw new RuntimeException("UNSUPPORTED METHOD");
52  }

◆ generateSub()

abstract String org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.generateSub ( ProtocolMapperModel  mappingModel,
String  sectorIdentifier,
String  localSub 
)
abstract

Generates a pairwise subject identifier.

引数
mappingModel
sectorIdentifierclient sector identifier
localSublocal subject identifier (user id)
戻り値
A pairwise subject identifier

◆ getAdditionalConfigProperties()

List<ProviderConfigProperty> org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.getAdditionalConfigProperties ( )
inline

Override to add additional provider configuration properties. By default, a pairwise sub mapper will only contain configuration for a sector identifier URI.

戻り値
A list of provider configuration properties.
45  {
46  return new LinkedList<>();
47  }

◆ getConfigProperties()

final List<ProviderConfigProperty> org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.getConfigProperties ( )
inline

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

97  {
98  List<ProviderConfigProperty> configProperties = new LinkedList<>();
99  configProperties.add(PairwiseSubMapperHelper.createSectorIdentifierConfig());
100  configProperties.addAll(getAdditionalConfigProperties());
101  return configProperties;
102  }
List< ProviderConfigProperty > getAdditionalConfigProperties()
Definition: AbstractPairwiseSubMapper.java:45

◆ getDisplayCategory()

final String org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.getDisplayCategory ( )
inline

org.keycloak.protocol.ProtocolMapperを実装しています。

62  {
63  return AbstractOIDCProtocolMapper.TOKEN_MAPPER_CATEGORY;
64  }

◆ getDisplayType()

String org.keycloak.protocol.ProtocolMapper.getDisplayType ( )
inherited

◆ getHelpText()

String org.keycloak.provider.ConfiguredProvider.getHelpText ( )
inherited

org.keycloak.authentication.forms.RegistrationRecaptcha, org.keycloak.authentication.authenticators.client.JWTClientSecretAuthenticator, org.keycloak.broker.saml.mappers.UserAttributeStatementMapper, org.keycloak.broker.saml.mappers.UserAttributeMapper, org.keycloak.authentication.authenticators.client.JWTClientAuthenticator, org.keycloak.authentication.authenticators.resetcred.ResetCredentialEmail, org.keycloak.authentication.authenticators.client.X509ClientAuthenticator, org.keycloak.authentication.authenticators.client.ClientIdAndSecretAuthenticator, org.keycloak.authentication.authenticators.resetcred.ResetCredentialChooseUser, org.keycloak.broker.oidc.mappers.UserAttributeMapper, org.keycloak.broker.saml.mappers.AttributeToRoleMapper, org.keycloak.authentication.authenticators.directgrant.ValidateUsername, org.keycloak.broker.saml.mappers.UsernameTemplateMapper, org.keycloak.broker.oidc.mappers.ExternalKeycloakRoleToRoleMapper, org.keycloak.authentication.authenticators.directgrant.ValidateOTP, org.keycloak.keys.GeneratedRsaKeyProviderFactory, org.keycloak.broker.oidc.mappers.ClaimToRoleMapper, org.keycloak.broker.oidc.mappers.UsernameTemplateMapper, org.keycloak.protocol.oidc.mappers.AddressMapper, org.keycloak.authentication.authenticators.browser.ScriptBasedAuthenticatorFactory, org.keycloak.broker.oidc.mappers.AbstractJsonUserAttributeMapper, org.keycloak.protocol.oidc.mappers.ScriptBasedOIDCProtocolMapper, org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticatorFactory, org.keycloak.authentication.authenticators.browser.OTPFormAuthenticatorFactory, org.keycloak.authentication.authenticators.directgrant.ValidatePassword, org.keycloak.broker.provider.HardcodedUserSessionAttributeMapper, org.keycloak.authentication.authenticators.browser.SpnegoAuthenticatorFactory, org.keycloak.broker.provider.HardcodedAttributeMapper, org.keycloak.protocol.saml.mappers.GroupMembershipMapper, org.keycloak.authentication.authenticators.browser.UsernamePasswordFormFactory, org.keycloak.keys.ImportedRsaKeyProviderFactory, org.keycloak.protocol.oidc.mappers.UserClientRoleMappingMapper, org.keycloak.protocol.oidc.mappers.AudienceProtocolMapper, org.keycloak.protocol.saml.mappers.RoleListMapper, org.keycloak.authentication.authenticators.browser.CookieAuthenticatorFactory, org.keycloak.authentication.authenticators.broker.IdpReviewProfileAuthenticatorFactory, org.keycloak.authentication.authenticators.broker.IdpCreateUserIfUniqueAuthenticatorFactory, org.keycloak.broker.provider.HardcodedRoleMapper, org.keycloak.protocol.saml.mappers.ScriptBasedMapper, org.keycloak.authentication.authenticators.cli.CliUsernamePasswordAuthenticatorFactory, org.keycloak.authentication.authenticators.broker.IdpEmailVerificationAuthenticatorFactory, org.keycloak.authentication.authenticators.challenge.BasicAuthAuthenticatorFactory, org.keycloak.authentication.authenticators.challenge.BasicAuthOTPAuthenticatorFactory, org.keycloak.authentication.authenticators.challenge.NoCookieFlowRedirectAuthenticatorFactory, org.keycloak.authentication.authenticators.broker.IdpConfirmLinkAuthenticatorFactory, org.keycloak.authentication.authenticators.console.ConsoleUsernamePasswordAuthenticatorFactory, org.keycloak.authentication.authenticators.broker.IdpAutoLinkAuthenticatorFactory, org.keycloak.keys.JavaKeystoreKeyProviderFactory, org.keycloak.protocol.oidc.mappers.RoleNameMapper, org.keycloak.protocol.oidc.mappers.UserAttributeMapper, org.keycloak.protocol.saml.mappers.RoleNameMapper, org.keycloak.protocol.saml.profile.ecp.authenticator.HttpBasicAuthenticatorFactory, org.keycloak.protocol.oidc.mappers.UserRealmRoleMappingMapper, org.keycloak.protocol.oidc.mappers.GroupMembershipMapper, org.keycloak.protocol.oidc.mappers.HardcodedClaim, org.keycloak.keys.GeneratedEcdsaKeyProviderFactory, org.keycloak.protocol.oidc.mappers.HardcodedRole, org.keycloak.storage.UserStorageProviderFactory< T extends UserStorageProvider >, org.keycloak.protocol.oidc.mappers.UserPropertyMapper, org.keycloak.protocol.oidc.mappers.UserSessionNoteMapper, org.keycloak.protocol.saml.mappers.UserAttributeStatementMapper, org.keycloak.protocol.saml.mappers.HardcodedAttributeMapper, org.keycloak.protocol.saml.mappers.UserPropertyAttributeStatementMapper, org.keycloak.storage.client.ClientStorageProviderFactory< T extends ClientStorageProvider >, org.keycloak.authentication.authenticators.browser.IdentityProviderAuthenticatorFactory, org.keycloak.services.clientregistration.policy.impl.ProtocolMappersClientRegistrationPolicyFactory, org.keycloak.protocol.oidc.mappers.FullNameMapper, org.keycloak.protocol.saml.mappers.HardcodedRole, org.keycloak.protocol.saml.mappers.UserSessionNoteStatementMapper, org.keycloak.authentication.forms.RegistrationPage, org.keycloak.services.clientregistration.policy.impl.MaxClientsClientRegistrationPolicyFactory, org.keycloak.protocol.oidc.mappers.SHA256PairwiseSubMapper, org.keycloak.services.clientregistration.policy.impl.TrustedHostClientRegistrationPolicyFactory, org.keycloak.authentication.forms.RegistrationPassword, org.keycloak.authentication.forms.RegistrationUserCreation, org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicyFactory, org.keycloak.authentication.authenticators.resetcred.ResetPassword, org.keycloak.authentication.authenticators.resetcred.ResetOTP, org.keycloak.authentication.forms.RegistrationProfile, org.keycloak.authentication.authenticators.broker.IdpUsernamePasswordFormFactory, org.keycloak.authentication.authenticators.x509.X509ClientCertificateAuthenticatorFactory, org.keycloak.services.clientregistration.policy.impl.ClientDisabledClientRegistrationPolicyFactory, org.keycloak.services.clientregistration.policy.impl.ConsentRequiredClientRegistrationPolicyFactory, org.keycloak.services.clientregistration.policy.impl.ScopeClientRegistrationPolicyFactory, org.keycloak.authentication.authenticators.x509.ValidateX509CertificateUsernameFactory, org.keycloak.protocol.docker.mapper.AllowAllDockerProtocolMapper, org.keycloak.protocol.docker.DockerAuthenticatorFactory (計87項目)で実装されています。

◆ getId()

final String org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.getId ( )
inline

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

123  {
124  return "oidc-" + getIdPrefix() + PROVIDER_ID_SUFFIX;
125  }
static final String PROVIDER_ID_SUFFIX
Definition: AbstractPairwiseSubMapper.java:26

◆ getIdPrefix()

abstract String org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.getIdPrefix ( )
abstract

◆ getProtocol()

String org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.getProtocol ( )
inlineinherited

org.keycloak.protocol.ProtocolMapperを実装しています。

40  {
41  return OIDCLoginProtocol.LOGIN_PROTOCOL;
42  }

◆ getSectorIdentifier()

String org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.getSectorIdentifier ( ClientModel  client,
ProtocolMapperModel  mappingModel 
)
inlineprivate
104  {
105  String sectorIdentifierUri = PairwiseSubMapperHelper.getSectorIdentifierUri(mappingModel);
106  if (sectorIdentifierUri != null && !sectorIdentifierUri.isEmpty()) {
107  return PairwiseSubMapperUtils.resolveValidSectorIdentifier(sectorIdentifierUri);
108  }
109  return PairwiseSubMapperUtils.resolveValidSectorIdentifier(client.getRootUrl(), client.getRedirectUris());
110  }

◆ init()

void org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.init ( Config.Scope  config)
inlineinherited

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

55  {
56  }

◆ order()

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

◆ postInit()

void org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.postInit ( KeycloakSessionFactory  factory)
inlineinherited

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

59  {
60 
61  }

◆ setAccessTokenSubject()

void org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.setAccessTokenSubject ( IDToken  token,
String  pairwiseSub 
)
inlineprotected
88  {
89  token.setSubject(pairwiseSub);
90  }

◆ setClaim() [1/2]

void org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.setClaim ( IDToken  token,
ProtocolMapperModel  mappingModel,
UserSessionModel  userSession 
)
inlineprotectedinherited

Intended to be overridden in ProtocolMapper implementations to add claims to an token.

引数
token
mappingModel
userSession
非推奨:
override setClaim(IDToken, ProtocolMapperModel, UserSessionModel, KeycloakSession) instead.
105  {
106  }

◆ setClaim() [2/2]

void org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.setClaim ( IDToken  token,
ProtocolMapperModel  mappingModel,
UserSessionModel  userSession,
KeycloakSession  keycloakSession 
)
inlineprotectedinherited

Intended to be overridden in ProtocolMapper implementations to add claims to an token.

引数
token
mappingModel
userSession
keycloakSession
115  {
116  // we delegate to the old #setClaim(...) method for backwards compatibility
117  setClaim(token, mappingModel, userSession);
118  }
void setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)
Definition: AbstractOIDCProtocolMapper.java:105

◆ setIDTokenSubject()

void org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.setIDTokenSubject ( IDToken  token,
String  pairwiseSub 
)
inlineprotected
84  {
85  token.setSubject(pairwiseSub);
86  }

◆ setUserInfoTokenSubject()

void org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.setUserInfoTokenSubject ( IDToken  token,
String  pairwiseSub 
)
inlineprotected
92  {
93  token.getOtherClaims().put("sub", pairwiseSub);
94  }

◆ transformAccessToken()

AccessToken org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.transformAccessToken ( AccessToken  token,
ProtocolMapperModel  mappingModel,
KeycloakSession  session,
UserSessionModel  userSession,
AuthenticatedClientSessionModel  clientSession 
)
inline

org.keycloak.protocol.oidc.mappers.OIDCAccessTokenMapperを実装しています。

73  {
74  setAccessTokenSubject(token, generateSub(mappingModel, getSectorIdentifier(clientSession.getClient(), mappingModel), userSession.getUser().getId()));
75  return token;
76  }
abstract String generateSub(ProtocolMapperModel mappingModel, String sectorIdentifier, String localSub)
String getSectorIdentifier(ClientModel client, ProtocolMapperModel mappingModel)
Definition: AbstractPairwiseSubMapper.java:104
void setAccessTokenSubject(IDToken token, String pairwiseSub)
Definition: AbstractPairwiseSubMapper.java:88

◆ transformIDToken()

IDToken org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.transformIDToken ( IDToken  token,
ProtocolMapperModel  mappingModel,
KeycloakSession  session,
UserSessionModel  userSession,
AuthenticatedClientSessionModel  clientSession 
)
inline

org.keycloak.protocol.oidc.mappers.OIDCIDTokenMapperを実装しています。

67  {
68  setIDTokenSubject(token, generateSub(mappingModel, getSectorIdentifier(clientSession.getClient(), mappingModel), userSession.getUser().getId()));
69  return token;
70  }
abstract String generateSub(ProtocolMapperModel mappingModel, String sectorIdentifier, String localSub)
void setIDTokenSubject(IDToken token, String pairwiseSub)
Definition: AbstractPairwiseSubMapper.java:84
String getSectorIdentifier(ClientModel client, ProtocolMapperModel mappingModel)
Definition: AbstractPairwiseSubMapper.java:104

◆ transformUserInfoToken()

AccessToken org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.transformUserInfoToken ( AccessToken  token,
ProtocolMapperModel  mappingModel,
KeycloakSession  session,
UserSessionModel  userSession,
AuthenticatedClientSessionModel  clientSession 
)
inline

org.keycloak.protocol.oidc.mappers.UserInfoTokenMapperを実装しています。

79  {
80  setUserInfoTokenSubject(token, generateSub(mappingModel, getSectorIdentifier(clientSession.getClient(), mappingModel), userSession.getUser().getId()));
81  return token;
82  }
abstract String generateSub(ProtocolMapperModel mappingModel, String sectorIdentifier, String localSub)
void setUserInfoTokenSubject(IDToken token, String pairwiseSub)
Definition: AbstractPairwiseSubMapper.java:92
String getSectorIdentifier(ClientModel client, ProtocolMapperModel mappingModel)
Definition: AbstractPairwiseSubMapper.java:104

◆ validateAdditionalConfig()

void org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.validateAdditionalConfig ( KeycloakSession  session,
RealmModel  realm,
ProtocolMapperContainerModel  mapperContainer,
ProtocolMapperModel  mapperModel 
) throws ProtocolMapperConfigException
inline

Override to add additional configuration validation. Called when instance of mapperModel is created/updated for this protocolMapper through admin endpoint.

引数
session
realm
mapperContainerclient or clientScope
mapperModel
例外
ProtocolMapperConfigExceptionif configuration provided in mapperModel is not valid
58  {
59  }

◆ validateConfig()

final void org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.validateConfig ( KeycloakSession  session,
RealmModel  realm,
ProtocolMapperContainerModel  mapperContainer,
ProtocolMapperModel  mapperModel 
) throws ProtocolMapperConfigException
inline

org.keycloak.protocol.ProtocolMapperを実装しています。

113  {
114  ClientModel client = null;
115  if (mapperContainer instanceof ClientModel) {
116  client = (ClientModel) mapperContainer;
117  PairwiseSubMapperValidator.validate(session, client, mapperModel);
118  }
119  validateAdditionalConfig(session, realm, mapperContainer, mapperModel);
120  }
void validateAdditionalConfig(KeycloakSession session, RealmModel realm, ProtocolMapperContainerModel mapperContainer, ProtocolMapperModel mapperModel)
Definition: AbstractPairwiseSubMapper.java:58

メンバ詳解

◆ PROVIDER_ID_SUFFIX

final String org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper.PROVIDER_ID_SUFFIX = "-pairwise-sub-mapper"
static

◆ TOKEN_MAPPER_CATEGORY

final String org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.TOKEN_MAPPER_CATEGORY = "Token mapper"
staticinherited

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