gluu
公開メンバ関数 | 静的公開メンバ関数 | 静的公開変数類 | 限定公開変数類 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest クラス
org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest の継承関係図
Inheritance graph
org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest 連携図
Collaboration graph

公開メンバ関数

void requestParameterMethodRS256Step1 (final String registerPath, final String redirectUris, final String jwksUri) throws Exception
 
void requestParameterMethodRS256Step2 (final String authorizePath, final String userId, final String userSecret, final String redirectUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret) throws Exception
 
void requestParameterMethodRS384Step1 (final String registerPath, final String redirectUris, final String jwksUri) throws Exception
 
void requestParameterMethodRS384Step2 (final String authorizePath, final String userId, final String userSecret, final String redirectUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret) throws Exception
 
void requestParameterMethodRS512Step1 (final String registerPath, final String redirectUris, final String jwksUri) throws Exception
 
void requestParameterMethodRS512Step2 (final String authorizePath, final String userId, final String userSecret, final String redirectUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret) throws Exception
 
void requestParameterMethodRS256X509CertStep1 (final String registerPath, final String redirectUris, final String jwksUri) throws Exception
 
void requestParameterMethodRS256X509CertStep2 (final String authorizePath, final String userId, final String userSecret, final String redirectUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret) throws Exception
 
void requestParameterMethodRS384X509CertStep1 (final String registerPath, final String redirectUris, final String jwksUri) throws Exception
 
void requestParameterMethodRS384X509CertStep2 (final String authorizePath, final String userId, final String userSecret, final String redirectUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret) throws Exception
 
void requestParameterMethodRS512X509CertStep1 (final String registerPath, final String redirectUris, final String jwksUri) throws Exception
 
void requestParameterMethodRS512X509CertStep2 (final String authorizePath, final String userId, final String userSecret, final String redirectUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret) throws Exception
 
void initTestSuite (ITestContext context) throws FileNotFoundException, IOException
 
WebDriver getDriver ()
 
void setDriver (WebDriver driver)
 
String getAuthorizationEndpoint ()
 
void setAuthorizationEndpoint (String authorizationEndpoint)
 
String getTokenEndpoint ()
 
void setTokenEndpoint (String tokenEndpoint)
 
String getUserInfoEndpoint ()
 
void setUserInfoEndpoint (String userInfoEndpoint)
 
String getClientInfoEndpoint ()
 
void setClientInfoEndpoint (String clientInfoEndpoint)
 
String getCheckSessionIFrame ()
 
void setCheckSessionIFrame (String checkSessionIFrame)
 
String getEndSessionEndpoint ()
 
void setEndSessionEndpoint (String endSessionEndpoint)
 
String getJwksUri ()
 
void setJwksUri (String jwksUri)
 
String getRegistrationEndpoint ()
 
void setRegistrationEndpoint (String registrationEndpoint)
 
String getIntrospectionEndpoint ()
 
void setIntrospectionEndpoint (String p_introspectionEndpoint)
 
Map< String, List< String > > getScopeToClaimsMapping ()
 
void setScopeToClaimsMapping (Map< String, List< String >> p_scopeToClaimsMapping)
 
String getIdGenEndpoint ()
 
void setIdGenEndpoint (String p_idGenEndpoint)
 
String getConfigurationEndpoint ()
 
void setConfigurationEndpoint (String configurationEndpoint)
 
void startSelenium ()
 
void stopSelenium ()
 
