use of org.gluu.exception.OxIntializationException in project oxTrust by GluuFederation.
the class AppInitializer method initOpenIdConfiguration.
@Produces
@ApplicationScoped
@Named("openIdConfiguration")
public OpenIdConfigurationResponse initOpenIdConfiguration() throws OxIntializationException {
String oxAuthIssuer = this.configurationFactory.getAppConfiguration().getOxAuthIssuer();
if (StringHelper.isEmpty(oxAuthIssuer)) {
log.info("oxAuth issuer isn't specified");
return null;
}
log.debug("Attempting to determine configuration endpoint URL");
OpenIdConnectDiscoveryClient openIdConnectDiscoveryClient;
try {
openIdConnectDiscoveryClient = new OpenIdConnectDiscoveryClient(oxAuthIssuer);
} catch (URISyntaxException ex) {
throw new OxIntializationException("OpenId discovery response is invalid!", ex);
}
OpenIdConnectDiscoveryResponse openIdConnectDiscoveryResponse = openIdConnectDiscoveryClient.exec();
if ((openIdConnectDiscoveryResponse.getStatus() != 200) || (openIdConnectDiscoveryResponse.getSubject() == null) || (openIdConnectDiscoveryResponse.getLinks().size() == 0)) {
throw new OxIntializationException("OpenId discovery response is invalid!");
}
log.debug("Attempting to load OpenID configuration");
String configurationEndpoint = openIdConnectDiscoveryResponse.getLinks().get(0).getHref() + "/.well-known/openid-configuration";
OpenIdConfigurationClient client = new OpenIdConfigurationClient(configurationEndpoint);
OpenIdConfigurationResponse openIdConfiguration;
try {
openIdConfiguration = client.execOpenIdConfiguration();
} catch (Exception e) {
log.error("Failed to load OpenId configuration!", e);
throw new OxIntializationException("Failed to load OpenId configuration!");
}
if (openIdConfiguration.getStatus() != 200) {
throw new OxIntializationException("OpenId configuration response is invalid!");
}
return openIdConfiguration;
}
use of org.gluu.exception.OxIntializationException in project oxTrust by GluuFederation.
the class UmaPermissionService method initUmaMetadataConfiguration.
@Produces
@ApplicationScoped
@Named("umaMetadataConfiguration")
public UmaMetadata initUmaMetadataConfiguration() throws OxIntializationException {
String umaConfigurationEndpoint = getUmaConfigurationEndpoint();
if (StringHelper.isEmpty(umaConfigurationEndpoint)) {
return null;
}
log.info("##### Getting UMA metadata ...");
UmaMetadataService metaDataConfigurationService;
if (this.clientHttpEngine == null) {
metaDataConfigurationService = UmaClientFactory.instance().createMetadataService(umaConfigurationEndpoint);
} else {
metaDataConfigurationService = UmaClientFactory.instance().createMetadataService(umaConfigurationEndpoint, this.clientHttpEngine);
}
UmaMetadata metadataConfiguration = null;
int max_attempts = 10;
for (int attempt = 1; attempt <= max_attempts; attempt++) {
try {
metadataConfiguration = metaDataConfigurationService.getMetadata();
} catch (javax.ws.rs.ServiceUnavailableException ex) {
if ((attempt == max_attempts) || (ex.getResponse().getStatus() != javax.ws.rs.core.Response.Status.SERVICE_UNAVAILABLE.getStatusCode())) {
throw ex;
}
try {
java.lang.Thread.sleep(3000);
} catch (InterruptedException ex2) {
throw ex;
}
log.info("##### Attempting to load UMA metadata ... {}", attempt);
}
}
log.info("##### Getting UMA metadata ... DONE");
if (metadataConfiguration == null) {
throw new OxIntializationException("UMA meta data configuration is invalid!");
}
return metadataConfiguration;
}
Aggregations