use of io.jans.ca.common.response.RegisterSiteResponse in project jans by JanssenProject.
the class CheckAccessTokenTest method test.
@Parameters({ "host", "redirectUrls", "userId", "userSecret", "opHost" })
@Test
public void test(String host, String redirectUrls, String userId, String userSecret, String opHost) {
ClientInterface client = Tester.newClient(host);
String nonce = CoreUtils.secureRandomString();
String state = CoreUtils.secureRandomString();
RegisterSiteResponse site = RegisterSiteTest.registerSite(client, opHost, redirectUrls);
GetTokensByCodeResponse2 response = GetTokensByCodeTest.tokenByCode(client, site, opHost, userId, userSecret, site.getClientId(), redirectUrls, nonce, state);
final CheckAccessTokenParams params = new CheckAccessTokenParams();
params.setAccessToken(response.getAccessToken());
params.setIdToken(response.getIdToken());
params.setRpId(site.getRpId());
final CheckAccessTokenResponse checkR = client.checkAccessToken(Tester.getAuthorization(site), null, params);
assertNotNull(checkR);
assertTrue(checkR.isActive());
assertNotNull(checkR.getExpiresAt());
assertNotNull(checkR.getIssuedAt());
}
use of io.jans.ca.common.response.RegisterSiteResponse in project jans by JanssenProject.
the class DifferentAuthServerTest method getUserInfo_withDifferentAuthServer.
@Parameters({ "host", "opHost", "authServer", "redirectUrls", "clientId", "clientSecret", "userId", "userSecret" })
@Test
public void getUserInfo_withDifferentAuthServer(String host, String opHost, String authServer, String redirectUrls, String clientId, String clientSecret, String userId, String userSecret) {
ClientInterface client = Tester.newClient(host);
RegisterSiteResponse site = RegisterSiteTest.registerSite(client, opHost, redirectUrls);
RegisterSiteResponse authServerResp = RegisterSiteTest.registerSite(client, authServer, redirectUrls);
final GetTokensByCodeResponse2 tokens = requestTokens(client, opHost, site, authServerResp, userId, userSecret, site.getClientId(), redirectUrls);
GetUserInfoParams params = new GetUserInfoParams();
params.setRpId(site.getRpId());
params.setAccessToken(tokens.getAccessToken());
params.setIdToken(tokens.getIdToken());
final JsonNode resp = client.getUserInfo(Tester.getAuthorization(authServerResp), authServerResp.getRpId(), params);
assertNotNull(resp);
assertNotNull(resp.get("sub"));
}
use of io.jans.ca.common.response.RegisterSiteResponse in project jans by JanssenProject.
the class RegisterSiteTest method registerSite.
public static RegisterSiteResponse registerSite(ClientInterface client, String opHost, String redirectUrls, String postLogoutRedirectUrls, String logoutUri, boolean syncClientFromOp) {
final RegisterSiteParams params = new RegisterSiteParams();
params.setOpHost(opHost);
params.setPostLogoutRedirectUris(Lists.newArrayList(postLogoutRedirectUrls.split(" ")));
params.setClientFrontchannelLogoutUri(logoutUri);
params.setRedirectUris(Lists.newArrayList(redirectUrls.split(" ")));
params.setScope(Lists.newArrayList("openid", "uma_protection", "profile", "jans_client_api"));
params.setResponseTypes(Lists.newArrayList("code", "id_token", "token"));
params.setGrantTypes(Lists.newArrayList(GrantType.AUTHORIZATION_CODE.getValue(), GrantType.OXAUTH_UMA_TICKET.getValue(), GrantType.CLIENT_CREDENTIALS.getValue()));
params.setSyncClientFromOp(syncClientFromOp);
params.setSyncClientPeriodInSeconds(0);
final RegisterSiteResponse resp = client.registerSite(params);
assertNotNull(resp);
assertTrue(!Strings.isNullOrEmpty(resp.getRpId()));
return resp;
}
use of io.jans.ca.common.response.RegisterSiteResponse in project jans by JanssenProject.
the class RegisterSiteTest method register_withOpConfigurationEndpoint.
@Parameters({ "host", "opConfigurationEndpoint", "redirectUrls", "logoutUrl", "postLogoutRedirectUrls" })
@Test
public static void register_withOpConfigurationEndpoint(String host, String opConfigurationEndpoint, String redirectUrls, String logoutUrl, String postLogoutRedirectUrls) {
// more specific site registration
final RegisterSiteParams params = new RegisterSiteParams();
params.setOpConfigurationEndpoint(opConfigurationEndpoint);
params.setPostLogoutRedirectUris(Lists.newArrayList(postLogoutRedirectUrls.split(" ")));
params.setClientFrontchannelLogoutUri(logoutUrl);
params.setRedirectUris(Lists.newArrayList(redirectUrls.split(" ")));
params.setAcrValues(new ArrayList<String>());
params.setGrantTypes(Lists.newArrayList(GrantType.AUTHORIZATION_CODE.getValue(), GrantType.OXAUTH_UMA_TICKET.getValue(), GrantType.CLIENT_CREDENTIALS.getValue()));
params.setScope(Lists.newArrayList("openid", "uma_protection", "profile"));
params.setResponseTypes(Lists.newArrayList("code", "id_token", "token"));
params.setClientName("rp-client-extension-up" + System.currentTimeMillis());
params.setClientTokenEndpointAuthMethod("client_secret_basic");
params.setClientTokenEndpointAuthSigningAlg("HS256");
params.setClaimsRedirectUri(Lists.newArrayList("https://client.example.org"));
params.setAccessTokenSigningAlg("HS256");
params.setRptAsJwt(true);
params.setAccessTokenAsJwt(true);
params.setFrontChannelLogoutSessionRequired(true);
params.setRunIntrospectionScriptBeforeAccessTokenAsJwtCreationAndIncludeClaims(true);
params.setRequireAuthTime(true);
params.setLogoUri("https://client.example.org/authorization/page3");
params.setClientUri("https://client.example.org/authorization/page3");
params.setPolicyUri("https://client.example.org/authorization/page3");
params.setTosUri("https://client.example.org/authorization/page3");
params.setJwks("{\"key1\": \"value1\", \"key2\": \"value2\"}");
params.setIdTokenBindingCnf("4NRB1-0XZABZI9E6-5SM3R");
params.setTlsClientAuthSubjectDn("www.test-updated.com");
params.setSubjectType("pairwise");
params.setIdTokenSignedResponseAlg("HS256");
params.setIdTokenEncryptedResponseAlg("RSA1_5");
params.setIdTokenEncryptedResponseEnc("A128CBC+HS256");
params.setUserInfoSignedResponseAlg("HS256");
params.setUserInfoEncryptedResponseAlg("RSA1_5");
params.setUserInfoEncryptedResponseEnc("A128CBC+HS256");
params.setRequestObjectSigningAlg("HS256");
params.setRequestObjectEncryptionAlg("RSA1_5");
params.setRequestObjectEncryptionEnc("A128CBC+HS256");
params.setDefaultMaxAge(100000000);
params.setInitiateLoginUri("https://client.example.org/authorization/page2");
params.setAuthorizedOrigins(Lists.newArrayList("beem://www.test.com", "fb://app.local.url"));
params.setAccessTokenLifetime(100000000);
params.setSoftwareId("4NRB1-0XZABZI9E6-5SM3R");
params.setSoftwareVersion("2.0");
Map<String, String> customAttributes = new HashMap<>();
customAttributes.put("k1", "v1");
customAttributes.put("k2", "v2");
params.setCustomAttributes(customAttributes);
RegisterSiteResponse resp = Tester.newClient(host).registerSite(params);
assertNotNull(resp);
assertNotNull(resp.getRpId());
}
use of io.jans.ca.common.response.RegisterSiteResponse in project jans by JanssenProject.
the class IntrospectAccessTokenTest method introspectAccessToken.
@Parameters({ "host", "opHost", "redirectUrls" })
@Test
public void introspectAccessToken(String host, String opHost, String redirectUrls) {
ClientInterface client = Tester.newClient(host);
RegisterSiteResponse setupResponse = SetupClientTest.setupClient(client, opHost, redirectUrls);
final GetClientTokenParams params = new GetClientTokenParams();
params.setOpHost(opHost);
params.setScope(Lists.newArrayList("openid", "jans_client_api"));
params.setClientId(setupResponse.getClientId());
params.setClientSecret(setupResponse.getClientSecret());
GetClientTokenResponse tokenResponse = client.getClientToken(params);
assertNotNull(tokenResponse);
notEmpty(tokenResponse.getAccessToken());
IntrospectAccessTokenParams introspectParams = new IntrospectAccessTokenParams();
introspectParams.setRpId(setupResponse.getRpId());
introspectParams.setAccessToken(tokenResponse.getAccessToken());
IntrospectAccessTokenResponse introspectionResponse = client.introspectAccessToken("Bearer " + tokenResponse.getAccessToken(), null, introspectParams);
assertNotNull(introspectionResponse);
assertTrue(introspectionResponse.isActive());
assertNotNull(introspectionResponse.getIssuedAt());
assertNotNull(introspectionResponse.getExpiresAt());
assertTrue(introspectionResponse.getExpiresAt() >= introspectionResponse.getIssuedAt());
}
Aggregations