127 X509AuthenticatorConfigModel.MappingSourceType userIdentitySource = config.getMappingSourceType();
128 String pattern = config.getRegularExpression();
130 UserIdentityExtractor extractor = null;
131 switch(userIdentitySource) {
134 extractor = UserIdentityExtractor.getPatternIdentityExtractor(pattern, certs -> certs[0].getSubjectDN().getName());
137 extractor = UserIdentityExtractor.getPatternIdentityExtractor(pattern, certs -> certs[0].getIssuerDN().getName());
140 extractor = UserIdentityExtractor.getPatternIdentityExtractor(
DEFAULT_MATCH_ALL_EXPRESSION, certs -> certs[0].getSerialNumber().toString());
143 extractor = UserIdentityExtractor.getX500NameExtractor(BCStyle.CN,
subject);
145 case SUBJECTDN_EMAIL:
146 extractor = UserIdentityExtractor
147 .either(UserIdentityExtractor.getX500NameExtractor(BCStyle.EmailAddress,
subject))
148 .or(UserIdentityExtractor.getX500NameExtractor(BCStyle.E,
subject));
150 case SUBJECTALTNAME_EMAIL:
151 extractor = UserIdentityExtractor.getSubjectAltNameExtractor(1);
154 extractor = UserIdentityExtractor.getX500NameExtractor(BCStyle.CN,
issuer);
157 extractor = UserIdentityExtractor
158 .either(UserIdentityExtractor.getX500NameExtractor(BCStyle.EmailAddress,
issuer))
159 .or(UserIdentityExtractor.getX500NameExtractor(BCStyle.E,
issuer));
162 logger.warnf(
"[UserIdentityExtractorBuilder:fromConfig] Unknown or unsupported user identity source: \"%s\"", userIdentitySource.getName());
static ServicesLogger logger
Definition: AbstractX509ClientCertificateAuthenticator.java:49
static final Function< X509Certificate[], X500Name > issuer
Definition: AbstractX509ClientCertificateAuthenticator.java:116
static final Function< X509Certificate[], X500Name > subject
Definition: AbstractX509ClientCertificateAuthenticator.java:107
static final String DEFAULT_MATCH_ALL_EXPRESSION
Definition: AbstractX509ClientCertificateAuthenticator.java:72