AuthorizationResponse authenticateResourceOwnerAndGrantAccess (String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
 
AuthorizationResponse authenticateResourceOwnerAndGrantAccess (String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret, boolean cleanupCookies)
 
AuthorizationResponse authenticateResourceOwnerAndGrantAccess (String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret, boolean cleanupCookies, boolean useNewDriver)
 
AuthorizationResponse authenticateResourceOwnerAndGrantAccess (String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret, boolean cleanupCookies, boolean useNewDriver, int authzSteps)
 
AuthorizationResponse authenticateResourceOwnerAndDenyAccess (String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
 
AuthorizationResponse authorizationRequestAndGrantAccess (String authorizeUrl, AuthorizationRequest authorizationRequest)
 
AuthorizationResponse authorizationRequestAndDenyAccess (String authorizeUrl, AuthorizationRequest authorizationRequest)
 
AuthorizationResponse authenticateResourceOwner (String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret, boolean cleanupCookies)
 
String waitForResourceOwnerAndGrantLoginForm (String authorizeUrl, AuthorizationRequest authorizationRequest, boolean cleanupCookies)
 
String waitForResourceOwnerAndGrantLoginForm (String authorizeUrl, AuthorizationRequest authorizationRequest)
 
void discovery (ITestContext context) throws Exception
 
void showTitle (String title)
 
void showTitle (String title)
 
void showEntity (String entity)
 
void showResponse (String title, Response response)
 

静的公開メンバ関数

static void showClient (BaseClient client)
 
static void showClient (BaseClient client, CookieStore cookieStore)
 
static void showClientUserAgent (BaseClient client)
 
static void assertErrorResponse (BaseResponseWithErrors p_response, IErrorType p_errorType)
 
static DefaultHttpClient createHttpClient ()
 
static DefaultHttpClient createHttpClient (HostnameVerifierType p_verifierType)
 
static ClientExecutor clientExecutor () throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException
 
static ClientExecutor clientExecutor (boolean trustAll) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException
 
static HttpClient createHttpClientTrustAll () throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException
 
static void showResponse (String title, Response response, Object entity)
 
static void fails (Throwable e)
 
static void output (String p_msg)
 
static Archive<?> createDeployment ()
 

静的公開変数類

static FileConfiguration testData
 

限定公開変数類

WebDriver driver
 
String authorizationEndpoint
 
String authorizationPageEndpoint
 
String gluuConfigurationEndpoint
 
String tokenEndpoint
 
String userInfoEndpoint
 
String clientInfoEndpoint
 
String checkSessionIFrame
 
String endSessionEndpoint
 
String jwksUri
 
String registrationEndpoint
 
String configurationEndpoint
 
String idGenEndpoint
 
String introspectionEndpoint
 
Map< String, List< String > > scopeToClaimsMapping
 

非公開変数類

URI url
 

静的非公開変数類

static String clientId1
 
static String clientId2
 
static String clientId3
 
static String clientId4
 
static String clientId5
 
static String clientId6
 

詳解

Functional tests for OpenID Request Object (embedded)

著者
Javier Rojas Blum
バージョン
June 15, 2016

関数詳解

◆ assertErrorResponse()

static void org.xdi.oxauth.BaseTest.assertErrorResponse ( BaseResponseWithErrors  p_response,
IErrorType  p_errorType 
)
inlinestaticinherited
787  {
788  assertEquals(p_response.getStatus(), 400, "Unexpected response code. Entity: " + p_response.getEntity());
789  assertNotNull(p_response.getEntity(), "The entity is null");
790  assertEquals(p_response.getErrorType(), p_errorType);
791  assertTrue(StringUtils.isNotBlank(p_response.getErrorDescription()));
792  }
T getErrorType()
Definition: BaseResponseWithErrors.java:48
String getEntity()
Definition: BaseResponse.java:85
int getStatus()
Definition: BaseResponse.java:49
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40

◆ authenticateResourceOwner()

AuthorizationResponse org.xdi.oxauth.BaseTest.authenticateResourceOwner ( String  authorizeUrl,
AuthorizationRequest  authorizationRequest,
String  userId,
String  userSecret,
boolean  cleanupCookies 
)
inlineinherited

The authorization server authenticates the resource owner (via the user-agent) No authorization page.

556  {
557  String authorizationRequestUrl = authorizeUrl + "?" + authorizationRequest.getQueryString();
558 
559  AuthorizeClient authorizeClient = new AuthorizeClient(authorizeUrl);
560  authorizeClient.setRequest(authorizationRequest);
561 
562  System.out.println("authenticateResourceOwner: authorizationRequestUrl:" + authorizationRequestUrl);
563  startSelenium();
564  if (cleanupCookies) {
565  System.out.println("authenticateResourceOwner: Cleaning cookies");
567  }
568 // try {
569  driver.navigate().to(authorizationRequestUrl);
570 // } catch (WebDriverException ex) {
571 // if (ex.getCause() instanceof ScriptException) {
572 // System.out.println("authenticateResourceOwner: Script error: " + ex.getMessage());
573 // } else {
574 // throw ex;
575 // }
576 // }
577 
578  if (userSecret != null) {
579  if (userId != null) {
580  WebElement usernameElement = driver.findElement(By.name(loginFormUsername));
581  usernameElement.sendKeys(userId);
582  }
583 
584  WebElement passwordElement = driver.findElement(By.name(loginFormPassword));
585  passwordElement.sendKeys(userSecret);
586 
587  WebElement loginButton = driver.findElement(By.name(loginFormLoginButton));
588 
589  loginButton.click();
590  }
591 
592  String authorizationResponseStr = driver.getCurrentUrl();
593 
594  Cookie sessionStateCookie = driver.manage().getCookieNamed("session_state");
595  String sessionState = null;
596  if (sessionStateCookie != null) {
597  sessionState = sessionStateCookie.getValue();
598  }
599  System.out.println("authenticateResourceOwner: sessionState:" + sessionState);
600 
601  stopSelenium();
602 
603  AuthorizationResponse authorizationResponse = new AuthorizationResponse(authorizationResponseStr);
604  if (authorizationRequest.getRedirectUri() != null && authorizationRequest.getRedirectUri().equals(authorizationResponseStr)) {
605  authorizationResponse.setResponseMode(ResponseMode.FORM_POST);
606  }
607  authorizeClient.setResponse(authorizationResponse);
608  showClientUserAgent(authorizeClient);
609 
610  return authorizationResponse;
611  }
FORM_POST
Definition: ResponseMode.java:33
String loginFormUsername
Definition: BaseTest.java:88
String loginFormPassword
Definition: BaseTest.java:89
void deleteAllCookies()
Definition: BaseTest.java:661
void stopSelenium()
Definition: BaseTest.java:243
Definition: AuthorizeClient.java:29
Definition: ResponseMode.java:16
void startSelenium()
Definition: BaseTest.java:230
String loginFormLoginButton
Definition: BaseTest.java:90
String getRedirectUri()
Definition: AuthorizationRequest.java:184
void setResponseMode(ResponseMode responseMode)
Definition: AuthorizationResponse.java:228
void setRequest(T request)
Definition: BaseClient.java:68
void setResponse(V response)
Definition: BaseClient.java:76
WebDriver driver
Definition: BaseTest.java:70
Definition: AuthorizationResponse.java:32
String getQueryString()
Definition: AuthorizationRequest.java:486
static void showClientUserAgent(BaseClient client)
Definition: BaseTest.java:783

◆ authenticateResourceOwnerAndDenyAccess()

AuthorizationResponse org.xdi.oxauth.BaseTest.authenticateResourceOwnerAndDenyAccess ( String  authorizeUrl,
AuthorizationRequest  authorizationRequest,
String  userId,
String  userSecret 
)
inlineinherited
408  {
409  String authorizationRequestUrl = authorizeUrl + "?" + authorizationRequest.getQueryString();
410 
411  AuthorizeClient authorizeClient = new AuthorizeClient(authorizeUrl);
412  authorizeClient.setRequest(authorizationRequest);
413 
414  System.out.println("authenticateResourceOwnerAndDenyAccess: authorizationRequestUrl:" + authorizationRequestUrl);
415  startSelenium();
416  driver.navigate().to(authorizationRequestUrl);
417 
418  WebElement usernameElement = driver.findElement(By.name(loginFormUsername));
419  WebElement passwordElement = driver.findElement(By.name(loginFormPassword));
420  WebElement loginButton = driver.findElement(By.name(loginFormLoginButton));
421 
422  if (userId != null) {
423  usernameElement.sendKeys(userId);
424  }
425  passwordElement.sendKeys(userSecret);
426  loginButton.click();
427 
428  String authorizationResponseStr = driver.getCurrentUrl();
429 
430  WebElement doNotAllowButton = driver.findElement(By.id(authorizeFormDoNotAllowButton));
431 
432  final String previousURL = driver.getCurrentUrl();
433  doNotAllowButton.click();
434  WebDriverWait wait = new WebDriverWait(driver, 10);
435  wait.until(new ExpectedCondition<Boolean>() {
436  public Boolean apply(WebDriver d) {
437  return (d.getCurrentUrl() != previousURL);
438  }
439  });
440 
441  authorizationResponseStr = driver.getCurrentUrl();
442 
443  Cookie sessionIdCookie = driver.manage().getCookieNamed("session_id");
444  String sessionId = null;
445  if (sessionIdCookie != null) {
446  sessionId = sessionIdCookie.getValue();
447  }
448  System.out.println("authenticateResourceOwnerAndDenyAccess: sessionId:" + sessionId);
449 
450  stopSelenium();
451 
452  AuthorizationResponse authorizationResponse = new AuthorizationResponse(authorizationResponseStr);
453  if (authorizationRequest.getRedirectUri() != null && authorizationRequest.getRedirectUri().equals(authorizationResponseStr)) {
454  authorizationResponse.setResponseMode(ResponseMode.FORM_POST);
455  }
456  authorizationResponse.setSessionId(sessionId);
457  authorizeClient.setResponse(authorizationResponse);
458  showClientUserAgent(authorizeClient);
459 
460  return authorizationResponse;
461  }
FORM_POST
Definition: ResponseMode.java:33
String loginFormUsername
Definition: BaseTest.java:88
String loginFormPassword
Definition: BaseTest.java:89
void stopSelenium()
Definition: BaseTest.java:243
String authorizeFormDoNotAllowButton
Definition: BaseTest.java:92
void setSessionId(String p_sessionId)
Definition: AuthorizationResponse.java:212
Definition: AuthorizeClient.java:29
Definition: ResponseMode.java:16
void startSelenium()
Definition: BaseTest.java:230
String loginFormLoginButton
Definition: BaseTest.java:90
String getRedirectUri()
Definition: AuthorizationRequest.java:184
void setResponseMode(ResponseMode responseMode)
Definition: AuthorizationResponse.java:228
void setRequest(T request)
Definition: BaseClient.java:68
void setResponse(V response)
Definition: BaseClient.java:76
WebDriver driver
Definition: BaseTest.java:70
Definition: AuthorizationResponse.java:32
String getQueryString()
Definition: AuthorizationRequest.java:486
static void showClientUserAgent(BaseClient client)
Definition: BaseTest.java:783

◆ authenticateResourceOwnerAndGrantAccess() [1/4]

AuthorizationResponse org.xdi.oxauth.BaseTest.authenticateResourceOwnerAndGrantAccess ( String  authorizeUrl,
AuthorizationRequest  authorizationRequest,
String  userId,
String  userSecret 
)
inlineinherited

The authorization server authenticates the resource owner (via the user-agent) and establishes whether the resource owner grants or denies the client's access request.

253  {
254  return authenticateResourceOwnerAndGrantAccess(authorizeUrl, authorizationRequest, userId, userSecret, true);
255  }
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252

◆ authenticateResourceOwnerAndGrantAccess() [2/4]

AuthorizationResponse org.xdi.oxauth.BaseTest.authenticateResourceOwnerAndGrantAccess ( String  authorizeUrl,
AuthorizationRequest  authorizationRequest,
String  userId,
String  userSecret,
boolean  cleanupCookies 
)
inlineinherited

The authorization server authenticates the resource owner (via the user-agent) and establishes whether the resource owner grants or denies the client's access request.

262  {
263  return authenticateResourceOwnerAndGrantAccess(authorizeUrl, authorizationRequest, userId, userSecret, cleanupCookies, false);
264  }
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252

◆ authenticateResourceOwnerAndGrantAccess() [3/4]

AuthorizationResponse org.xdi.oxauth.BaseTest.authenticateResourceOwnerAndGrantAccess ( String  authorizeUrl,
AuthorizationRequest  authorizationRequest,
String  userId,
String  userSecret,
boolean  cleanupCookies,
boolean  useNewDriver 
)
inlineinherited

The authorization server authenticates the resource owner (via the user-agent) and establishes whether the resource owner grants or denies the client's access request.

272  {
273  return authenticateResourceOwnerAndGrantAccess(authorizeUrl, authorizationRequest, userId, userSecret, cleanupCookies, useNewDriver, 1);
274  }
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252

◆ authenticateResourceOwnerAndGrantAccess() [4/4]

AuthorizationResponse org.xdi.oxauth.BaseTest.authenticateResourceOwnerAndGrantAccess ( String  authorizeUrl,
AuthorizationRequest  authorizationRequest,
String  userId,
String  userSecret,
boolean  cleanupCookies,
boolean  useNewDriver,
int  authzSteps 
)
inlineinherited

The authorization server authenticates the resource owner (via the user-agent) and establishes whether the resource owner grants or denies the client's access request.

282  {
283  WebDriver currentDriver = initWebDriver(useNewDriver, cleanupCookies);
284 
285  AuthorizeClient authorizeClient = processAuthentication(currentDriver, authorizeUrl, authorizationRequest,
286  userId, userSecret);
287 
288  int remainAuthzSteps = authzSteps;
289 
290  String authorizationResponseStr = null;
291  do {
292  authorizationResponseStr = acceptAuthorization(currentDriver);
293  remainAuthzSteps--;
294  } while (remainAuthzSteps >= 1);
295 
296  AuthorizationResponse authorizationResponse = buildAuthorizationResponse(authorizationRequest, useNewDriver,
297  currentDriver, authorizeClient, authorizationResponseStr);
298 
299  stopWebDriver(useNewDriver, currentDriver);
300 
301  return authorizationResponse;
302  }
AuthorizationResponse buildAuthorizationResponse(AuthorizationRequest authorizationRequest, boolean useNewDriver, WebDriver currentDriver, AuthorizeClient authorizeClient, String authorizationResponseStr)
Definition: BaseTest.java:387
String acceptAuthorization(WebDriver currentDriver)
Definition: BaseTest.java:358
AuthorizeClient processAuthentication(WebDriver currentDriver, String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:330
Definition: AuthorizeClient.java:29
WebDriver initWebDriver(boolean useNewDriver, boolean cleanupCookies)
Definition: BaseTest.java:304
Definition: AuthorizationResponse.java:32
void stopWebDriver(boolean useNewDriver, WebDriver currentDriver)
Definition: BaseTest.java:321

◆ authorizationRequestAndDenyAccess()

AuthorizationResponse org.xdi.oxauth.BaseTest.authorizationRequestAndDenyAccess ( String  authorizeUrl,
AuthorizationRequest  authorizationRequest 
)
inlineinherited
509  {
510  String authorizationRequestUrl = authorizeUrl + "?" + authorizationRequest.getQueryString();
511 
512  AuthorizeClient authorizeClient = new AuthorizeClient(authorizeUrl);
513  authorizeClient.setRequest(authorizationRequest);
514 
515  System.out.println("authorizationRequestAndDenyAccess: authorizationRequestUrl:" + authorizationRequestUrl);
516  startSelenium();
517  driver.navigate().to(authorizationRequestUrl);
518 
519  WebElement doNotAllowButton = driver.findElement(By.id(authorizeFormDoNotAllowButton));
520 
521  final String previousURL = driver.getCurrentUrl();
522  doNotAllowButton.click();
523  WebDriverWait wait = new WebDriverWait(driver, 10);
524  wait.until(new ExpectedCondition<Boolean>() {
525  public Boolean apply(WebDriver d) {
526  return (d.getCurrentUrl() != previousURL);
527  }
528  });
529 
530  String authorizationResponseStr = driver.getCurrentUrl();
531 
532  Cookie sessionStateCookie = driver.manage().getCookieNamed("session_state");
533  String sessionState = null;
534  if (sessionStateCookie != null) {
535  sessionState = sessionStateCookie.getValue();
536  }
537  System.out.println("authorizationRequestAndDenyAccess: sessionState:" + sessionState);
538 
539  stopSelenium();
540 
541  AuthorizationResponse authorizationResponse = new AuthorizationResponse(authorizationResponseStr);
542  if (authorizationRequest.getRedirectUri() != null && authorizationRequest.getRedirectUri().equals(authorizationResponseStr)) {
543  authorizationResponse.setResponseMode(ResponseMode.FORM_POST);
544  }
545  authorizeClient.setResponse(authorizationResponse);
546  showClientUserAgent(authorizeClient);
547 
548  return authorizationResponse;
549  }
FORM_POST
Definition: ResponseMode.java:33
void stopSelenium()
Definition: BaseTest.java:243
String authorizeFormDoNotAllowButton
Definition: BaseTest.java:92
Definition: AuthorizeClient.java:29
Definition: ResponseMode.java:16
void startSelenium()
Definition: BaseTest.java:230
String getRedirectUri()
Definition: AuthorizationRequest.java:184
void setResponseMode(ResponseMode responseMode)
Definition: AuthorizationResponse.java:228
void setRequest(T request)
Definition: BaseClient.java:68
void setResponse(V response)
Definition: BaseClient.java:76
WebDriver driver
Definition: BaseTest.java:70
Definition: AuthorizationResponse.java:32
String getQueryString()
Definition: AuthorizationRequest.java:486
static void showClientUserAgent(BaseClient client)
Definition: BaseTest.java:783

◆ authorizationRequestAndGrantAccess()

AuthorizationResponse org.xdi.oxauth.BaseTest.authorizationRequestAndGrantAccess ( String  authorizeUrl,
AuthorizationRequest  authorizationRequest 
)
inlineinherited
464  {
465  String authorizationRequestUrl = authorizeUrl + "?" + authorizationRequest.getQueryString();
466 
467  AuthorizeClient authorizeClient = new AuthorizeClient(authorizeUrl);
468  authorizeClient.setRequest(authorizationRequest);
469 
470  System.out.println("authorizationRequestAndGrantAccess: authorizationRequestUrl:" + authorizationRequestUrl);
471  startSelenium();
472  driver.navigate().to(authorizationRequestUrl);
473 
474  String authorizationResponseStr = driver.getCurrentUrl();
475 
476  WebElement allowButton = driver.findElement(By.id(authorizeFormAllowButton));
477 
478  final String previousURL = driver.getCurrentUrl();
479  allowButton.click();
480  WebDriverWait wait = new WebDriverWait(driver, 10);
481  wait.until(new ExpectedCondition<Boolean>() {
482  public Boolean apply(WebDriver d) {
483  return (d.getCurrentUrl() != previousURL);
484  }
485  });
486 
487  authorizationResponseStr = driver.getCurrentUrl();
488 
489  Cookie sessionStateCookie = driver.manage().getCookieNamed("session_state");
490  String sessionState = null;
491  if (sessionStateCookie != null) {
492  sessionState = sessionStateCookie.getValue();
493  }
494  System.out.println("authorizationRequestAndGrantAccess: sessionState:" + sessionState);
495 
496  stopSelenium();
497 
498  AuthorizationResponse authorizationResponse = new AuthorizationResponse(authorizationResponseStr);
499  if (authorizationRequest.getRedirectUri() != null && authorizationRequest.getRedirectUri().equals(authorizationResponseStr)) {
500  authorizationResponse.setResponseMode(ResponseMode.FORM_POST);
501  }
502  authorizeClient.setResponse(authorizationResponse);
503  showClientUserAgent(authorizeClient);
504 
505  return authorizationResponse;
506  }
FORM_POST
Definition: ResponseMode.java:33
void stopSelenium()
Definition: BaseTest.java:243
Definition: AuthorizeClient.java:29
Definition: ResponseMode.java:16
void startSelenium()
Definition: BaseTest.java:230
String getRedirectUri()
Definition: AuthorizationRequest.java:184
void setResponseMode(ResponseMode responseMode)
Definition: AuthorizationResponse.java:228
void setRequest(T request)
Definition: BaseClient.java:68
void setResponse(V response)
Definition: BaseClient.java:76
WebDriver driver
Definition: BaseTest.java:70
Definition: AuthorizationResponse.java:32
String getQueryString()
Definition: AuthorizationRequest.java:486
static void showClientUserAgent(BaseClient client)
Definition: BaseTest.java:783
String authorizeFormAllowButton
Definition: BaseTest.java:91

◆ clientExecutor() [1/2]

static ClientExecutor org.xdi.oxauth.BaseTest.clientExecutor ( ) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException
inlinestaticinherited
822  {
823  return clientExecutor(false);
824  }
static ClientExecutor clientExecutor()
Definition: BaseTest.java:822

◆ clientExecutor() [2/2]

static ClientExecutor org.xdi.oxauth.BaseTest.clientExecutor ( boolean  trustAll) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException
inlinestaticinherited
826  {
827  if (trustAll) {
828  return new ApacheHttpClient4Executor(createHttpClientTrustAll());
829  }
830  return ClientRequest.getDefaultExecutor();
831  }
static HttpClient createHttpClientTrustAll()
Definition: BaseTest.java:833

◆ createDeployment()

static Archive<?> org.xdi.oxauth.ConfigurableTest.createDeployment ( )
inlinestaticinherited
40  {
41  return Deployments.createDeployment();
42  }

◆ createHttpClient() [1/2]

static DefaultHttpClient org.xdi.oxauth.BaseTest.createHttpClient ( )
inlinestaticinherited
794  {
795  return createHttpClient(HostnameVerifierType.DEFAULT);
796  }
static DefaultHttpClient createHttpClient()
Definition: BaseTest.java:794

◆ createHttpClient() [2/2]

static DefaultHttpClient org.xdi.oxauth.BaseTest.createHttpClient ( HostnameVerifierType  p_verifierType)
inlinestaticinherited
798  {
799  if (p_verifierType != null && p_verifierType != HostnameVerifierType.DEFAULT) {
800  switch (p_verifierType) {
801  case ALLOW_ALL:
802  HostnameVerifier hostnameVerifier = org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER;
803 
804  DefaultHttpClient client = new DefaultHttpClient();
805 
806  SchemeRegistry registry = new SchemeRegistry();
807  SSLSocketFactory socketFactory = SSLSocketFactory.getSocketFactory();
808  socketFactory.setHostnameVerifier((X509HostnameVerifier) hostnameVerifier);
809  registry.register(new Scheme("https", socketFactory, 443));
810  SingleClientConnManager mgr = new SingleClientConnManager(client.getParams(), registry);
811 
812  // Set verifier
813  HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier);
814  return new DefaultHttpClient(mgr, client.getParams());
815  case DEFAULT:
816  return new DefaultHttpClient();
817  }
818  }
819  return new DefaultHttpClient();
820  }

◆ createHttpClientTrustAll()

static HttpClient org.xdi.oxauth.BaseTest.createHttpClientTrustAll ( ) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException
inlinestaticinherited
833  {
834  SSLSocketFactory sf = new SSLSocketFactory(new TrustStrategy() {
835  @Override
836  public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
837  return true;
838  }
839  }, new AllowAllHostnameVerifier());
840 
841  SchemeRegistry registry = new SchemeRegistry();
842  registry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
843  registry.register(new Scheme("https", 443, sf));
844  ClientConnectionManager ccm = new PoolingClientConnectionManager(registry);
845  return new DefaultHttpClient(ccm);
846  }

◆ discovery()

void org.xdi.oxauth.BaseTest.discovery ( ITestContext  context) throws Exception
inlineinherited
670  {
671  // Load Form Interaction
672  loginFormUsername = context.getCurrentXmlTest().getParameter("loginFormUsername");
673  loginFormPassword = context.getCurrentXmlTest().getParameter("loginFormPassword");
674  loginFormLoginButton = context.getCurrentXmlTest().getParameter("loginFormLoginButton");
675  authorizeFormAllowButton = context.getCurrentXmlTest().getParameter("authorizeFormAllowButton");
676  authorizeFormDoNotAllowButton = context.getCurrentXmlTest().getParameter("authorizeFormDoNotAllowButton");
677 
678  String resource = context.getCurrentXmlTest().getParameter("swdResource");
679 
680  if (StringUtils.isNotBlank(resource)) {
681 
682  showTitle("OpenID Connect Discovery");
683 
684  OpenIdConnectDiscoveryClient openIdConnectDiscoveryClient = new OpenIdConnectDiscoveryClient(resource);
685  OpenIdConnectDiscoveryResponse openIdConnectDiscoveryResponse = openIdConnectDiscoveryClient.exec(clientExecutor(true));
686 
687  showClient(openIdConnectDiscoveryClient);
688  assertEquals(openIdConnectDiscoveryResponse.getStatus(), 200, "Unexpected response code");
689  assertNotNull(openIdConnectDiscoveryResponse.getSubject());
690  assertTrue(openIdConnectDiscoveryResponse.getLinks().size() > 0);
691 
692  configurationEndpoint = openIdConnectDiscoveryResponse.getLinks().get(0).getHref() +
693  "/.well-known/openid-configuration";
694 
695  System.out.println("OpenID Connect Configuration");
696 
697  OpenIdConfigurationClient client = new OpenIdConfigurationClient(configurationEndpoint);
698  client.setExecutor(clientExecutor(true));
700 
701  showClient(client);
702  assertEquals(response.getStatus(), 200, "Unexpected response code");
703  assertNotNull(response.getIssuer(), "The issuer is null");
704  assertNotNull(response.getAuthorizationEndpoint(), "The authorizationEndpoint is null");
705  assertNotNull(response.getTokenEndpoint(), "The tokenEndpoint is null");
706  assertNotNull(response.getUserInfoEndpoint(), "The userInfoEndPoint is null");
707  assertNotNull(response.getJwksUri(), "The jwksUri is null");
708  assertNotNull(response.getRegistrationEndpoint(), "The registrationEndpoint is null");
709 
710  assertTrue(response.getScopesSupported().size() > 0, "The scopesSupported is empty");
711  assertTrue(response.getScopeToClaimsMapping().size() > 0, "The scope to claims mapping is empty");
712  assertTrue(response.getResponseTypesSupported().size() > 0, "The responseTypesSupported is empty");
713  assertTrue(response.getGrantTypesSupported().size() > 0, "The grantTypesSupported is empty");
714  assertTrue(response.getAcrValuesSupported().size() >= 0, "The acrValuesSupported is empty");
715  assertTrue(response.getSubjectTypesSupported().size() > 0, "The subjectTypesSupported is empty");
716  assertTrue(response.getIdTokenSigningAlgValuesSupported().size() > 0, "The idTokenSigningAlgValuesSupported is empty");
717  assertTrue(response.getRequestObjectSigningAlgValuesSupported().size() > 0, "The requestObjectSigningAlgValuesSupported is empty");
718  assertTrue(response.getTokenEndpointAuthMethodsSupported().size() > 0, "The tokenEndpointAuthMethodsSupported is empty");
719  assertTrue(response.getClaimsSupported().size() > 0, "The claimsSupported is empty");
720 
722  tokenEndpoint = response.getTokenEndpoint();
727  jwksUri = response.getJwksUri();
732  gluuConfigurationEndpoint = determineGluuConfigurationEndpoint(openIdConnectDiscoveryResponse.getLinks().get(0).getHref());
733  } else {
734  showTitle("Loading configuration endpoints from properties file");
735 
736  authorizationEndpoint = context.getCurrentXmlTest().getParameter("authorizationEndpoint");
737  tokenEndpoint = context.getCurrentXmlTest().getParameter("tokenEndpoint");
738  userInfoEndpoint = context.getCurrentXmlTest().getParameter("userInfoEndpoint");
739  clientInfoEndpoint = context.getCurrentXmlTest().getParameter("clientInfoEndpoint");
740  checkSessionIFrame = context.getCurrentXmlTest().getParameter("checkSessionIFrame");
741  endSessionEndpoint = context.getCurrentXmlTest().getParameter("endSessionEndpoint");
742  jwksUri = context.getCurrentXmlTest().getParameter("jwksUri");
743  registrationEndpoint = context.getCurrentXmlTest().getParameter("registrationEndpoint");
744  configurationEndpoint = context.getCurrentXmlTest().getParameter("configurationEndpoint");
745  idGenEndpoint = context.getCurrentXmlTest().getParameter("idGenEndpoint");
746  introspectionEndpoint = context.getCurrentXmlTest().getParameter("introspectionEndpoint");
747  scopeToClaimsMapping = new HashMap<String, List<String>>();
748  }
749 
751  }
String registrationEndpoint
Definition: BaseTest.java:81
String getIntrospectionEndpoint()
Definition: OpenIdConfigurationResponse.java:343
List< String > getTokenEndpointAuthMethodsSupported()
Definition: OpenIdConfigurationResponse.java:642
String determineAuthorizationPageEndpoint(String authorizationEndpoint)
Definition: BaseTest.java:753
String jwksUri
Definition: BaseTest.java:80
String getRegistrationEndpoint()
Definition: OpenIdConfigurationResponse.java:310
String clientInfoEndpoint
Definition: BaseTest.java:77
String getCheckSessionIFrame()
Definition: OpenIdConfigurationResponse.java:248
String authorizationPageEndpoint
Definition: BaseTest.java:73
String idGenEndpoint
Definition: BaseTest.java:83
String getIdGenerationEndpoint()
Definition: OpenIdConfigurationResponse.java:327
static void showClient(BaseClient client)
Definition: BaseTest.java:775
List< String > getRequestObjectSigningAlgValuesSupported()
Definition: OpenIdConfigurationResponse.java:579
String loginFormUsername
Definition: BaseTest.java:88
String loginFormPassword
Definition: BaseTest.java:89
String configurationEndpoint
Definition: BaseTest.java:82
List< String > getSubjectTypesSupported()
Definition: OpenIdConfigurationResponse.java:438
String getEndSessionEndpoint()
Definition: OpenIdConfigurationResponse.java:268
String tokenEndpoint
Definition: BaseTest.java:75
String authorizeFormDoNotAllowButton
Definition: BaseTest.java:92
List< String > getAcrValuesSupported()
Definition: OpenIdConfigurationResponse.java:418
String getClientInfoEndpoint()
Definition: OpenIdConfigurationResponse.java:228
List< String > getGrantTypesSupported()
Definition: OpenIdConfigurationResponse.java:398
String checkSessionIFrame
Definition: BaseTest.java:78
void setExecutor(ClientExecutor executor)
Definition: BaseClient.java:84
OpenIdConfigurationResponse execOpenIdConfiguration()
Definition: OpenIdConfigurationClient.java:47
String loginFormLoginButton
Definition: BaseTest.java:90
String gluuConfigurationEndpoint
Definition: BaseTest.java:74
Map< String, List< String > > getScopeToClaimsMapping()
Definition: OpenIdConfigurationResponse.java:136
String getJwksUri()
Definition: OpenIdConfigurationResponse.java:289
String getTokenEndpoint()
Definition: OpenIdConfigurationResponse.java:192
List< String > getIdTokenSigningAlgValuesSupported()
Definition: OpenIdConfigurationResponse.java:519
Definition: OpenIdConnectDiscoveryClient.java:29
String introspectionEndpoint
Definition: BaseTest.java:84
void showTitle(String title)
Definition: BaseTest.java:761
List< String > getResponseTypesSupported()
Definition: OpenIdConfigurationResponse.java:378
String endSessionEndpoint
Definition: BaseTest.java:79
String getSubject()
Definition: OpenIdConnectDiscoveryResponse.java:32
List< String > getScopesSupported()
Definition: OpenIdConfigurationResponse.java:360
String determineGluuConfigurationEndpoint(String host)
Definition: BaseTest.java:757
OpenIdConnectDiscoveryResponse exec()
Definition: OpenIdConnectDiscoveryClient.java:47
String getAuthorizationEndpoint()
Definition: OpenIdConfigurationResponse.java:174
String userInfoEndpoint
Definition: BaseTest.java:76
Definition: OpenIdConfigurationClient.java:27
int getStatus()
Definition: BaseResponse.java:49
List< WebFingerLink > getLinks()
Definition: OpenIdConnectDiscoveryResponse.java:40
List< String > getClaimsSupported()
Definition: OpenIdConfigurationResponse.java:728
Definition: OpenIdConnectDiscoveryResponse.java:17
String authorizationEndpoint
Definition: BaseTest.java:72
String getUserInfoEndpoint()
Definition: OpenIdConfigurationResponse.java:210
Definition: OpenIdConfigurationResponse.java:26
static ClientExecutor clientExecutor()
Definition: BaseTest.java:822
Map< String, List< String > > scopeToClaimsMapping
Definition: BaseTest.java:85
String authorizeFormAllowButton
Definition: BaseTest.java:91
String getIssuer()
Definition: OpenIdConfigurationResponse.java:156

◆ fails()

static void org.xdi.oxauth.BaseTest.fails ( Throwable  e)
inlinestaticinherited
50  {
51  Assert.fail(e.getMessage(), e);
52  }

◆ getAuthorizationEndpoint()

String org.xdi.oxauth.BaseTest.getAuthorizationEndpoint ( )
inlineinherited
134  {
135  return authorizationEndpoint;
136  }
String authorizationEndpoint
Definition: BaseTest.java:72

◆ getCheckSessionIFrame()

String org.xdi.oxauth.BaseTest.getCheckSessionIFrame ( )
inlineinherited
166  {
167  return checkSessionIFrame;
168  }
String checkSessionIFrame
Definition: BaseTest.java:78

◆ getClientInfoEndpoint()

String org.xdi.oxauth.BaseTest.getClientInfoEndpoint ( )
inlineinherited
158  {
159  return clientInfoEndpoint;
160  }
String clientInfoEndpoint
Definition: BaseTest.java:77

◆ getConfigurationEndpoint()

String org.xdi.oxauth.BaseTest.getConfigurationEndpoint ( )
inlineinherited
222  {
223  return configurationEndpoint;
224  }
String configurationEndpoint
Definition: BaseTest.java:82

◆ getDriver()

WebDriver org.xdi.oxauth.BaseTest.getDriver ( )
inlineinherited
126  {
127  return driver;
128  }
WebDriver driver
Definition: BaseTest.java:70

◆ getEndSessionEndpoint()

String org.xdi.oxauth.BaseTest.getEndSessionEndpoint ( )
inlineinherited
174  {
175  return endSessionEndpoint;
176  }
String endSessionEndpoint
Definition: BaseTest.java:79

◆ getIdGenEndpoint()

String org.xdi.oxauth.BaseTest.getIdGenEndpoint ( )
inlineinherited
214  {
215  return idGenEndpoint;
216  }
String idGenEndpoint
Definition: BaseTest.java:83

◆ getIntrospectionEndpoint()

String org.xdi.oxauth.BaseTest.getIntrospectionEndpoint ( )
inlineinherited
198  {
199  return introspectionEndpoint;
200  }
String introspectionEndpoint
Definition: BaseTest.java:84

◆ getJwksUri()

String org.xdi.oxauth.BaseTest.getJwksUri ( )
inlineinherited
182  {
183  return jwksUri;
184  }
String jwksUri
Definition: BaseTest.java:80

◆ getRegistrationEndpoint()

String org.xdi.oxauth.BaseTest.getRegistrationEndpoint ( )
inlineinherited
190  {
191  return registrationEndpoint;
192  }
String registrationEndpoint
Definition: BaseTest.java:81

◆ getScopeToClaimsMapping()

Map<String, List<String> > org.xdi.oxauth.BaseTest.getScopeToClaimsMapping ( )
inlineinherited
206  {
207  return scopeToClaimsMapping;
208  }
Map< String, List< String > > scopeToClaimsMapping
Definition: BaseTest.java:85

◆ getTokenEndpoint()

String org.xdi.oxauth.BaseTest.getTokenEndpoint ( )
inlineinherited
142  {
143  return tokenEndpoint;
144  }
String tokenEndpoint
Definition: BaseTest.java:75

◆ getUserInfoEndpoint()

String org.xdi.oxauth.BaseTest.getUserInfoEndpoint ( )
inlineinherited
150  {
151  return userInfoEndpoint;
152  }
String userInfoEndpoint
Definition: BaseTest.java:76

◆ initTestSuite()

void org.xdi.oxauth.BaseTest.initTestSuite ( ITestContext  context) throws FileNotFoundException, IOException
inlineinherited
95  {
96  SecurityProviderUtility.installBCProvider();
97 
98  Reporter.log("Invoked init test suite method \n", true);
99 
100  String propertiesFile = context.getCurrentXmlTest().getParameter("propertiesFile");
101  if (StringHelper.isEmpty(propertiesFile)) {
102  propertiesFile = "target/test-classes/testng.properties";
103  //propertiesFile = "U:\\own\\project\\git\\oxAuth\\Client\\src\\test\\resources\\testng_yuriy.properties";
104  //propertiesFile = "/Users/JAVIER/IdeaProjects/oxAuth/Client/target/test-classes/testng.properties";
105  }
106 
107  FileInputStream conf = new FileInputStream(propertiesFile);
108  Properties prop = new Properties();
109  prop.load(conf);
110 
111  Map<String, String> parameters = new HashMap<String, String>();
112  for (Entry<Object, Object> entry : prop.entrySet()) {
113  Object key = entry.getKey();
114  Object value = entry.getValue();
115 
116  if (StringHelper.isEmptyString(key) || StringHelper.isEmptyString(value)) {
117  continue;
118  }
119  parameters.put(key.toString(), value.toString());
120  }
121 
122  // Overrided test paramters
123  context.getSuite().getXmlSuite().setParameters(parameters);
124  }

◆ output()

static void org.xdi.oxauth.BaseTest.output ( String  p_msg)
inlinestaticinherited
54  {
55  System.out.println(p_msg);
56  }

◆ requestParameterMethodRS256Step1()

void org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.requestParameterMethodRS256Step1 ( final String  registerPath,
final String  redirectUris,
final String  jwksUri 
) throws Exception
inline
68  {
69  Builder request = ResteasyClientBuilder.newClient().target(url.toString() + registerPath).request();
70 
71  String registerRequestContent = null;
72  try {
73  List<ResponseType> responseTypes = Arrays.asList(ResponseType.TOKEN);
74 
75  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
76  StringUtils.spaceSeparatedToList(redirectUris));
77  registerRequest.setJwksUri(jwksUri);
78  registerRequest.setResponseTypes(responseTypes);
79  registerRequest.setRequestObjectSigningAlg(SignatureAlgorithm.RS256);
80  registerRequest.addCustomAttribute("oxAuthTrustedClient", "true");
81 
82  registerRequestContent = registerRequest.getJSONParameters().toString(4);
83  } catch (JSONException e) {
84  e.printStackTrace();
85  fail(e.getMessage());
86  }
87 
88  Response response = request.post(Entity.json(registerRequestContent));
89  String entity = response.readEntity(String.class);
90 
91  showResponse("requestParameterMethodRS256Step1", response, entity);
92 
93  ResponseAsserter responseAsserter = ResponseAsserter.of(response.getStatus(), entity);
94  responseAsserter.assertRegisterResponse();
95  clientId1 = responseAsserter.getJson().getJson().getString(RegisterResponseParam.CLIENT_ID.toString());
96  }
String jwksUri
Definition: BaseTest.java:80
static String clientId1
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:58
void showResponse(String title, Response response)
Definition: BaseTest.java:30
URI url
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:56

