keycloak-service
公開メンバ関数 | 静的公開メンバ関数 | 関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.PatternMatcher クラス
org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.PatternMatcher の継承関係図
Inheritance graph
org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.PatternMatcher 連携図
Collaboration graph

公開メンバ関数

Object extractUserIdentity (X509Certificate[] certs)
 

静的公開メンバ関数

static UserIdentityExtractor getPatternIdentityExtractor (String pattern, Function< X509Certificate[], String > func)
 
static UserIdentityExtractor getX500NameExtractor (ASN1ObjectIdentifier identifier, Function< X509Certificate[], X500Name > x500Name)
 
static SubjectAltNameExtractor getSubjectAltNameExtractor (int generalName)
 
static OrBuilder either (UserIdentityExtractor extractor)
 

関数

 PatternMatcher (String pattern, Function< X509Certificate[], String > valueToMatch)
 

非公開変数類

final String _pattern
 
final Function< X509Certificate[], String > _f
 

詳解

構築子と解体子

◆ PatternMatcher()

org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.PatternMatcher.PatternMatcher ( String  pattern,
Function< X509Certificate[], String >  valueToMatch 
)
inlinepackage
148  {
149  _pattern = pattern;
150  _f = valueToMatch;
151  }
final String _pattern
Definition: UserIdentityExtractor.java:146
final Function< X509Certificate[], String > _f
Definition: UserIdentityExtractor.java:147

関数詳解

◆ either()

static OrBuilder org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.either ( UserIdentityExtractor  extractor)
inlinestaticinherited
206  {
207  return new OrBuilder(extractor);
208  }

◆ extractUserIdentity()

Object org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.PatternMatcher.extractUserIdentity ( X509Certificate []  certs)
inline
154  {
155  String value = _f.apply(certs);
156 
157  Pattern r = Pattern.compile(_pattern, Pattern.CASE_INSENSITIVE);
158 
159  Matcher m = r.matcher(value);
160 
161  if (!m.find()) {
162  logger.debugf("[PatternMatcher:extract] No matches were found for input \"%s\", pattern=\"%s\"", value, _pattern);
163  return null;
164  }
165 
166  if (m.groupCount() != 1) {
167  logger.debugf("[PatternMatcher:extract] Match produced more than a single group for input \"%s\", pattern=\"%s\"", value, _pattern);
168  return null;
169  }
170 
171  return m.group(1);
172  }
static final ServicesLogger logger
Definition: UserIdentityExtractor.java:45
final String _pattern
Definition: UserIdentityExtractor.java:146
final Function< X509Certificate[], String > _f
Definition: UserIdentityExtractor.java:147

◆ getPatternIdentityExtractor()

static UserIdentityExtractor org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.getPatternIdentityExtractor ( String  pattern,
Function< X509Certificate[], String >  func 
)
inlinestaticinherited
188  {
189  return new PatternMatcher(pattern, func);
190  }

◆ getSubjectAltNameExtractor()

static SubjectAltNameExtractor org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.getSubjectAltNameExtractor ( int  generalName)
inlinestaticinherited

Obtains the subjectAltName given a generalName.

引数
generalNamean integer representing the general name. See X509Certificate#getSubjectAlternativeNames()
戻り値
the value from the subjectAltName extension
202  {
203  return new SubjectAltNameExtractor(generalName);
204  }

◆ getX500NameExtractor()

static UserIdentityExtractor org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.getX500NameExtractor ( ASN1ObjectIdentifier  identifier,
Function< X509Certificate[], X500Name >  x500Name 
)
inlinestaticinherited
192  {
193  return new X500NameRDNExtractor(identifier, x500Name);
194  }

メンバ詳解

◆ _f

final Function<X509Certificate[],String> org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.PatternMatcher._f
private

◆ _pattern

final String org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.PatternMatcher._pattern
private

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