use of org.xdi.oxauth.client.OpenIdConnectDiscoveryClient in project oxAuth by GluuFederation.
the class OpenIDConnectDiscoveryHttpTest method requestOpenIdConnectDiscovery.
@Parameters({ "swdResource" })
@Test
public void requestOpenIdConnectDiscovery(final String resource) throws Exception {
showTitle("requestOpenIdConnectDiscovery");
OpenIdConnectDiscoveryClient client = new OpenIdConnectDiscoveryClient(resource);
OpenIdConnectDiscoveryResponse response = client.exec();
showClient(client);
assertEquals(response.getStatus(), 200, "Unexpected response code");
assertNotNull(response.getSubject());
assertTrue(response.getLinks().size() > 0);
}
use of org.xdi.oxauth.client.OpenIdConnectDiscoveryClient 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 = client.execOpenIdConfiguration();
if (openIdConfiguration.getStatus() != 200) {
throw new OxIntializationException("OpenId configuration response is invalid!");
}
return openIdConfiguration;
}
use of org.xdi.oxauth.client.OpenIdConnectDiscoveryClient in project oxAuth by GluuFederation.
the class OpenIdConnectDiscoveryAction method exec.
public void exec() {
try {
ClientExecutor clientExecutor = null;
if (acceptUntrustedCertificate) {
HttpClient httpClient = new SslDefaultHttpClient(new TrustAllTrustManager());
clientExecutor = new ApacheHttpClient4Executor(httpClient);
}
OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource);
host = openIdConnectDiscoveryRequest.getHost();
rel = REL_VALUE;
OpenIdConnectDiscoveryClient openIdConnectDiscoveryClient = new OpenIdConnectDiscoveryClient(resource);
OpenIdConnectDiscoveryResponse openIdConnectDiscoveryResponse;
if (clientExecutor == null) {
openIdConnectDiscoveryResponse = openIdConnectDiscoveryClient.exec();
} else {
openIdConnectDiscoveryResponse = openIdConnectDiscoveryClient.exec(clientExecutor);
}
showResults = true;
requestString1 = openIdConnectDiscoveryClient.getRequestAsString();
responseString1 = openIdConnectDiscoveryClient.getResponseAsString();
if (openIdConnectDiscoveryResponse.getStatus() == 200) {
String openIdConfigurationUrl = openIdConnectDiscoveryResponse.getLinks().get(0).getHref() + "/.well-known/openid-configuration";
OpenIdConfigurationClient openIdConfigurationClient = new OpenIdConfigurationClient(openIdConfigurationUrl);
OpenIdConfigurationResponse openIdConfigurationResponse;
if (clientExecutor == null) {
openIdConfigurationResponse = openIdConfigurationClient.execOpenIdConfiguration();
} else {
openIdConfigurationResponse = openIdConfigurationClient.execOpenIdConfiguration(clientExecutor);
}
requestString2 = openIdConfigurationClient.getRequestAsString();
responseString2 = openIdConfigurationClient.getResponseAsString();
registrationAction.setRegistrationEndpoint(openIdConfigurationResponse.getRegistrationEndpoint());
authorizationAction.setAuthorizationEndpoint(openIdConfigurationResponse.getAuthorizationEndpoint());
authorizationAction.setJwksUri(openIdConfigurationResponse.getJwksUri());
tokenAction.setTokenEndpoint(openIdConfigurationResponse.getTokenEndpoint());
userInfoAction.setUserInfoEndpoint(openIdConfigurationResponse.getUserInfoEndpoint());
checkSessionAction.setCheckSessionEndpoint(openIdConfigurationResponse.getCheckSessionIFrame());
endSessionAction.setEndSessionEndpoint(openIdConfigurationResponse.getEndSessionEndpoint());
}
} catch (IllegalArgumentException e) {
log.error(e.getMessage(), e);
} catch (URISyntaxException e) {
log.error(e.getMessage(), e);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
use of org.xdi.oxauth.client.OpenIdConnectDiscoveryClient in project oxAuth by GluuFederation.
the class ConfigurationRestWebServiceHttpTest method requestOpenIdConfiguration.
@Test
@Parameters({ "swdResource" })
public void requestOpenIdConfiguration(final String resource) throws Exception {
showTitle("OpenID Connect Discovery");
OpenIdConnectDiscoveryClient openIdConnectDiscoveryClient = new OpenIdConnectDiscoveryClient(resource);
OpenIdConnectDiscoveryResponse openIdConnectDiscoveryResponse = openIdConnectDiscoveryClient.exec(new ApacheHttpClient4Executor(createHttpClient(HostnameVerifierType.ALLOW_ALL)));
showClient(openIdConnectDiscoveryClient);
assertEquals(openIdConnectDiscoveryResponse.getStatus(), 200, "Unexpected response code");
assertNotNull(openIdConnectDiscoveryResponse.getSubject());
assertTrue(openIdConnectDiscoveryResponse.getLinks().size() > 0);
String configurationEndpoint = openIdConnectDiscoveryResponse.getLinks().get(0).getHref() + "/.well-known/openid-configuration";
showTitle("OpenID Connect Configuration");
OpenIdConfigurationClient client = new OpenIdConfigurationClient(configurationEndpoint);
OpenIdConfigurationResponse response = client.execOpenIdConfiguration();
showClient(client);
assertEquals(response.getStatus(), 200, "Unexpected response code");
assertNotNull(response.getIssuer(), "The issuer is null");
assertNotNull(response.getAuthorizationEndpoint(), "The authorizationEndpoint is null");
assertNotNull(response.getTokenEndpoint(), "The tokenEndpoint is null");
assertNotNull(response.getUserInfoEndpoint(), "The userInfoEndPoint is null");
assertNotNull(response.getClientInfoEndpoint(), "The clientInfoEndPoint is null");
assertNotNull(response.getCheckSessionIFrame(), "The checkSessionIFrame is null");
assertNotNull(response.getEndSessionEndpoint(), "The endSessionEndpoint is null");
assertNotNull(response.getJwksUri(), "The jwksUri is null");
assertNotNull(response.getRegistrationEndpoint(), "The registrationEndpoint is null");
assertNotNull(response.getIntrospectionEndpoint(), "The introspectionEndpoint is null");
assertNotNull(response.getIdGenerationEndpoint(), "The idGenerationEndpoint is null");
assertTrue(response.getScopesSupported().size() > 0, "The scopesSupported is empty");
assertTrue(response.getScopeToClaimsMapping().size() > 0, "The scope to claims mapping is empty");
assertTrue(response.getResponseTypesSupported().size() > 0, "The responseTypesSupported is empty");
assertTrue(response.getGrantTypesSupported().size() > 0, "The grantTypesSupported is empty");
assertTrue(response.getAcrValuesSupported().size() >= 0, "The acrValuesSupported is empty");
assertTrue(response.getSubjectTypesSupported().size() > 0, "The subjectTypesSupported is empty");
assertTrue(response.getUserInfoSigningAlgValuesSupported().size() > 0, "The userInfoSigningAlgValuesSupported is empty");
assertTrue(response.getUserInfoEncryptionAlgValuesSupported().size() > 0, "The userInfoEncryptionAlgValuesSupported is empty");
assertTrue(response.getUserInfoEncryptionEncValuesSupported().size() > 0, "The userInfoEncryptionEncValuesSupported is empty");
assertTrue(response.getIdTokenSigningAlgValuesSupported().size() > 0, "The idTokenSigningAlgValuesSupported is empty");
assertTrue(response.getIdTokenEncryptionAlgValuesSupported().size() > 0, "The idTokenEncryptionAlgValuesSupported is empty");
assertTrue(response.getIdTokenEncryptionEncValuesSupported().size() > 0, "The idTokenEncryptionEncValuesSupported is empty");
assertTrue(response.getRequestObjectSigningAlgValuesSupported().size() > 0, "The requestObjectSigningAlgValuesSupported is empty");
assertTrue(response.getRequestObjectEncryptionAlgValuesSupported().size() > 0, "The requestObjectEncryptionAlgValuesSupported is empty");
assertTrue(response.getRequestObjectEncryptionEncValuesSupported().size() > 0, "The requestObjectEncryptionEncValuesSupported is empty");
assertTrue(response.getTokenEndpointAuthMethodsSupported().size() > 0, "The tokenEndpointAuthMethodsSupported is empty");
assertTrue(response.getTokenEndpointAuthSigningAlgValuesSupported().size() > 0, "The tokenEndpointAuthSigningAlgValuesSupported is empty");
assertTrue(response.getDisplayValuesSupported().size() > 0, "The displayValuesSupported is empty");
assertTrue(response.getClaimTypesSupported().size() > 0, "The claimTypesSupported is empty");
assertTrue(response.getClaimsSupported().size() > 0, "The claimsSupported is empty");
assertNotNull(response.getServiceDocumentation(), "The serviceDocumentation is null");
assertTrue(response.getClaimsLocalesSupported().size() > 0, "The claimsLocalesSupported is empty");
assertTrue(response.getUiLocalesSupported().size() > 0, "The uiLocalesSupported is empty");
assertTrue(response.getClaimsParameterSupported(), "The claimsParameterSupported is false");
assertTrue(response.getRequestParameterSupported(), "The requestParameterSupported is false");
assertTrue(response.getRequestUriParameterSupported(), "The requestUriParameterSupported is false");
assertFalse(response.getRequireRequestUriRegistration(), "The requireRequestUriRegistration is true");
assertNotNull(response.getOpPolicyUri(), "The opPolicyUri is null");
assertNotNull(response.getOpTosUri(), "The opTosUri is null");
}
Aggregations