◆ requestParameterMethodRS256Step2()

void org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.requestParameterMethodRS256Step2 ( final String  authorizePath,
final String  userId,
final String  userSecret,
final String  redirectUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret 
) throws Exception
inline
103  {
104  Builder request = null;
105  try {
106  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
107 
108  List<ResponseType> responseTypes = Arrays.asList(ResponseType.TOKEN);
109  List<String> scopes = Arrays.asList("openid");
110  String nonce = UUID.randomUUID().toString();
111  String state = UUID.randomUUID().toString();
112 
113  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId1, scopes,
114  redirectUri, nonce);
115  authorizationRequest.setState(state);
116  authorizationRequest.getPrompts().add(Prompt.NONE);
117  authorizationRequest.setAuthUsername(userId);
118  authorizationRequest.setAuthPassword(userSecret);
119 
120  JwtAuthorizationRequest jwtAuthorizationRequest = new JwtAuthorizationRequest(authorizationRequest,
121  SignatureAlgorithm.RS256, cryptoProvider);
122  jwtAuthorizationRequest.setKeyId(keyId);
123  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.NAME, ClaimValue.createNull()));
124  jwtAuthorizationRequest
125  .addUserInfoClaim(new Claim(JwtClaimName.NICKNAME, ClaimValue.createEssential(false)));
126  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.EMAIL, ClaimValue.createNull()));
127  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.EMAIL_VERIFIED, ClaimValue.createNull()));
128  jwtAuthorizationRequest
129  .addUserInfoClaim(new Claim(JwtClaimName.PICTURE, ClaimValue.createEssential(false)));
130  jwtAuthorizationRequest
131  .addIdTokenClaim(new Claim(JwtClaimName.AUTHENTICATION_TIME, ClaimValue.createNull()));
132  jwtAuthorizationRequest.addIdTokenClaim(new Claim(JwtClaimName.AUTHENTICATION_CONTEXT_CLASS_REFERENCE,
133  ClaimValue.createValueList(new String[] { "2" })));
134  String authJwt = jwtAuthorizationRequest.getEncodedJwt();
135  authorizationRequest.setRequest(authJwt);
136  System.out.println("Request JWT: " + authJwt);
137 
138  request = ResteasyClientBuilder.newClient()
139  .target(url.toString() + authorizePath + "?" + authorizationRequest.getQueryString()).request();
140  request.header("Authorization", "Basic " + authorizationRequest.getEncodedCredentials());
141  request.header("Accept", MediaType.TEXT_PLAIN);
142  } catch (Exception e) {
143  fail(e.getMessage(), e);
144  }
145 
146  Response response = request.get();
147 
148  String entity = response.readEntity(String.class);
149  showResponse("requestParameterMethodRS256Step2", response, entity);
150 
151  assertEquals(response.getStatus(), 302, "Unexpected response code.");
152  assertNotNull(response.getLocation(), "Unexpected result: " + response.getLocation());
153 
154  try {
155  URI uri = new URI(response.getLocation().toString());
156  assertNotNull(uri.getFragment(), "Query string is null");
157 
158  Map<String, String> params = QueryStringDecoder.decode(uri.getFragment());
159 
160  assertNotNull(params.get("access_token"), "The accessToken is null");
161  assertNotNull(params.get("scope"), "The scope is null");
162  assertNotNull(params.get("state"), "The state is null");
163  } catch (URISyntaxException e) {
164  e.printStackTrace();
165  fail("Response URI is not well formed");
166  }
167  }
static String clientId1
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:58
void showResponse(String title, Response response)
Definition: BaseTest.java:30
URI url
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:56

