gluu
公開メンバ関数 | 静的公開変数類 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.xdi.oxd.server.service.DiscoveryService クラス
org.xdi.oxd.server.service.DiscoveryService 連携図
Collaboration graph

公開メンバ関数

 DiscoveryService (HttpService httpService, RpService rpService, ValidationService validationService)
 
OpenIdConfigurationResponse getConnectDiscoveryResponseByOxdId (String oxdId)
 
OpenIdConfigurationResponse getConnectDiscoveryResponse (Rp rp)
 
OpenIdConfigurationResponse getConnectDiscoveryResponse (String opHost, String opDiscoveryPath)
 
UmaMetadata getUmaDiscoveryByOxdId (String oxdId)
 
UmaMetadata getUmaDiscovery (String opHost, String opDiscoveryPath)
 
String getConnectDiscoveryUrl (Rp rp)
 
String getConnectDiscoveryUrl (String opHost, String opDiscoveryPath)
 
String getUmaDiscoveryUrl (String opHost, String opDiscoveryPath)
 

静的公開変数類

static final String WELL_KNOWN_CONNECT_PATH = "/.well-known/openid-configuration"
 
static final String WELL_KNOWN_UMA_PATH = "/.well-known/uma2-configuration"
 

非公開メンバ関数

String baseOpUrl (String opHost)
 

非公開変数類

final ConcurrentMap< String, OpenIdConfigurationResponsemap = new ConcurrentHashMap<String, OpenIdConfigurationResponse>()
 
final ConcurrentMap< String, UmaMetadataumaMap = new ConcurrentHashMap<String, UmaMetadata>()
 
final HttpService httpService
 
final RpService rpService
 
final ValidationService validationService
 

静的非公開変数類

static final Logger LOG = LoggerFactory.getLogger(DiscoveryService.class)
 

詳解

著者
Yuriy Zabrovarnyy

構築子と解体子

◆ DiscoveryService()

org.xdi.oxd.server.service.DiscoveryService.DiscoveryService ( HttpService  httpService,
RpService  rpService,
ValidationService  validationService 
)
inline
43  {
44  this.httpService = httpService;
45  this.rpService = rpService;
47  }
final RpService rpService
Definition: DiscoveryService.java:39
final HttpService httpService
Definition: DiscoveryService.java:38
final ValidationService validationService
Definition: DiscoveryService.java:40

関数詳解

◆ baseOpUrl()

String org.xdi.oxd.server.service.DiscoveryService.baseOpUrl ( String  opHost)
inlineprivate
133  {
134  if (!opHost.startsWith("http")) {
135  opHost = "https://" + opHost;
136  }
137  if (opHost.endsWith("/")) {
138  opHost = StringUtils.removeEnd(opHost, "/");
139  }
140  return opHost;
141  }

◆ getConnectDiscoveryResponse() [1/2]

OpenIdConfigurationResponse org.xdi.oxd.server.service.DiscoveryService.getConnectDiscoveryResponse ( Rp  rp)
inline
56  {
57  return getConnectDiscoveryResponse(rp.getOpHost(), rp.getOpDiscoveryPath());
58  }
OpenIdConfigurationResponse getConnectDiscoveryResponse(Rp rp)
Definition: DiscoveryService.java:56

◆ getConnectDiscoveryResponse() [2/2]

OpenIdConfigurationResponse org.xdi.oxd.server.service.DiscoveryService.getConnectDiscoveryResponse ( String  opHost,
String  opDiscoveryPath 
)
inline
60  {
62 
63  try {
64  final OpenIdConfigurationResponse r = map.get(opHost);
65  if (r != null) {
66  return r;
67  }
68  final OpenIdConfigurationClient client = new OpenIdConfigurationClient(getConnectDiscoveryUrl(opHost, opDiscoveryPath));
69  client.setExecutor(httpService.getClientExecutor());
70  final OpenIdConfigurationResponse response = client.execOpenIdConfiguration();
71  LOG.trace("Discovery response: {} ", response.getEntity());
72  if (StringUtils.isNotBlank(response.getEntity())) {
73  map.put(opHost, response);
74  return response;
75  } else {
76  LOG.error("No response from discovery!");
77  }
78  } catch (Exception e) {
79  LOG.error(e.getMessage(), e);
80  }
81  LOG.error("Unable to fetch discovery information for op_host: {}", opHost);
82  throw new ErrorResponseException(ErrorResponseCode.NO_CONNECT_DISCOVERY_RESPONSE);
83  }
static final Logger LOG
Definition: DiscoveryService.java:29
ClientExecutor getClientExecutor()
Definition: HttpService.java:57
String getConnectDiscoveryUrl(Rp rp)
Definition: DiscoveryService.java:113
final ConcurrentMap< String, OpenIdConfigurationResponse > map
Definition: DiscoveryService.java:35
final HttpService httpService
Definition: DiscoveryService.java:38
void notBlankOpHost(String opHost)
Definition: ValidationService.java:35
final ValidationService validationService
Definition: DiscoveryService.java:40

◆ getConnectDiscoveryResponseByOxdId()

OpenIdConfigurationResponse org.xdi.oxd.server.service.DiscoveryService.getConnectDiscoveryResponseByOxdId ( String  oxdId)
inline
49  {
51 
52  Rp site = rpService.getRp(oxdId);
53  return getConnectDiscoveryResponse(site);
54  }
final RpService rpService
Definition: DiscoveryService.java:39
OpenIdConfigurationResponse getConnectDiscoveryResponse(Rp rp)
Definition: DiscoveryService.java:56
void notBlankOxdId(String oxdId)
Definition: ValidationService.java:29
final ValidationService validationService
Definition: DiscoveryService.java:40
Rp getRp(String oxdId)
Definition: RpService.java:55

