mitreid-connect
クラス | 公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.mitre.openid.connect.client.service.impl.WebfingerIssuerService クラス
org.mitre.openid.connect.client.service.impl.WebfingerIssuerService の継承関係図
Inheritance graph
org.mitre.openid.connect.client.service.impl.WebfingerIssuerService 連携図
Collaboration graph

クラス

class  LoadingResult
 
class  WebfingerIssuerFetcher
 

公開メンバ関数

 WebfingerIssuerService ()
 
 WebfingerIssuerService (HttpClient httpClient)
 
IssuerServiceResponse getIssuer (HttpServletRequest request)
 
String getParameterName ()
 
void setParameterName (String parameterName)
 
String getLoginPageUrl ()
 
void setLoginPageUrl (String loginPageUrl)
 
Set< String > getWhitelist ()
 
void setWhitelist (Set< String > whitelist)
 
Set< String > getBlacklist ()
 
void setBlacklist (Set< String > blacklist)
 
boolean isForceHttps ()
 
void setForceHttps (boolean forceHttps)
 

非公開変数類

LoadingCache< String, LoadingResultissuers
 
Set< String > whitelist = new HashSet<>()
 
Set< String > blacklist = new HashSet<>()
 
String parameterName = "identifier"
 
String loginPageUrl
 
boolean forceHttps = true
 

静的非公開変数類

static final Logger logger = LoggerFactory.getLogger(WebfingerIssuerService.class)
 

詳解

Use Webfinger to discover the appropriate issuer for a user-given input string.

著者
jricher

構築子と解体子

◆ WebfingerIssuerService() [1/2]

org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.WebfingerIssuerService ( )
inline
97  {
98  this(HttpClientBuilder.create().useSystemProperties().build());
99  }

◆ WebfingerIssuerService() [2/2]

org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.WebfingerIssuerService ( HttpClient  httpClient)
inline
101  {
102  issuers = CacheBuilder.newBuilder().build(new WebfingerIssuerFetcher(httpClient));
103  }
LoadingCache< String, LoadingResult > issuers
Definition: WebfingerIssuerService.java:67

関数詳解

◆ getBlacklist()

Set<String> org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.getBlacklist ( )
inline
戻り値
the blacklist
181  {
182  return blacklist;
183  }
Set< String > blacklist
Definition: WebfingerIssuerService.java:80

◆ getIssuer()

IssuerServiceResponse org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.getIssuer ( HttpServletRequest  request)
inline

org.mitre.openid.connect.client.service.IssuerServiceを実装しています。

109  {
110 
111  String identifier = request.getParameter(parameterName);
112  if (!Strings.isNullOrEmpty(identifier)) {
113  try {
114  LoadingResult lr = issuers.get(identifier);
115  if (!whitelist.isEmpty() && !whitelist.contains(lr.issuer)) {
116  throw new AuthenticationServiceException("Whitelist was nonempty, issuer was not in whitelist: " + lr.issuer);
117  }
118 
119  if (blacklist.contains(lr.issuer)) {
120  throw new AuthenticationServiceException("Issuer was in blacklist: " + lr.issuer);
121  }
122 
123  return new IssuerServiceResponse(lr.issuer, lr.loginHint, request.getParameter("target_link_uri"));
124  } catch (UncheckedExecutionException | ExecutionException e) {
125  logger.warn("Issue fetching issuer for user input: " + identifier + ": " + e.getMessage());
126  return null;
127  }
128 
129  } else {
130  logger.warn("No user input given, directing to login page: " + loginPageUrl);
131  return new IssuerServiceResponse(loginPageUrl);
132  }
133  }
LoadingCache< String, LoadingResult > issuers
Definition: WebfingerIssuerService.java:67
Set< String > whitelist
Definition: WebfingerIssuerService.java:79
Set< String > blacklist
Definition: WebfingerIssuerService.java:80
static final Logger logger
Definition: WebfingerIssuerService.java:64
String loginPageUrl
Definition: WebfingerIssuerService.java:90
String parameterName
Definition: WebfingerIssuerService.java:85

◆ getLoginPageUrl()

String org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.getLoginPageUrl ( )
inline
戻り値
the loginPageUrl
153  {
154  return loginPageUrl;
155  }
String loginPageUrl
Definition: WebfingerIssuerService.java:90

◆ getParameterName()

String org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.getParameterName ( )
inline
戻り値
the parameterName
138  {
139  return parameterName;
140  }
String parameterName
Definition: WebfingerIssuerService.java:85

◆ getWhitelist()

Set<String> org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.getWhitelist ( )
inline
戻り値
the whitelist
167  {
168  return whitelist;
169  }
Set< String > whitelist
Definition: WebfingerIssuerService.java:79

◆ isForceHttps()

boolean org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.isForceHttps ( )
inline
戻り値
the forceHttps
195  {
196  return forceHttps;
197  }
boolean forceHttps
Definition: WebfingerIssuerService.java:95

◆ setBlacklist()

void org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.setBlacklist ( Set< String >  blacklist)
inline
引数
blacklistthe blacklist to set
188  {
189  this.blacklist = blacklist;
190  }
Set< String > blacklist
Definition: WebfingerIssuerService.java:80

◆ setForceHttps()

void org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.setForceHttps ( boolean  forceHttps)
inline
引数
forceHttpsthe forceHttps to set
202  {
203  this.forceHttps = forceHttps;
204  }
boolean forceHttps
Definition: WebfingerIssuerService.java:95

◆ setLoginPageUrl()

void org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.setLoginPageUrl ( String  loginPageUrl)
inline
引数
loginPageUrlthe loginPageUrl to set
160  {
161  this.loginPageUrl = loginPageUrl;
162  }
String loginPageUrl
Definition: WebfingerIssuerService.java:90

◆ setParameterName()

void org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.setParameterName ( String  parameterName)
inline
引数
parameterNamethe parameterName to set
145  {
147  }
String parameterName
Definition: WebfingerIssuerService.java:85

◆ setWhitelist()

void org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.setWhitelist ( Set< String >  whitelist)
inline
引数
whitelistthe whitelist to set
174  {
175  this.whitelist = whitelist;
176  }
Set< String > whitelist
Definition: WebfingerIssuerService.java:79

メンバ詳解

◆ blacklist

Set<String> org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.blacklist = new HashSet<>()
private

◆ forceHttps

boolean org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.forceHttps = true
private

Strict enfocement of "https"

◆ issuers

LoadingCache<String, LoadingResult> org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.issuers
private

◆ logger

final Logger org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.logger = LoggerFactory.getLogger(WebfingerIssuerService.class)
staticprivate

Logger for this class

◆ loginPageUrl

String org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.loginPageUrl
private

URL of the page to forward to if no identifier is given.

◆ parameterName

String org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.parameterName = "identifier"
private

Name of the incoming parameter to check for discovery purposes.

◆ whitelist

Set<String> org.mitre.openid.connect.client.service.impl.WebfingerIssuerService.whitelist = new HashSet<>()
private

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