◆ requestParameterMethodRS256X509CertStep1()

void org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.requestParameterMethodRS256X509CertStep1 ( final String  registerPath,
final String  redirectUris,
final String  jwksUri 
) throws Exception
inline
380  {
381  Builder request = ResteasyClientBuilder.newClient().target(url.toString() + registerPath).request();
382 
383  String registerRequestContent = null;
384  try {
385  List<ResponseType> responseTypes = Arrays.asList(ResponseType.TOKEN);
386 
387  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
388  StringUtils.spaceSeparatedToList(redirectUris));
389  registerRequest.setJwksUri(jwksUri);
390  registerRequest.setResponseTypes(responseTypes);
391  registerRequest.setRequestObjectSigningAlg(SignatureAlgorithm.RS256);
392  registerRequest.addCustomAttribute("oxAuthTrustedClient", "true");
393 
394  registerRequestContent = registerRequest.getJSONParameters().toString(4);
395  } catch (JSONException e) {
396  e.printStackTrace();
397  fail(e.getMessage());
398  }
399 
400  Response response = request.post(Entity.json(registerRequestContent));
401  String entity = response.readEntity(String.class);
402 
403  showResponse("requestParameterMethodRS256X509CertStep1", response, entity);
404 
405  ResponseAsserter responseAsserter = ResponseAsserter.of(response.getStatus(), entity);
406  responseAsserter.assertRegisterResponse();
407  clientId4 = responseAsserter.getJson().getJson().getString(RegisterResponseParam.CLIENT_ID.toString());
408  }
String jwksUri
Definition: BaseTest.java:80
static String clientId4
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:61
void showResponse(String title, Response response)
Definition: BaseTest.java:30
URI url
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:56