◆ getConnectDiscoveryUrl() [1/2]

String org.xdi.oxd.server.service.DiscoveryService.getConnectDiscoveryUrl ( Rp  rp)
inline
113  {
114  return getConnectDiscoveryUrl(rp.getOpHost(), rp.getOpDiscoveryPath());
115  }
String getConnectDiscoveryUrl(Rp rp)
Definition: DiscoveryService.java:113

◆ getConnectDiscoveryUrl() [2/2]

String org.xdi.oxd.server.service.DiscoveryService.getConnectDiscoveryUrl ( String  opHost,
String  opDiscoveryPath 
)
inline
117  {
118  String result = baseOpUrl(opHost);
119  if (StringUtils.isNotBlank(opDiscoveryPath)) {
120  result += opDiscoveryPath;
121  }
122  return result + WELL_KNOWN_CONNECT_PATH;
123  }
static final String WELL_KNOWN_CONNECT_PATH
Definition: DiscoveryService.java:31
String baseOpUrl(String opHost)
Definition: DiscoveryService.java:133

◆ getUmaDiscovery()

UmaMetadata org.xdi.oxd.server.service.DiscoveryService.getUmaDiscovery ( String  opHost,
String  opDiscoveryPath 
)
inline
92  {
94 
95  try {
96  final UmaMetadata r = umaMap.get(opHost);
97  if (r != null) {
98  return r;
99  }
100  final UmaMetadata response = UmaClientFactory.instance().createMetadataService(
101  getUmaDiscoveryUrl(opHost, opDiscoveryPath), httpService.getClientExecutor()).getMetadata();
102  LOG.trace("Uma discovery response: {} ", response);
103  umaMap.put(opHost, response);
104  return response;
105 
106  } catch (Exception e) {
107  LOG.error(e.getMessage(), e);
108  }
109  LOG.error("Unable to fetch UMA discovery information for op_host: {}", opHost);
110  throw new ErrorResponseException(ErrorResponseCode.NO_UMA_DISCOVERY_RESPONSE);
111  }
static final Logger LOG
Definition: DiscoveryService.java:29
ClientExecutor getClientExecutor()
Definition: HttpService.java:57
final HttpService httpService
Definition: DiscoveryService.java:38
void notBlankOpHost(String opHost)
Definition: ValidationService.java:35
final ConcurrentMap< String, UmaMetadata > umaMap
Definition: DiscoveryService.java:36
final ValidationService validationService
Definition: DiscoveryService.java:40
String getUmaDiscoveryUrl(String opHost, String opDiscoveryPath)
Definition: DiscoveryService.java:125

◆ getUmaDiscoveryByOxdId()

UmaMetadata org.xdi.oxd.server.service.DiscoveryService.getUmaDiscoveryByOxdId ( String  oxdId)
inline
85  {
87 
88  Rp site = rpService.getRp(oxdId);
89  return getUmaDiscovery(site.getOpHost(), site.getOpDiscoveryPath());
90  }
final RpService rpService
Definition: DiscoveryService.java:39
void notBlankOxdId(String oxdId)
Definition: ValidationService.java:29
UmaMetadata getUmaDiscovery(String opHost, String opDiscoveryPath)
Definition: DiscoveryService.java:92
final ValidationService validationService
Definition: DiscoveryService.java:40
Rp getRp(String oxdId)
Definition: RpService.java:55

◆ getUmaDiscoveryUrl()

String org.xdi.oxd.server.service.DiscoveryService.getUmaDiscoveryUrl ( String  opHost,
String  opDiscoveryPath 
)
inline
125  {
126  String result = baseOpUrl(opHost);
127  if (StringUtils.isNotBlank(opDiscoveryPath)) {
128  result += opDiscoveryPath;
129  }
130  return result + WELL_KNOWN_UMA_PATH;
131  }
static final String WELL_KNOWN_UMA_PATH
Definition: DiscoveryService.java:33
String baseOpUrl(String opHost)
Definition: DiscoveryService.java:133

メンバ詳解

◆ httpService

final HttpService org.xdi.oxd.server.service.DiscoveryService.httpService
private

◆ LOG

final Logger org.xdi.oxd.server.service.DiscoveryService.LOG = LoggerFactory.getLogger(DiscoveryService.class)
staticprivate

Logger

◆ map

final ConcurrentMap<String, OpenIdConfigurationResponse> org.xdi.oxd.server.service.DiscoveryService.map = new ConcurrentHashMap<String, OpenIdConfigurationResponse>()
private

◆ rpService

final RpService org.xdi.oxd.server.service.DiscoveryService.rpService
private

◆ umaMap

final ConcurrentMap<String, UmaMetadata> org.xdi.oxd.server.service.DiscoveryService.umaMap = new ConcurrentHashMap<String, UmaMetadata>()
private

◆ validationService

final ValidationService org.xdi.oxd.server.service.DiscoveryService.validationService
private

◆ WELL_KNOWN_CONNECT_PATH

final String org.xdi.oxd.server.service.DiscoveryService.WELL_KNOWN_CONNECT_PATH = "/.well-known/openid-configuration"
static

◆ WELL_KNOWN_UMA_PATH

final String org.xdi.oxd.server.service.DiscoveryService.WELL_KNOWN_UMA_PATH = "/.well-known/uma2-configuration"
static

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