@Parameters({"registerPath", "redirectUris"}) @Test public void dynamicClientRegistration(final String registerPath, final String redirectUris) throws Exception { Builder request = ResteasyClientBuilder.newClient().target(url.toString() + registerPath).request(); List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE, ResponseType.TOKEN, ResponseType.ID_TOKEN); RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app", StringUtils.spaceSeparatedToList(redirectUris)); registerRequest.setResponseTypes(responseTypes); registerRequest.addCustomAttribute("oxAuthTrustedClient", "true"); List<GrantType> grantTypes = Arrays.asList( GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes); String registerRequestContent = registerRequest.getJSONParameters().toString(4); Response response = request.post(Entity.json(registerRequestContent)); String entity = response.readEntity(String.class); showResponse("dynamicClientRegistration", response, entity); assertEquals(response.getStatus(), 200, "Unexpected response code. " + entity); assertNotNull(entity, "Unexpected result: " + entity); try { final RegisterResponse registerResponse = RegisterResponse.valueOf(entity); ClientTestUtil.assert_(registerResponse); clientId = registerResponse.getClientId(); clientSecret = registerResponse.getClientSecret(); } catch (Exception e) { e.printStackTrace(); fail(e.getMessage() + "\nResponse was: " + entity); } }
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
StringUtils.spaceSeparatedToList(redirectUris)); registerRequest.setResponseTypes(responseTypes); registerRequest.setGrantTypes(grantTypes); registerRequest.setSectorIdentifierUri(sectorIdentifierUri); registerRequest.addCustomAttribute("oxAuthTrustedClient", "true");
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
private RegisterResponse registerClient(final String redirectUris, final List<ResponseType> responseTypes, final List<GrantType> grantTypes, final String sectorIdentifierUri) { RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app", StringUtils.spaceSeparatedToList(redirectUris)); registerRequest.setResponseTypes(responseTypes); registerRequest.setGrantTypes(grantTypes); registerRequest.setSectorIdentifierUri(sectorIdentifierUri); registerRequest.setSubjectType(SubjectType.PAIRWISE); RegisterClient registerClient = new RegisterClient(registrationEndpoint); registerClient.setRequest(registerRequest); RegisterResponse registerResponse = registerClient.exec(); showClient(registerClient); assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity()); assertNotNull(registerResponse.getClientId()); assertNotNull(registerResponse.getClientSecret()); assertNotNull(registerResponse.getRegistrationAccessToken()); assertNotNull(registerResponse.getClientIdIssuedAt()); assertNotNull(registerResponse.getClientSecretExpiresAt()); return registerResponse; }
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
@Test public void requestClientRegistrationWithCustomAttributes() throws Exception { showTitle("requestClientRegistrationWithCustomAttributes"); List<ResponseType> responseTypes = Arrays.asList( ResponseType.CODE, ResponseType.TOKEN, ResponseType.ID_TOKEN); List<GrantType> grantTypes = Arrays.asList( GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app", Collections.singletonList(REDIRECT_URI)); registerRequest.setResponseTypes(responseTypes); registerRequest.setGrantTypes(grantTypes); registerRequest.setAuthenticationMethod(AuthenticationMethod.CLIENT_SECRET_BASIC); registerRequest.addCustomAttribute("oxAuthTrustedClient", "true"); RegisterClient registerClient = new RegisterClient(registrationEndpoint); registerClient.setExecutor(clientExecutor(true)); registerClient.setRequest(registerRequest); RegisterResponse response = registerClient.exec(); showClient(registerClient); assertEquals(response.getStatus(), 200, "Unexpected response code: " + response.getEntity()); assertNotNull(response.getClientId()); assertNotNull(response.getClientSecret()); assertNotNull(response.getRegistrationAccessToken()); assertNotNull(response.getClientSecretExpiresAt()); clientId = response.getClientId(); clientSecret = response.getClientSecret(); }
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
GrantType.RESOURCE_OWNER_PASSWORD_CREDENTIALS ); registerRequest.setGrantTypes(grantTypes);
private RegisterResponse registerClient(final String redirectUris, final List<ResponseType> responseTypes, final List<GrantType> grantTypes, final String sectorIdentifierUri) throws UnrecoverableKeyException, NoSuchAlgorithmException, KeyStoreException, KeyManagementException { RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app", StringUtils.spaceSeparatedToList(redirectUris)); registerRequest.setResponseTypes(responseTypes); registerRequest.setGrantTypes(grantTypes); registerRequest.addCustomAttribute("oxAuthTrustedClient", "true"); registerRequest.setIdTokenTokenBindingCnf(JwtClaimName.TOKEN_BINDING_HASH); // token binding hash for cnf RegisterClient registerClient = new RegisterClient(registrationEndpoint); registerClient.setExecutor(new ApacheHttpClient4Executor(createHttpClientTrustAll())); registerClient.setRequest(registerRequest); RegisterResponse registerResponse = registerClient.exec(); showClient(registerClient); assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity()); assertNotNull(registerResponse.getClientId()); assertNotNull(registerResponse.getClientSecret()); assertNotNull(registerResponse.getRegistrationAccessToken()); assertNotNull(registerResponse.getClientIdIssuedAt()); assertNotNull(registerResponse.getClientSecretExpiresAt()); return registerResponse; } }