◆ requestParameterMethodRS256X509CertStep2()

void org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.requestParameterMethodRS256X509CertStep2 ( final String  authorizePath,
final String  userId,
final String  userSecret,
final String  redirectUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret 
) throws Exception
inline
415  {
416  Builder request = null;
417  try {
418  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
419 
420  List<ResponseType> responseTypes = Arrays.asList(ResponseType.TOKEN);
421  List<String> scopes = Arrays.asList("openid");
422  String nonce = UUID.randomUUID().toString();
423  String state = UUID.randomUUID().toString();
424 
425  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId4, scopes,
426  redirectUri, nonce);
427  authorizationRequest.setState(state);
428  authorizationRequest.getPrompts().add(Prompt.NONE);
429  authorizationRequest.setAuthUsername(userId);
430  authorizationRequest.setAuthPassword(userSecret);
431 
432  JwtAuthorizationRequest jwtAuthorizationRequest = new JwtAuthorizationRequest(authorizationRequest,
433  SignatureAlgorithm.RS256, cryptoProvider);
434  jwtAuthorizationRequest.setKeyId(keyId);
435  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.NAME, ClaimValue.createNull()));
436  jwtAuthorizationRequest
437  .addUserInfoClaim(new Claim(JwtClaimName.NICKNAME, ClaimValue.createEssential(false)));
438  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.EMAIL, ClaimValue.createNull()));
439  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.EMAIL_VERIFIED, ClaimValue.createNull()));
440  jwtAuthorizationRequest
441  .addUserInfoClaim(new Claim(JwtClaimName.PICTURE, ClaimValue.createEssential(false)));
442  jwtAuthorizationRequest
443  .addIdTokenClaim(new Claim(JwtClaimName.AUTHENTICATION_TIME, ClaimValue.createNull()));
444  jwtAuthorizationRequest.addIdTokenClaim(new Claim(JwtClaimName.AUTHENTICATION_CONTEXT_CLASS_REFERENCE,
445  ClaimValue.createValueList(new String[] { "2" })));
446  String authJwt = jwtAuthorizationRequest.getEncodedJwt();
447  authorizationRequest.setRequest(authJwt);
448  System.out.println("Request JWT: " + authJwt);
449 
450  request = ResteasyClientBuilder.newClient()
451  .target(url.toString() + authorizePath + "?" + authorizationRequest.getQueryString()).request();
452 
453  request.header("Authorization", "Basic " + authorizationRequest.getEncodedCredentials());
454  request.header("Accept", MediaType.TEXT_PLAIN);
455  } catch (Exception e) {
456  fail(e.getMessage(), e);
457  }
458 
459  Response response = request.get();
460  String entity = response.readEntity(String.class);
461 
462  showResponse("requestParameterMethodRS256X509CertStep2", response, entity);
463 
464  assertEquals(response.getStatus(), 302, "Unexpected response code.");
465  assertNotNull(response.getLocation(), "Unexpected result: " + response.getLocation());
466 
467  try {
468  URI uri = new URI(response.getLocation().toString());
469  assertNotNull(uri.getFragment(), "Query string is null");
470 
471  Map<String, String> params = QueryStringDecoder.decode(uri.getFragment());
472 
473  assertNotNull(params.get("access_token"), "The accessToken is null");
474  assertNotNull(params.get("scope"), "The scope is null");
475  assertNotNull(params.get("state"), "The state is null");
476  } catch (URISyntaxException e) {
477  e.printStackTrace();
478  fail("Response URI is not well formed");
479  }
480  }
static String clientId4
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:61
void showResponse(String title, Response response)
Definition: BaseTest.java:30
URI url
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:56

◆ requestParameterMethodRS384Step1()

void org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.requestParameterMethodRS384Step1 ( final String  registerPath,
final String  redirectUris,
final String  jwksUri 
) throws Exception
inline
172  {
173  Builder request = ResteasyClientBuilder.newClient().target(url.toString() + registerPath).request();
174 
175  String registerRequestContent = null;
176  try {
177  List<ResponseType> responseTypes = Arrays.asList(ResponseType.TOKEN);
178 
179  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
180  StringUtils.spaceSeparatedToList(redirectUris));
181  registerRequest.setJwksUri(jwksUri);
182  registerRequest.setResponseTypes(responseTypes);
183  registerRequest.setRequestObjectSigningAlg(SignatureAlgorithm.RS384);
184  registerRequest.addCustomAttribute("oxAuthTrustedClient", "true");
185 
186  registerRequestContent = registerRequest.getJSONParameters().toString(4);
187  } catch (JSONException e) {
188  e.printStackTrace();
189  fail(e.getMessage());
190  }
191 
192  Response response = request.post(Entity.json(registerRequestContent));
193  String entity = response.readEntity(String.class);
194 
195  showResponse("requestParameterMethodRS384Step1", response, entity);
196 
197  ResponseAsserter responseAsserter = ResponseAsserter.of(response.getStatus(), entity);
198  responseAsserter.assertRegisterResponse();
199  clientId2 = responseAsserter.getJson().getJson().getString(RegisterResponseParam.CLIENT_ID.toString());
200  }
String jwksUri
Definition: BaseTest.java:80
static String clientId2
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:59
void showResponse(String title, Response response)
Definition: BaseTest.java:30
URI url
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:56

◆ requestParameterMethodRS384Step2()

void org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.requestParameterMethodRS384Step2 ( final String  authorizePath,
final String  userId,
final String  userSecret,
final String  redirectUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret 
) throws Exception
inline
207  {
208  Builder request = null;
209  try {
210  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
211 
212  List<ResponseType> responseTypes = Arrays.asList(ResponseType.TOKEN);
213  List<String> scopes = Arrays.asList("openid");
214  String nonce = UUID.randomUUID().toString();
215  String state = UUID.randomUUID().toString();
216 
217  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId2, scopes,
218  redirectUri, nonce);
219  authorizationRequest.setState(state);
220  authorizationRequest.getPrompts().add(Prompt.NONE);
221  authorizationRequest.setAuthUsername(userId);
222  authorizationRequest.setAuthPassword(userSecret);
223 
224  JwtAuthorizationRequest jwtAuthorizationRequest = new JwtAuthorizationRequest(authorizationRequest,
225  SignatureAlgorithm.RS384, cryptoProvider);
226  jwtAuthorizationRequest.setKeyId(keyId);
227  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.NAME, ClaimValue.createNull()));
228  jwtAuthorizationRequest
229  .addUserInfoClaim(new Claim(JwtClaimName.NICKNAME, ClaimValue.createEssential(false)));
230  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.EMAIL, ClaimValue.createNull()));
231  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.EMAIL_VERIFIED, ClaimValue.createNull()));
232  jwtAuthorizationRequest
233  .addUserInfoClaim(new Claim(JwtClaimName.PICTURE, ClaimValue.createEssential(false)));
234  jwtAuthorizationRequest
235  .addIdTokenClaim(new Claim(JwtClaimName.AUTHENTICATION_TIME, ClaimValue.createNull()));
236  jwtAuthorizationRequest.addIdTokenClaim(new Claim(JwtClaimName.AUTHENTICATION_CONTEXT_CLASS_REFERENCE,
237  ClaimValue.createValueList(new String[] { "2" })));
238  String authJwt = jwtAuthorizationRequest.getEncodedJwt();
239  authorizationRequest.setRequest(authJwt);
240  System.out.println("Request JWT: " + authJwt);
241 
242  request = ResteasyClientBuilder.newClient()
243  .target(url.toString() + authorizePath + "?" + authorizationRequest.getQueryString()).request();
244  request.header("Authorization", "Basic " + authorizationRequest.getEncodedCredentials());
245  request.header("Accept", MediaType.TEXT_PLAIN);
246  } catch (Exception e) {
247  fail(e.getMessage(), e);
248  }
249 
250  Response response = request.get();
251  String entity = response.readEntity(String.class);
252 
253  showResponse("requestParameterMethodRS384Step2", response, entity);
254 
255  assertEquals(response.getStatus(), 302, "Unexpected response code.");
256  assertNotNull(response.getLocation(), "Unexpected result: " + response.getLocation());
257 
258  try {
259  URI uri = new URI(response.getLocation().toString());
260  assertNotNull(uri.getFragment(), "Query string is null");
261 
262  Map<String, String> params = QueryStringDecoder.decode(uri.getFragment());
263 
264  assertNotNull(params.get("access_token"), "The accessToken is null");
265  assertNotNull(params.get("scope"), "The scope is null");
266  assertNotNull(params.get("state"), "The state is null");
267  } catch (URISyntaxException e) {
268  e.printStackTrace();
269  fail("Response URI is not well formed");
270  }
271  }
static String clientId2
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:59
void showResponse(String title, Response response)
Definition: BaseTest.java:30
URI url
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:56

◆ requestParameterMethodRS384X509CertStep1()

void org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.requestParameterMethodRS384X509CertStep1 ( final String  registerPath,
final String  redirectUris,
final String  jwksUri 
) throws Exception
inline
485  {
486  Builder request = ResteasyClientBuilder.newClient().target(url.toString() + registerPath).request();
487 
488  String registerRequestContent = null;
489  try {
490  List<ResponseType> responseTypes = Arrays.asList(ResponseType.TOKEN);
491 
492  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
493  StringUtils.spaceSeparatedToList(redirectUris));
494  registerRequest.setJwksUri(jwksUri);
495  registerRequest.setResponseTypes(responseTypes);
496  registerRequest.setRequestObjectSigningAlg(SignatureAlgorithm.RS384);
497  registerRequest.addCustomAttribute("oxAuthTrustedClient", "true");
498 
499  registerRequestContent = registerRequest.getJSONParameters().toString(4);
500  } catch (JSONException e) {
501  e.printStackTrace();
502  fail(e.getMessage());
503  }
504 
505  Response response = request.post(Entity.json(registerRequestContent));
506  String entity = response.readEntity(String.class);
507 
508  showResponse("requestParameterMethodRS384X509CertStep1", response, entity);
509 
510  ResponseAsserter responseAsserter = ResponseAsserter.of(response.getStatus(), entity);
511  responseAsserter.assertRegisterResponse();
512  clientId5 = responseAsserter.getJson().getJson().getString(RegisterResponseParam.CLIENT_ID.toString());
513  }
String jwksUri
Definition: BaseTest.java:80
static String clientId5
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:62
void showResponse(String title, Response response)
Definition: BaseTest.java:30
URI url
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:56

◆ requestParameterMethodRS384X509CertStep2()

void org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.requestParameterMethodRS384X509CertStep2 ( final String  authorizePath,
final String  userId,
final String  userSecret,
final String  redirectUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret 
) throws Exception
inline
520  {
521  Builder request = null;
522  try {
523  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
524 
525  List<ResponseType> responseTypes = Arrays.asList(ResponseType.TOKEN);
526  List<String> scopes = Arrays.asList("openid");
527  String nonce = UUID.randomUUID().toString();
528  String state = UUID.randomUUID().toString();
529 
530  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId5, scopes,
531  redirectUri, nonce);
532  authorizationRequest.setState(state);
533  authorizationRequest.getPrompts().add(Prompt.NONE);
534  authorizationRequest.setAuthUsername(userId);
535  authorizationRequest.setAuthPassword(userSecret);
536 
537  JwtAuthorizationRequest jwtAuthorizationRequest = new JwtAuthorizationRequest(authorizationRequest,
538  SignatureAlgorithm.RS384, cryptoProvider);
539  jwtAuthorizationRequest.setKeyId(keyId);
540  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.NAME, ClaimValue.createNull()));
541  jwtAuthorizationRequest
542  .addUserInfoClaim(new Claim(JwtClaimName.NICKNAME, ClaimValue.createEssential(false)));
543  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.EMAIL, ClaimValue.createNull()));
544  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.EMAIL_VERIFIED, ClaimValue.createNull()));
545  jwtAuthorizationRequest
546  .addUserInfoClaim(new Claim(JwtClaimName.PICTURE, ClaimValue.createEssential(false)));
547  jwtAuthorizationRequest
548  .addIdTokenClaim(new Claim(JwtClaimName.AUTHENTICATION_TIME, ClaimValue.createNull()));
549  jwtAuthorizationRequest.addIdTokenClaim(new Claim(JwtClaimName.AUTHENTICATION_CONTEXT_CLASS_REFERENCE,
550  ClaimValue.createValueList(new String[] { "2" })));
551  String authJwt = jwtAuthorizationRequest.getEncodedJwt();
552  authorizationRequest.setRequest(authJwt);
553  System.out.println("Request JWT: " + authJwt);
554 
555  request = ResteasyClientBuilder.newClient()
556  .target(url.toString() + authorizePath + "?" + authorizationRequest.getQueryString()).request();
557  request.header("Authorization", "Basic " + authorizationRequest.getEncodedCredentials());
558  request.header("Accept", MediaType.TEXT_PLAIN);
559  } catch (Exception e) {
560  fail(e.getMessage(), e);
561  }
562 
563  Response response = request.get();
564  String entity = response.readEntity(String.class);
565 
566  showResponse("requestParameterMethodRS384X509CertStep2", response, entity);
567 
568  assertEquals(response.getStatus(), 302, "Unexpected response code.");
569  assertNotNull(response.getLocation(), "Unexpected result: " + response.getLocation());
570 
571  try {
572  URI uri = new URI(response.getLocation().toString());
573  assertNotNull(uri.getFragment(), "Query string is null");
574 
575  Map<String, String> params = QueryStringDecoder.decode(uri.getFragment());
576 
577  assertNotNull(params.get("access_token"), "The accessToken is null");
578  assertNotNull(params.get("scope"), "The scope is null");
579  assertNotNull(params.get("state"), "The state is null");
580  } catch (URISyntaxException e) {
581  e.printStackTrace();
582  fail("Response URI is not well formed");
583  }
584  }
static String clientId5
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:62
void showResponse(String title, Response response)
Definition: BaseTest.java:30
URI url
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:56

◆ requestParameterMethodRS512Step1()

void org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.requestParameterMethodRS512Step1 ( final String  registerPath,
final String  redirectUris,
final String  jwksUri 
) throws Exception
inline
276  {
277  Builder request = ResteasyClientBuilder.newClient().target(url.toString() + registerPath).request();
278 
279  String registerRequestContent = null;
280  try {
281  List<ResponseType> responseTypes = Arrays.asList(ResponseType.TOKEN);
282 
283  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
284  StringUtils.spaceSeparatedToList(redirectUris));
285  registerRequest.setJwksUri(jwksUri);
286  registerRequest.setResponseTypes(responseTypes);
287  registerRequest.setRequestObjectSigningAlg(SignatureAlgorithm.RS512);
288  registerRequest.addCustomAttribute("oxAuthTrustedClient", "true");
289 
290  registerRequestContent = registerRequest.getJSONParameters().toString(4);
291  } catch (JSONException e) {
292  e.printStackTrace();
293  fail(e.getMessage());
294  }
295 
296  Response response = request.post(Entity.json(registerRequestContent));
297  String entity = response.readEntity(String.class);
298 
299  showResponse("requestParameterMethodRS512Step1", response, entity);
300 
301  ResponseAsserter responseAsserter = ResponseAsserter.of(response.getStatus(), entity);
302  responseAsserter.assertRegisterResponse();
303  clientId3 = responseAsserter.getJson().getJson().getString(RegisterResponseParam.CLIENT_ID.toString());
304  }
String jwksUri
Definition: BaseTest.java:80
void showResponse(String title, Response response)
Definition: BaseTest.java:30
static String clientId3
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:60
URI url
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:56

◆ requestParameterMethodRS512Step2()

void org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.requestParameterMethodRS512Step2 ( final String  authorizePath,
final String  userId,
final String  userSecret,
final String  redirectUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret 
) throws Exception
inline
311  {
312  Builder request = null;
313  try {
314  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
315 
316  List<ResponseType> responseTypes = Arrays.asList(ResponseType.TOKEN);
317  List<String> scopes = Arrays.asList("openid");
318  String nonce = UUID.randomUUID().toString();
319  String state = UUID.randomUUID().toString();
320 
321  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId3, scopes,
322  redirectUri, nonce);
323  authorizationRequest.setState(state);
324  authorizationRequest.getPrompts().add(Prompt.NONE);
325  authorizationRequest.setAuthUsername(userId);
326  authorizationRequest.setAuthPassword(userSecret);
327 
328  JwtAuthorizationRequest jwtAuthorizationRequest = new JwtAuthorizationRequest(authorizationRequest,
329  SignatureAlgorithm.RS512, cryptoProvider);
330  jwtAuthorizationRequest.setKeyId(keyId);
331  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.NAME, ClaimValue.createNull()));
332  jwtAuthorizationRequest
333  .addUserInfoClaim(new Claim(JwtClaimName.NICKNAME, ClaimValue.createEssential(false)));
334  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.EMAIL, ClaimValue.createNull()));
335  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.EMAIL_VERIFIED, ClaimValue.createNull()));
336  jwtAuthorizationRequest
337  .addUserInfoClaim(new Claim(JwtClaimName.PICTURE, ClaimValue.createEssential(false)));
338  jwtAuthorizationRequest
339  .addIdTokenClaim(new Claim(JwtClaimName.AUTHENTICATION_TIME, ClaimValue.createNull()));
340  jwtAuthorizationRequest.addIdTokenClaim(new Claim(JwtClaimName.AUTHENTICATION_CONTEXT_CLASS_REFERENCE,
341  ClaimValue.createValueList(new String[] { "2" })));
342  String authJwt = jwtAuthorizationRequest.getEncodedJwt();
343  authorizationRequest.setRequest(authJwt);
344  System.out.println("Request JWT: " + authJwt);
345 
346  request = ResteasyClientBuilder.newClient()
347  .target(url.toString() + authorizePath + "?" + authorizationRequest.getQueryString()).request();
348  request.header("Authorization", "Basic " + authorizationRequest.getEncodedCredentials());
349  request.header("Accept", MediaType.TEXT_PLAIN);
350  } catch (Exception e) {
351  fail(e.getMessage(), e);
352  }
353 
354  Response response = request.get();
355  String entity = response.readEntity(String.class);
356 
357  showResponse("requestParameterMethodRS512Step2", response, entity);
358 
359  assertEquals(response.getStatus(), 302, "Unexpected response code.");
360  assertNotNull(response.getLocation(), "Unexpected result: " + response.getLocation());
361 
362  try {
363  URI uri = new URI(response.getLocation().toString());
364  assertNotNull(uri.getFragment(), "Query string is null");
365 
366  Map<String, String> params = QueryStringDecoder.decode(uri.getFragment());
367 
368  assertNotNull(params.get("access_token"), "The accessToken is null");
369  assertNotNull(params.get("scope"), "The scope is null");
370  assertNotNull(params.get("state"), "The state is null");
371  } catch (URISyntaxException e) {
372  e.printStackTrace();
373  fail("Response URI is not well formed");
374  }
375  }
void showResponse(String title, Response response)
Definition: BaseTest.java:30
static String clientId3
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:60
URI url
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:56

◆ requestParameterMethodRS512X509CertStep1()

void org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.requestParameterMethodRS512X509CertStep1 ( final String  registerPath,
final String  redirectUris,
final String  jwksUri 
) throws Exception
inline
589  {
590  Builder request = ResteasyClientBuilder.newClient().target(url.toString() + registerPath).request();
591 
592  String registerRequestContent = null;
593  try {
594  List<ResponseType> responseTypes = Arrays.asList(ResponseType.TOKEN);
595 
596  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
597  StringUtils.spaceSeparatedToList(redirectUris));
598  registerRequest.setJwksUri(jwksUri);
599  registerRequest.setResponseTypes(responseTypes);
600  registerRequest.setRequestObjectSigningAlg(SignatureAlgorithm.RS512);
601  registerRequest.addCustomAttribute("oxAuthTrustedClient", "true");
602 
603  registerRequestContent = registerRequest.getJSONParameters().toString(4);
604  } catch (JSONException e) {
605  e.printStackTrace();
606  fail(e.getMessage());
607  }
608 
609  Response response = request.post(Entity.json(registerRequestContent));
610  String entity = response.readEntity(String.class);
611 
612  showResponse("requestParameterMethodRS512X509CertStep1", response, entity);
613 
614  ResponseAsserter responseAsserter = ResponseAsserter.of(response.getStatus(), entity);
615  responseAsserter.assertRegisterResponse();
616  clientId6 = responseAsserter.getJson().getJson().getString(RegisterResponseParam.CLIENT_ID.toString());
617  }
String jwksUri
Definition: BaseTest.java:80
void showResponse(String title, Response response)
Definition: BaseTest.java:30
URI url
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:56
static String clientId6
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:63

◆ requestParameterMethodRS512X509CertStep2()

void org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.requestParameterMethodRS512X509CertStep2 ( final String  authorizePath,
final String  userId,
final String  userSecret,
final String  redirectUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret 
) throws Exception
inline
624  {
625  Builder request = null;
626  try {
627  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
628 
629  List<ResponseType> responseTypes = Arrays.asList(ResponseType.TOKEN);
630  List<String> scopes = Arrays.asList("openid");
631  String nonce = UUID.randomUUID().toString();
632  String state = UUID.randomUUID().toString();
633 
634  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId6, scopes,
635  redirectUri, nonce);
636  authorizationRequest.setState(state);
637  authorizationRequest.getPrompts().add(Prompt.NONE);
638  authorizationRequest.setAuthUsername(userId);
639  authorizationRequest.setAuthPassword(userSecret);
640 
641  JwtAuthorizationRequest jwtAuthorizationRequest = new JwtAuthorizationRequest(authorizationRequest,
642  SignatureAlgorithm.RS512, cryptoProvider);
643  jwtAuthorizationRequest.setKeyId(keyId);
644  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.NAME, ClaimValue.createNull()));
645  jwtAuthorizationRequest
646  .addUserInfoClaim(new Claim(JwtClaimName.NICKNAME, ClaimValue.createEssential(false)));
647  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.EMAIL, ClaimValue.createNull()));
648  jwtAuthorizationRequest.addUserInfoClaim(new Claim(JwtClaimName.EMAIL_VERIFIED, ClaimValue.createNull()));
649  jwtAuthorizationRequest
650  .addUserInfoClaim(new Claim(JwtClaimName.PICTURE, ClaimValue.createEssential(false)));
651  jwtAuthorizationRequest
652  .addIdTokenClaim(new Claim(JwtClaimName.AUTHENTICATION_TIME, ClaimValue.createNull()));
653  jwtAuthorizationRequest.addIdTokenClaim(new Claim(JwtClaimName.AUTHENTICATION_CONTEXT_CLASS_REFERENCE,
654  ClaimValue.createValueList(new String[] { "2" })));
655  String authJwt = jwtAuthorizationRequest.getEncodedJwt();
656  authorizationRequest.setRequest(authJwt);
657  System.out.println("Request JWT: " + authJwt);
658 
659  request = ResteasyClientBuilder.newClient()
660  .target(url.toString() + authorizePath + "?" + authorizationRequest.getQueryString()).request();
661  request.header("Authorization", "Basic " + authorizationRequest.getEncodedCredentials());
662  request.header("Accept", MediaType.TEXT_PLAIN);
663  } catch (Exception e) {
664  fail(e.getMessage(), e);
665  }
666 
667  Response response = request.get();
668  String entity = response.readEntity(String.class);
669 
670  showResponse("requestParameterMethodRS512X509CertStep2", response, entity);
671 
672  assertEquals(response.getStatus(), 302, "Unexpected response code.");
673  assertNotNull(response.getLocation(), "Unexpected result: " + response.getLocation());
674 
675  try {
676  URI uri = new URI(response.getLocation().toString());
677  assertNotNull(uri.getFragment(), "Query string is null");
678 
679  Map<String, String> params = QueryStringDecoder.decode(uri.getFragment());
680 
681  assertNotNull(params.get("access_token"), "The accessToken is null");
682  assertNotNull(params.get("scope"), "The scope is null");
683  assertNotNull(params.get("state"), "The state is null");
684  } catch (URISyntaxException e) {
685  e.printStackTrace();
686  fail("Response URI is not well formed");
687  }
688  }
void showResponse(String title, Response response)
Definition: BaseTest.java:30
URI url
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:56
static String clientId6
Definition: OpenIDRequestObjectWithRSAlgEmbeddedTest.java:63

◆ setAuthorizationEndpoint()

void org.xdi.oxauth.BaseTest.setAuthorizationEndpoint ( String  authorizationEndpoint)
inlineinherited
138  {
140  }
String authorizationEndpoint
Definition: BaseTest.java:72

◆ setCheckSessionIFrame()

void org.xdi.oxauth.BaseTest.setCheckSessionIFrame ( String  checkSessionIFrame)
inlineinherited
170  {
172  }
String checkSessionIFrame
Definition: BaseTest.java:78

◆ setClientInfoEndpoint()

void org.xdi.oxauth.BaseTest.setClientInfoEndpoint ( String  clientInfoEndpoint)
inlineinherited
162  {
164  }
String clientInfoEndpoint
Definition: BaseTest.java:77

◆ setConfigurationEndpoint()

void org.xdi.oxauth.BaseTest.setConfigurationEndpoint ( String  configurationEndpoint)
inlineinherited
226  {
228  }
String configurationEndpoint
Definition: BaseTest.java:82

◆ setDriver()

void org.xdi.oxauth.BaseTest.setDriver ( WebDriver  driver)
inlineinherited
130  {
131  this.driver = driver;
132  }
WebDriver driver
Definition: BaseTest.java:70

◆ setEndSessionEndpoint()

void org.xdi.oxauth.BaseTest.setEndSessionEndpoint ( String  endSessionEndpoint)
inlineinherited
178  {
180  }
String endSessionEndpoint
Definition: BaseTest.java:79

◆ setIdGenEndpoint()

void org.xdi.oxauth.BaseTest.setIdGenEndpoint ( String  p_idGenEndpoint)
inlineinherited
218  {
219  idGenEndpoint = p_idGenEndpoint;
220  }
String idGenEndpoint
Definition: BaseTest.java:83

◆ setIntrospectionEndpoint()

void org.xdi.oxauth.BaseTest.setIntrospectionEndpoint ( String  p_introspectionEndpoint)
inlineinherited
202  {
203  introspectionEndpoint = p_introspectionEndpoint;
204  }
String introspectionEndpoint
Definition: BaseTest.java:84

◆ setJwksUri()

void org.xdi.oxauth.BaseTest.setJwksUri ( String  jwksUri)
inlineinherited
186  {
187  this.jwksUri = jwksUri;
188  }
String jwksUri
Definition: BaseTest.java:80

◆ setRegistrationEndpoint()

void org.xdi.oxauth.BaseTest.setRegistrationEndpoint ( String  registrationEndpoint)
inlineinherited
194  {
196  }
String registrationEndpoint
Definition: BaseTest.java:81

◆ setScopeToClaimsMapping()

void org.xdi.oxauth.BaseTest.setScopeToClaimsMapping ( Map< String, List< String >>  p_scopeToClaimsMapping)
inlineinherited
210  {
211  scopeToClaimsMapping = p_scopeToClaimsMapping;
212  }
Map< String, List< String > > scopeToClaimsMapping
Definition: BaseTest.java:85

◆ setTokenEndpoint()

void org.xdi.oxauth.BaseTest.setTokenEndpoint ( String  tokenEndpoint)
inlineinherited
146  {
148  }
String tokenEndpoint
Definition: BaseTest.java:75

◆ setUserInfoEndpoint()

void org.xdi.oxauth.BaseTest.setUserInfoEndpoint ( String  userInfoEndpoint)
inlineinherited
154  {
156  }
String userInfoEndpoint
Definition: BaseTest.java:76

◆ showClient() [1/2]

static void org.xdi.oxauth.BaseTest.showClient ( BaseClient  client)
inlinestaticinherited
775  {
776  ClientUtils.showClient(client);
777  }
Definition: ClientUtils.java:17
static void showClient(BaseClient client)
Definition: ClientUtils.java:21

◆ showClient() [2/2]

static void org.xdi.oxauth.BaseTest.showClient ( BaseClient  client,
CookieStore  cookieStore 
)
inlinestaticinherited
779  {
780  ClientUtils.showClient(client, cookieStore);
781  }
Definition: ClientUtils.java:17
static void showClient(BaseClient client)
Definition: ClientUtils.java:21

◆ showClientUserAgent()

static void org.xdi.oxauth.BaseTest.showClientUserAgent ( BaseClient  client)
inlinestaticinherited
783  {
785  }
Definition: ClientUtils.java:17
static void showClientUserAgent(BaseClient client)
Definition: ClientUtils.java:35

◆ showEntity()

void org.xdi.oxauth.BaseTest.showEntity ( String  entity)
inlineinherited
769  {
770  if (entity != null) {
771  System.out.println("Entity: " + entity.replace("\\n", "\n"));
772  }
773  }

◆ showResponse() [1/2]

void org.xdi.oxauth.BaseTest.showResponse ( String  title,
Response  response 
)
inlineinherited
30  {
31  showResponse(title, response, null);
32  }
void showResponse(String title, Response response)
Definition: BaseTest.java:30

◆ showResponse() [2/2]

static void org.xdi.oxauth.BaseTest.showResponse ( String  title,
Response  response,
Object  entity 
)
inlinestaticinherited
34  {
35  System.out.println(" ");
36  System.out.println("RESPONSE FOR: " + title);
37  System.out.println(response.getStatus());
38  for (Entry<String, List<Object>> headers : response.getHeaders().entrySet()) {
39  String headerName = headers.getKey();
40  System.out.println(headerName + ": " + headers.getValue());
41  }
42 
43  if (entity != null) {
44  System.out.println(entity.toString().replace("\\n", "\n"));
45  }
46  System.out.println(" ");
47  System.out.println("Status message: " + response.getStatus());
48  }

◆ showTitle() [1/2]

void org.xdi.oxauth.BaseTest.showTitle ( String  title)
inlineinherited
22  {
23  title = "TEST: " + title;
24 
25  System.out.println("#######################################################");
26  System.out.println(title);
27  System.out.println("#######################################################");
28  }

◆ showTitle() [2/2]

void org.xdi.oxauth.BaseTest.showTitle ( String  title)
inlineinherited
761  {
762  title = "TEST: " + title;
763 
764  System.out.println("#######################################################");
765  System.out.println(title);
766  System.out.println("#######################################################");
767  }

◆ startSelenium()

void org.xdi.oxauth.BaseTest.startSelenium ( )
inlineinherited
230  {
231  //System.setProperty("webdriver.chrome.driver", "/Users/JAVIER/tmp/chromedriver");
232  //driver = new ChromeDriver();
233 
234  //driver = new SafariDriver();
235 
236  //driver = new FirefoxDriver();
237 
238  //driver = new InternetExplorerDriver();
239 
240  driver = new HtmlUnitDriver(true);
241  }
WebDriver driver
Definition: BaseTest.java:70

◆ stopSelenium()

void org.xdi.oxauth.BaseTest.stopSelenium ( )
inlineinherited
243  {
244 // driver.close();
245  driver.quit();
246  }
WebDriver driver
Definition: BaseTest.java:70

◆ waitForResourceOwnerAndGrantLoginForm() [1/2]

String org.xdi.oxauth.BaseTest.waitForResourceOwnerAndGrantLoginForm ( String  authorizeUrl,
AuthorizationRequest  authorizationRequest,
boolean  cleanupCookies 
)
inlineinherited

Try to open login form (via the user-agent)

617  {
618  String authorizationRequestUrl = authorizeUrl + "?" + authorizationRequest.getQueryString();
619 
620  AuthorizeClient authorizeClient = new AuthorizeClient(authorizeUrl);
621  authorizeClient.setRequest(authorizationRequest);
622 
623  System.out.println("waitForResourceOwnerAndGrantLoginForm: authorizationRequestUrl:" + authorizationRequestUrl);
624  startSelenium();
625  if (cleanupCookies) {
626  System.out.println("waitForResourceOwnerAndGrantLoginForm: Cleaning cookies");
628  }
629  driver.navigate().to(authorizationRequestUrl);
630 
631  WebElement usernameElement = driver.findElement(By.name(loginFormUsername));
632  WebElement passwordElement = driver.findElement(By.name(loginFormPassword));
633  WebElement loginButton = driver.findElement(By.name(loginFormLoginButton));
634 
635  if ((usernameElement == null) || (passwordElement == null) || (loginButton == null)) {
636  return null;
637  }
638 
639  Cookie sessionStateCookie = driver.manage().getCookieNamed("session_state");
640  String sessionState = null;
641  if (sessionStateCookie != null) {
642  sessionState = sessionStateCookie.getValue();
643  }
644  System.out.println("waitForResourceOwnerAndGrantLoginForm: sessionState:" + sessionState);
645 
646  stopSelenium();
647 
648  showClientUserAgent(authorizeClient);
649 
650  return sessionState;
651  }
String loginFormUsername
Definition: BaseTest.java:88
String loginFormPassword
Definition: BaseTest.java:89
void deleteAllCookies()
Definition: BaseTest.java:661
void stopSelenium()
Definition: BaseTest.java:243
Definition: AuthorizeClient.java:29
void startSelenium()
Definition: BaseTest.java:230
String loginFormLoginButton
Definition: BaseTest.java:90
void setRequest(T request)
Definition: BaseClient.java:68
WebDriver driver
Definition: BaseTest.java:70
String getQueryString()
Definition: AuthorizationRequest.java:486
static void showClientUserAgent(BaseClient client)
Definition: BaseTest.java:783

◆ waitForResourceOwnerAndGrantLoginForm() [2/2]

String org.xdi.oxauth.BaseTest.waitForResourceOwnerAndGrantLoginForm ( String  authorizeUrl,
AuthorizationRequest  authorizationRequest 
)
inlineinherited

Try to open login form (via the user-agent)

657  {
658  return waitForResourceOwnerAndGrantLoginForm(authorizeUrl, authorizationRequest, true);
659  }
String waitForResourceOwnerAndGrantLoginForm(String authorizeUrl, AuthorizationRequest authorizationRequest, boolean cleanupCookies)
Definition: BaseTest.java:616

メンバ詳解

◆ authorizationEndpoint

String org.xdi.oxauth.BaseTest.authorizationEndpoint
protectedinherited

◆ authorizationPageEndpoint

String org.xdi.oxauth.BaseTest.authorizationPageEndpoint
protectedinherited

◆ checkSessionIFrame

String org.xdi.oxauth.BaseTest.checkSessionIFrame
protectedinherited

◆ clientId1

String org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.clientId1
staticprivate

◆ clientId2

String org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.clientId2
staticprivate

◆ clientId3

String org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.clientId3
staticprivate

◆ clientId4

String org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.clientId4
staticprivate

◆ clientId5

String org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.clientId5
staticprivate

◆ clientId6

String org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.clientId6
staticprivate

◆ clientInfoEndpoint

String org.xdi.oxauth.BaseTest.clientInfoEndpoint
protectedinherited

◆ configurationEndpoint

String org.xdi.oxauth.BaseTest.configurationEndpoint
protectedinherited

◆ driver

WebDriver org.xdi.oxauth.BaseTest.driver
protectedinherited

◆ endSessionEndpoint

String org.xdi.oxauth.BaseTest.endSessionEndpoint
protectedinherited

◆ gluuConfigurationEndpoint

String org.xdi.oxauth.BaseTest.gluuConfigurationEndpoint
protectedinherited

◆ idGenEndpoint

String org.xdi.oxauth.BaseTest.idGenEndpoint
protectedinherited

◆ introspectionEndpoint

String org.xdi.oxauth.BaseTest.introspectionEndpoint
protectedinherited

◆ jwksUri

String org.xdi.oxauth.BaseTest.jwksUri
protectedinherited

◆ registrationEndpoint

String org.xdi.oxauth.BaseTest.registrationEndpoint
protectedinherited

◆ scopeToClaimsMapping

Map<String, List<String> > org.xdi.oxauth.BaseTest.scopeToClaimsMapping
protectedinherited

◆ testData

FileConfiguration org.xdi.oxauth.ConfigurableTest.testData
staticinherited

◆ tokenEndpoint

String org.xdi.oxauth.BaseTest.tokenEndpoint
protectedinherited

◆ url

URI org.xdi.oxauth.ws.rs.OpenIDRequestObjectWithRSAlgEmbeddedTest.url
private

◆ userInfoEndpoint

String org.xdi.oxauth.BaseTest.userInfoEndpoint
protectedinherited

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