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

公開メンバ関数

void encodeClaimsInStateParameterHS256 (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri) throws Exception
 
void encodeClaimsInStateParameterHS384 (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri) throws Exception
 
void encodeClaimsInStateParameterHS512 (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri) throws Exception
 
void encodeClaimsInStateParameterRS256 (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri, final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId) throws Exception
 
void encodeClaimsInStateParameterRS384 (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri, final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId) throws Exception
 
void encodeClaimsInStateParameterRS512 (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri, final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId) throws Exception
 
void encodeClaimsInStateParameterES256 (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri, final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId) throws Exception
 
void encodeClaimsInStateParameterES384 (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri, final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId) throws Exception
 
void encodeClaimsInStateParameterES512 (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri, final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId) throws Exception
 
void encodeClaimsInStateParameterAlgRSAOAEPEncA256GCM (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri, final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId, final String clientJwksUri) throws Exception
 
void encodeClaimsInStateParameterAlgRSA15EncA128CBCPLUSHS256 (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri, final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId, final String clientJwksUri) throws Exception
 
void encodeClaimsInStateParameterAlgRSA15EncA256CBCPLUSHS512 (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri, final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId, final String clientJwksUri) throws Exception
 
void encodeClaimsInStateParameterAlgA128KWEncA128GCM (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri) throws Exception
 
void encodeClaimsInStateParameterAlgA256KWEncA256GCM (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri) throws Exception
 
void jwtStateNONETest () throws Exception
 
void jwtStateHS256Test () throws Exception
 
void jwtStateHS384Test () throws Exception
 
void jwtStateHS512Test () throws Exception
 
void jwtStateRS256Test (final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId) throws Exception
 
void jwtStateRS384Test (final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId) throws Exception
 
void jwtStateRS512Test (final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId) throws Exception
 
void jwtStateES256Test (final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId) throws Exception
 
void jwtStateES384Test (final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId) throws Exception
 
void jwtStateES512Test (final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId) throws Exception
 
void jwtStateAlgRSAOAEPEncA256GCMTest (final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId, final String clientJwksUri) throws Exception
 
void jwtStateAlgRSA15EncA128CBCPLUSHS256Test (final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId, final String clientJwksUri) throws Exception
 
void jwtStateAlgRSA15EncA256CBCPLUSHS512Test (final String keyStoreFile, final String keyStoreSecret, final String dnName, final String keyId, final String clientJwksUri) throws Exception
 
void jwtStateAlgA128KWEncA128GCMTest () throws Exception
 
void jwtStateAlgA256KWEncA256GCMTest () 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
 

非公開変数類

final String additionalClaims = "{first_name: 'Javier', last_name: 'Rojas', age: 34, more: ['foo', 'bar']}"
 

詳解

著者
Javier Rojas Blum
バージョン
May 3, 2017

関数詳解

◆ 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

◆ encodeClaimsInStateParameterAlgA128KWEncA128GCM()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterAlgA128KWEncA128GCM ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri 
) throws Exception
inline
898  {
899  showTitle("encodeClaimsInStateParameterAlgA128KWEncA128GCM");
900 
901  List<ResponseType> responseTypes = Arrays.asList(
904 
905  // 1. Register client
906  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
907  StringUtils.spaceSeparatedToList(redirectUris));
908  registerRequest.setResponseTypes(responseTypes);
909  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
910 
911  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
912  registerClient.setRequest(registerRequest);
913  RegisterResponse registerResponse = registerClient.exec();
914 
915  showClient(registerClient);
916  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
917  assertNotNull(registerResponse.getClientId());
918  assertNotNull(registerResponse.getClientSecret());
919  assertNotNull(registerResponse.getRegistrationAccessToken());
920  assertNotNull(registerResponse.getClientIdIssuedAt());
921  assertNotNull(registerResponse.getClientSecretExpiresAt());
922 
923  String clientId = registerResponse.getClientId();
924  String clientSecret = registerResponse.getClientSecret();
925 
926  // 2. Request authorization
927  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
928  String nonce = UUID.randomUUID().toString();
929  String rfp = UUID.randomUUID().toString();
930  String jti = UUID.randomUUID().toString();
931 
932  JwtState jwtState = new JwtState(KeyEncryptionAlgorithm.A128KW, BlockEncryptionAlgorithm.A128GCM, clientSecret);
933  jwtState.setRfp(rfp);
934  jwtState.setJti(jti);
935  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
936  String encodedState = jwtState.getEncodedJwt();
937 
938  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
939  authorizationRequest.setState(encodedState);
940 
942  authorizationEndpoint, authorizationRequest, userId, userSecret);
943 
944  assertNotNull(authorizationResponse.getLocation(), "The location is null");
945  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
946  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
947  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
948  assertNotNull(authorizationResponse.getState(), "The state is null");
949 
950  String state = authorizationResponse.getState();
951 
952  // 3. Decrypt state
953  Jwe jwe = Jwe.parse(state, null, clientSecret.getBytes());
954  assertNotNull(jwe.getClaims().getClaimAsString(RFP));
955  assertNotNull(jwe.getClaims().getClaimAsString(JTI));
956  assertNotNull(jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS));
957 
958  JSONObject addClaims = jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS);
959  assertEquals(addClaims.getString("first_name"), "Javier");
960  assertEquals(addClaims.getString("last_name"), "Rojas");
961  assertEquals(addClaims.getInt("age"), 34);
962  assertNotNull(addClaims.getJSONArray("more"));
963  assertEquals(addClaims.getJSONArray("more").length(), 2);
964  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
JSONObject getClaimAsJSON(String key)
Definition: JwtClaimSet.java:65
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
static Jwe parse(String encodedJwe, PrivateKey privateKey, byte[] sharedSymmetricKey)
Definition: Jwe.java:83
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
static void showClient(BaseClient client)
Definition: BaseTest.java:775
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Definition: KeyEncryptionAlgorithm.java:12
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
A128KW
Definition: KeyEncryptionAlgorithm.java:16
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
Definition: Jwe.java:19
Definition: BlockEncryptionAlgorithm.java:12
A128GCM
Definition: BlockEncryptionAlgorithm.java:16
TOKEN
Definition: ResponseType.java:43
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ encodeClaimsInStateParameterAlgA256KWEncA256GCM()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterAlgA256KWEncA256GCM ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri 
) throws Exception
inline
970  {
971  showTitle("encodeClaimsInStateParameterAlgA256KWEncA256GCM");
972 
973  List<ResponseType> responseTypes = Arrays.asList(
976 
977  // 1. Register client
978  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
979  StringUtils.spaceSeparatedToList(redirectUris));
980  registerRequest.setResponseTypes(responseTypes);
981  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
982 
983  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
984  registerClient.setRequest(registerRequest);
985  RegisterResponse registerResponse = registerClient.exec();
986 
987  showClient(registerClient);
988  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
989  assertNotNull(registerResponse.getClientId());
990  assertNotNull(registerResponse.getClientSecret());
991  assertNotNull(registerResponse.getRegistrationAccessToken());
992  assertNotNull(registerResponse.getClientIdIssuedAt());
993  assertNotNull(registerResponse.getClientSecretExpiresAt());
994 
995  String clientId = registerResponse.getClientId();
996  String clientSecret = registerResponse.getClientSecret();
997 
998  // 2. Request authorization
999  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
1000  String nonce = UUID.randomUUID().toString();
1001  String rfp = UUID.randomUUID().toString();
1002  String jti = UUID.randomUUID().toString();
1003 
1004  JwtState jwtState = new JwtState(KeyEncryptionAlgorithm.A256KW, BlockEncryptionAlgorithm.A256GCM, clientSecret);
1005  jwtState.setRfp(rfp);
1006  jwtState.setJti(jti);
1007  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1008  String encodedState = jwtState.getEncodedJwt();
1009 
1010  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
1011  authorizationRequest.setState(encodedState);
1012 
1014  authorizationEndpoint, authorizationRequest, userId, userSecret);
1015 
1016  assertNotNull(authorizationResponse.getLocation(), "The location is null");
1017  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
1018  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
1019  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
1020  assertNotNull(authorizationResponse.getState(), "The state is null");
1021 
1022  String state = authorizationResponse.getState();
1023 
1024  // 3. Decrypt state
1025  Jwe jwe = Jwe.parse(state, null, clientSecret.getBytes());
1026  assertNotNull(jwe.getClaims().getClaimAsString(RFP));
1027  assertNotNull(jwe.getClaims().getClaimAsString(JTI));
1028  assertNotNull(jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS));
1029 
1030  JSONObject addClaims = jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS);
1031  assertEquals(addClaims.getString("first_name"), "Javier");
1032  assertEquals(addClaims.getString("last_name"), "Rojas");
1033  assertEquals(addClaims.getInt("age"), 34);
1034  assertNotNull(addClaims.getJSONArray("more"));
1035  assertEquals(addClaims.getJSONArray("more").length(), 2);
1036  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
JSONObject getClaimAsJSON(String key)
Definition: JwtClaimSet.java:65
Definition: RegisterResponse.java:34
A256GCM
Definition: BlockEncryptionAlgorithm.java:17
String getState()
Definition: AuthorizationResponse.java:314
static Jwe parse(String encodedJwe, PrivateKey privateKey, byte[] sharedSymmetricKey)
Definition: Jwe.java:83
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
static void showClient(BaseClient client)
Definition: BaseTest.java:775
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Definition: KeyEncryptionAlgorithm.java:12
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
A256KW
Definition: KeyEncryptionAlgorithm.java:17
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
Definition: Jwe.java:19
Definition: BlockEncryptionAlgorithm.java:12
TOKEN
Definition: ResponseType.java:43
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ encodeClaimsInStateParameterAlgRSA15EncA128CBCPLUSHS256()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterAlgRSA15EncA128CBCPLUSHS256 ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId,
final String  clientJwksUri 
) throws Exception
inline
742  {
743  showTitle("encodeClaimsInStateParameterAlgRSA15EncA128CBCPLUSHS256");
744 
745  List<ResponseType> responseTypes = Arrays.asList(
748 
749  // 1. Register client
750  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
751  StringUtils.spaceSeparatedToList(redirectUris));
752  registerRequest.setResponseTypes(responseTypes);
753  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
754 
755  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
756  registerClient.setRequest(registerRequest);
757  RegisterResponse registerResponse = registerClient.exec();
758 
759  showClient(registerClient);
760  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
761  assertNotNull(registerResponse.getClientId());
762  assertNotNull(registerResponse.getClientSecret());
763  assertNotNull(registerResponse.getRegistrationAccessToken());
764  assertNotNull(registerResponse.getClientIdIssuedAt());
765  assertNotNull(registerResponse.getClientSecretExpiresAt());
766 
767  String clientId = registerResponse.getClientId();
768 
769  // 2. Request authorization
770  JSONObject jwks = JwtUtil.getJSONWebKeys(clientJwksUri);
771  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
772 
773  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
774  String nonce = UUID.randomUUID().toString();
775  String rfp = UUID.randomUUID().toString();
776  String jti = UUID.randomUUID().toString();
777 
778  JwtState jwtState = new JwtState(KeyEncryptionAlgorithm.RSA1_5, BlockEncryptionAlgorithm.A128CBC_PLUS_HS256, cryptoProvider);
779  jwtState.setKeyId(keyId);
780  jwtState.setRfp(rfp);
781  jwtState.setJti(jti);
782  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
783  String encodedState = jwtState.getEncodedJwt(jwks);
784 
785  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
786  authorizationRequest.setState(encodedState);
787 
789  authorizationEndpoint, authorizationRequest, userId, userSecret);
790 
791  assertNotNull(authorizationResponse.getLocation(), "The location is null");
792  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
793  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
794  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
795  assertNotNull(authorizationResponse.getState(), "The state is null");
796 
797  String state = authorizationResponse.getState();
798 
799  // 3. Decrypt state
800  PrivateKey privateKey = cryptoProvider.getPrivateKey(keyId);
801  Jwe jwe = Jwe.parse(state, privateKey, null);
802  assertNotNull(jwe.getClaims().getClaimAsString(KID));
803  assertNotNull(jwe.getClaims().getClaimAsString(RFP));
804  assertNotNull(jwe.getClaims().getClaimAsString(JTI));
805  assertNotNull(jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS));
806 
807  JSONObject addClaims = jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS);
808  assertEquals(addClaims.getString("first_name"), "Javier");
809  assertEquals(addClaims.getString("last_name"), "Rojas");
810  assertEquals(addClaims.getInt("age"), 34);
811  assertNotNull(addClaims.getJSONArray("more"));
812  assertEquals(addClaims.getJSONArray("more").length(), 2);
813  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
A128CBC_PLUS_HS256
Definition: BlockEncryptionAlgorithm.java:14
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
JSONObject getClaimAsJSON(String key)
Definition: JwtClaimSet.java:65
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
static Jwe parse(String encodedJwe, PrivateKey privateKey, byte[] sharedSymmetricKey)
Definition: Jwe.java:83
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: JwtUtil.java:38
PrivateKey getPrivateKey(String alias)
Definition: OxAuthCryptoProvider.java:264
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Definition: KeyEncryptionAlgorithm.java:12
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
Definition: Jwe.java:19
Definition: BlockEncryptionAlgorithm.java:12
RSA1_5
Definition: KeyEncryptionAlgorithm.java:14
TOKEN
Definition: ResponseType.java:43
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
static JSONObject getJSONWebKeys(String jwksUri)
Definition: JwtUtil.java:203
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ encodeClaimsInStateParameterAlgRSA15EncA256CBCPLUSHS512()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterAlgRSA15EncA256CBCPLUSHS512 ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId,
final String  clientJwksUri 
) throws Exception
inline
821  {
822  showTitle("encodeClaimsInStateParameterAlgRSA15EncA256CBCPLUSHS512");
823 
824  List<ResponseType> responseTypes = Arrays.asList(
827 
828  // 1. Register client
829  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
830  StringUtils.spaceSeparatedToList(redirectUris));
831  registerRequest.setResponseTypes(responseTypes);
832  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
833 
834  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
835  registerClient.setRequest(registerRequest);
836  RegisterResponse registerResponse = registerClient.exec();
837 
838  showClient(registerClient);
839  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
840  assertNotNull(registerResponse.getClientId());
841  assertNotNull(registerResponse.getClientSecret());
842  assertNotNull(registerResponse.getRegistrationAccessToken());
843  assertNotNull(registerResponse.getClientIdIssuedAt());
844  assertNotNull(registerResponse.getClientSecretExpiresAt());
845 
846  String clientId = registerResponse.getClientId();
847 
848  // 2. Request authorization
849  JSONObject jwks = JwtUtil.getJSONWebKeys(clientJwksUri);
850  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
851 
852  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
853  String nonce = UUID.randomUUID().toString();
854  String rfp = UUID.randomUUID().toString();
855  String jti = UUID.randomUUID().toString();
856 
857  JwtState jwtState = new JwtState(KeyEncryptionAlgorithm.RSA1_5, BlockEncryptionAlgorithm.A256CBC_PLUS_HS512, cryptoProvider);
858  jwtState.setKeyId(keyId);
859  jwtState.setRfp(rfp);
860  jwtState.setJti(jti);
861  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
862  String encodedState = jwtState.getEncodedJwt(jwks);
863 
864  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
865  authorizationRequest.setState(encodedState);
866 
868  authorizationEndpoint, authorizationRequest, userId, userSecret);
869 
870  assertNotNull(authorizationResponse.getLocation(), "The location is null");
871  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
872  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
873  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
874  assertNotNull(authorizationResponse.getState(), "The state is null");
875 
876  String state = authorizationResponse.getState();
877 
878  // 3. Decrypt state
879  PrivateKey privateKey = cryptoProvider.getPrivateKey(keyId);
880  Jwe jwe = Jwe.parse(state, privateKey, null);
881  assertNotNull(jwe.getClaims().getClaimAsString(KID));
882  assertNotNull(jwe.getClaims().getClaimAsString(RFP));
883  assertNotNull(jwe.getClaims().getClaimAsString(JTI));
884  assertNotNull(jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS));
885 
886  JSONObject addClaims = jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS);
887  assertEquals(addClaims.getString("first_name"), "Javier");
888  assertEquals(addClaims.getString("last_name"), "Rojas");
889  assertEquals(addClaims.getInt("age"), 34);
890  assertNotNull(addClaims.getJSONArray("more"));
891  assertEquals(addClaims.getJSONArray("more").length(), 2);
892  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
JSONObject getClaimAsJSON(String key)
Definition: JwtClaimSet.java:65
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
static Jwe parse(String encodedJwe, PrivateKey privateKey, byte[] sharedSymmetricKey)
Definition: Jwe.java:83
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: JwtUtil.java:38
PrivateKey getPrivateKey(String alias)
Definition: OxAuthCryptoProvider.java:264
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Definition: KeyEncryptionAlgorithm.java:12
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
A256CBC_PLUS_HS512
Definition: BlockEncryptionAlgorithm.java:15
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
Definition: Jwe.java:19
Definition: BlockEncryptionAlgorithm.java:12
RSA1_5
Definition: KeyEncryptionAlgorithm.java:14
TOKEN
Definition: ResponseType.java:43
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
static JSONObject getJSONWebKeys(String jwksUri)
Definition: JwtUtil.java:203
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ encodeClaimsInStateParameterAlgRSAOAEPEncA256GCM()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterAlgRSAOAEPEncA256GCM ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId,
final String  clientJwksUri 
) throws Exception
inline
663  {
664  showTitle("encodeClaimsInStateParameterAlgRSAOAEPEncA256GCM");
665 
666  List<ResponseType> responseTypes = Arrays.asList(
669 
670  // 1. Register client
671  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
672  StringUtils.spaceSeparatedToList(redirectUris));
673  registerRequest.setResponseTypes(responseTypes);
674  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
675 
676  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
677  registerClient.setRequest(registerRequest);
678  RegisterResponse registerResponse = registerClient.exec();
679 
680  showClient(registerClient);
681  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
682  assertNotNull(registerResponse.getClientId());
683  assertNotNull(registerResponse.getClientSecret());
684  assertNotNull(registerResponse.getRegistrationAccessToken());
685  assertNotNull(registerResponse.getClientIdIssuedAt());
686  assertNotNull(registerResponse.getClientSecretExpiresAt());
687 
688  String clientId = registerResponse.getClientId();
689 
690  // 2. Request authorization
691  JSONObject jwks = JwtUtil.getJSONWebKeys(clientJwksUri);
692  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
693 
694  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
695  String nonce = UUID.randomUUID().toString();
696  String rfp = UUID.randomUUID().toString();
697  String jti = UUID.randomUUID().toString();
698 
699  JwtState jwtState = new JwtState(KeyEncryptionAlgorithm.RSA_OAEP, BlockEncryptionAlgorithm.A256GCM, cryptoProvider);
700  jwtState.setKeyId(keyId);
701  jwtState.setRfp(rfp);
702  jwtState.setJti(jti);
703  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
704  String encodedState = jwtState.getEncodedJwt(jwks);
705 
706  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
707  authorizationRequest.setState(encodedState);
708 
710  authorizationEndpoint, authorizationRequest, userId, userSecret);
711 
712  assertNotNull(authorizationResponse.getLocation(), "The location is null");
713  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
714  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
715  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
716  assertNotNull(authorizationResponse.getState(), "The state is null");
717 
718  String state = authorizationResponse.getState();
719 
720  // 3. Decrypt state
721  PrivateKey privateKey = cryptoProvider.getPrivateKey(keyId);
722  Jwe jwe = Jwe.parse(state, privateKey, null);
723  assertNotNull(jwe.getClaims().getClaimAsString(KID));
724  assertNotNull(jwe.getClaims().getClaimAsString(RFP));
725  assertNotNull(jwe.getClaims().getClaimAsString(JTI));
726  assertNotNull(jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS));
727 
728  JSONObject addClaims = jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS);
729  assertEquals(addClaims.getString("first_name"), "Javier");
730  assertEquals(addClaims.getString("last_name"), "Rojas");
731  assertEquals(addClaims.getInt("age"), 34);
732  assertNotNull(addClaims.getJSONArray("more"));
733  assertEquals(addClaims.getJSONArray("more").length(), 2);
734  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
JSONObject getClaimAsJSON(String key)
Definition: JwtClaimSet.java:65
Definition: RegisterResponse.java:34
A256GCM
Definition: BlockEncryptionAlgorithm.java:17
String getState()
Definition: AuthorizationResponse.java:314
static Jwe parse(String encodedJwe, PrivateKey privateKey, byte[] sharedSymmetricKey)
Definition: Jwe.java:83
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: JwtUtil.java:38
PrivateKey getPrivateKey(String alias)
Definition: OxAuthCryptoProvider.java:264
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Definition: KeyEncryptionAlgorithm.java:12
RSA_OAEP
Definition: KeyEncryptionAlgorithm.java:15
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
Definition: Jwe.java:19
Definition: BlockEncryptionAlgorithm.java:12
TOKEN
Definition: ResponseType.java:43
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
static JSONObject getJSONWebKeys(String jwksUri)
Definition: JwtUtil.java:203
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ encodeClaimsInStateParameterES256()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterES256 ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId 
) throws Exception
inline
456  {
457  showTitle("encodeClaimsInStateParameterES256");
458 
459  List<ResponseType> responseTypes = Arrays.asList(
462 
463  // 1. Register client
464  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
465  StringUtils.spaceSeparatedToList(redirectUris));
466  registerRequest.setResponseTypes(responseTypes);
467  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
468 
469  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
470  registerClient.setRequest(registerRequest);
471  RegisterResponse registerResponse = registerClient.exec();
472 
473  showClient(registerClient);
474  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
475  assertNotNull(registerResponse.getClientId());
476  assertNotNull(registerResponse.getClientSecret());
477  assertNotNull(registerResponse.getRegistrationAccessToken());
478  assertNotNull(registerResponse.getClientIdIssuedAt());
479  assertNotNull(registerResponse.getClientSecretExpiresAt());
480 
481  String clientId = registerResponse.getClientId();
482 
483  // 2. Request authorization
484  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
485 
486  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
487  String nonce = UUID.randomUUID().toString();
488  String rfp = UUID.randomUUID().toString();
489  String jti = UUID.randomUUID().toString();
490 
491  JwtState jwtState = new JwtState(SignatureAlgorithm.ES256, cryptoProvider);
492  jwtState.setKeyId(keyId);
493  jwtState.setRfp(rfp);
494  jwtState.setJti(jti);
495  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
496  String encodedState = jwtState.getEncodedJwt();
497 
498  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
499  authorizationRequest.setState(encodedState);
500 
502  authorizationEndpoint, authorizationRequest, userId, userSecret);
503 
504  assertNotNull(authorizationResponse.getLocation(), "The location is null");
505  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
506  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
507  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
508  assertNotNull(authorizationResponse.getState(), "The state is null");
509 
510  String state = authorizationResponse.getState();
511 
512  // 3. Validate state
513  Jwt jwt = Jwt.parse(state);
514  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), keyId,
515  null, null, SignatureAlgorithm.ES256);
516  assertTrue(validJwt);
517  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
ES256
Definition: SignatureAlgorithm.java:29
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
TOKEN
Definition: ResponseType.java:43
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ encodeClaimsInStateParameterES384()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterES384 ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId 
) throws Exception
inline
525  {
526  showTitle("encodeClaimsInStateParameterES384");
527 
528  List<ResponseType> responseTypes = Arrays.asList(
531 
532  // 1. Register client
533  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
534  StringUtils.spaceSeparatedToList(redirectUris));
535  registerRequest.setResponseTypes(responseTypes);
536  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
537 
538  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
539  registerClient.setRequest(registerRequest);
540  RegisterResponse registerResponse = registerClient.exec();
541 
542  showClient(registerClient);
543  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
544  assertNotNull(registerResponse.getClientId());
545  assertNotNull(registerResponse.getClientSecret());
546  assertNotNull(registerResponse.getRegistrationAccessToken());
547  assertNotNull(registerResponse.getClientIdIssuedAt());
548  assertNotNull(registerResponse.getClientSecretExpiresAt());
549 
550  String clientId = registerResponse.getClientId();
551 
552  // 2. Request authorization
553  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
554 
555  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
556  String nonce = UUID.randomUUID().toString();
557  String rfp = UUID.randomUUID().toString();
558  String jti = UUID.randomUUID().toString();
559 
560  JwtState jwtState = new JwtState(SignatureAlgorithm.ES384, cryptoProvider);
561  jwtState.setKeyId(keyId);
562  jwtState.setRfp(rfp);
563  jwtState.setJti(jti);
564  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
565  String encodedState = jwtState.getEncodedJwt();
566 
567  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
568  authorizationRequest.setState(encodedState);
569 
571  authorizationEndpoint, authorizationRequest, userId, userSecret);
572 
573  assertNotNull(authorizationResponse.getLocation(), "The location is null");
574  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
575  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
576  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
577  assertNotNull(authorizationResponse.getState(), "The state is null");
578 
579  String state = authorizationResponse.getState();
580 
581  // 3. Validate state
582  Jwt jwt = Jwt.parse(state);
583  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), keyId,
584  null, null, SignatureAlgorithm.ES384);
585  assertTrue(validJwt);
586  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
ES384
Definition: SignatureAlgorithm.java:30
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
TOKEN
Definition: ResponseType.java:43
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ encodeClaimsInStateParameterES512()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterES512 ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId 
) throws Exception
inline
594  {
595  showTitle("encodeClaimsInStateParameterES512");
596 
597  List<ResponseType> responseTypes = Arrays.asList(
600 
601  // 1. Register client
602  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
603  StringUtils.spaceSeparatedToList(redirectUris));
604  registerRequest.setResponseTypes(responseTypes);
605  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
606 
607  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
608  registerClient.setRequest(registerRequest);
609  RegisterResponse registerResponse = registerClient.exec();
610 
611  showClient(registerClient);
612  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
613  assertNotNull(registerResponse.getClientId());
614  assertNotNull(registerResponse.getClientSecret());
615  assertNotNull(registerResponse.getRegistrationAccessToken());
616  assertNotNull(registerResponse.getClientIdIssuedAt());
617  assertNotNull(registerResponse.getClientSecretExpiresAt());
618 
619  String clientId = registerResponse.getClientId();
620 
621  // 2. Request authorization
622  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
623 
624  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
625  String nonce = UUID.randomUUID().toString();
626  String rfp = UUID.randomUUID().toString();
627  String jti = UUID.randomUUID().toString();
628 
629  JwtState jwtState = new JwtState(SignatureAlgorithm.ES512, cryptoProvider);
630  jwtState.setKeyId(keyId);
631  jwtState.setRfp(rfp);
632  jwtState.setJti(jti);
633  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
634  String encodedState = jwtState.getEncodedJwt();
635 
636  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
637  authorizationRequest.setState(encodedState);
638 
640  authorizationEndpoint, authorizationRequest, userId, userSecret);
641 
642  assertNotNull(authorizationResponse.getLocation(), "The location is null");
643  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
644  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
645  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
646  assertNotNull(authorizationResponse.getState(), "The state is null");
647 
648  String state = authorizationResponse.getState();
649 
650  // 3. Validate state
651  Jwt jwt = Jwt.parse(state);
652  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), keyId,
653  null, null, SignatureAlgorithm.ES512);
654  assertTrue(validJwt);
655  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getSigningInput()
Definition: Jwt.java:46
ES512
Definition: SignatureAlgorithm.java:31
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
TOKEN
Definition: ResponseType.java:43
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ encodeClaimsInStateParameterHS256()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterHS256 ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri 
) throws Exception
inline
46  {
47  showTitle("encodeClaimsInStateParameterHS256");
48 
49  List<ResponseType> responseTypes = Arrays.asList(
52 
53  // 1. Register client
54  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
55  StringUtils.spaceSeparatedToList(redirectUris));
56  registerRequest.setResponseTypes(responseTypes);
57  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
58 
60  registerClient.setRequest(registerRequest);
61  RegisterResponse registerResponse = registerClient.exec();
62 
63  showClient(registerClient);
64  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
65  assertNotNull(registerResponse.getClientId());
66  assertNotNull(registerResponse.getClientSecret());
67  assertNotNull(registerResponse.getRegistrationAccessToken());
68  assertNotNull(registerResponse.getClientIdIssuedAt());
69  assertNotNull(registerResponse.getClientSecretExpiresAt());
70 
71  String clientId = registerResponse.getClientId();
72  String clientSecret = registerResponse.getClientSecret();
73 
74  // 2. Request authorization
75  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider();
76 
77  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
78  String nonce = UUID.randomUUID().toString();
79  String rfp = UUID.randomUUID().toString();
80  String jti = UUID.randomUUID().toString();
81 
82  JwtState jwtState = new JwtState(SignatureAlgorithm.HS256, clientSecret, cryptoProvider);
83  jwtState.setRfp(rfp);
84  jwtState.setJti(jti);
85  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
86  String encodedState = jwtState.getEncodedJwt();
87 
88  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
89  authorizationRequest.setState(encodedState);
90 
92  authorizationEndpoint, authorizationRequest, userId, userSecret);
93 
94  assertNotNull(authorizationResponse.getLocation(), "The location is null");
95  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
96  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
97  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
98  assertNotNull(authorizationResponse.getState(), "The state is null");
99 
100  String state = authorizationResponse.getState();
101 
102  // 3. Validate state
103  Jwt jwt = Jwt.parse(state);
104  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), null,
105  null, clientSecret, SignatureAlgorithm.HS256);
106  assertTrue(validJwt);
107  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
HS256
Definition: SignatureAlgorithm.java:23
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
TOKEN
Definition: ResponseType.java:43
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ encodeClaimsInStateParameterHS384()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterHS384 ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri 
) throws Exception
inline
113  {
114  showTitle("encodeClaimsInStateParameterHS384");
115 
116  List<ResponseType> responseTypes = Arrays.asList(
119 
120  // 1. Register client
121  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
122  StringUtils.spaceSeparatedToList(redirectUris));
123  registerRequest.setResponseTypes(responseTypes);
124  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
125 
126  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
127  registerClient.setRequest(registerRequest);
128  RegisterResponse registerResponse = registerClient.exec();
129 
130  showClient(registerClient);
131  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
132  assertNotNull(registerResponse.getClientId());
133  assertNotNull(registerResponse.getClientSecret());
134  assertNotNull(registerResponse.getRegistrationAccessToken());
135  assertNotNull(registerResponse.getClientIdIssuedAt());
136  assertNotNull(registerResponse.getClientSecretExpiresAt());
137 
138  String clientId = registerResponse.getClientId();
139  String clientSecret = registerResponse.getClientSecret();
140 
141  // 2. Request authorization
142  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider();
143 
144  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
145  String nonce = UUID.randomUUID().toString();
146  String rfp = UUID.randomUUID().toString();
147  String jti = UUID.randomUUID().toString();
148 
149  JwtState jwtState = new JwtState(SignatureAlgorithm.HS384, clientSecret, cryptoProvider);
150  jwtState.setRfp(rfp);
151  jwtState.setJti(jti);
152  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
153  String encodedState = jwtState.getEncodedJwt();
154 
155  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
156  authorizationRequest.setState(encodedState);
157 
159  authorizationEndpoint, authorizationRequest, userId, userSecret);
160 
161  assertNotNull(authorizationResponse.getLocation(), "The location is null");
162  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
163  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
164  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
165  assertNotNull(authorizationResponse.getState(), "The state is null");
166 
167  String state = authorizationResponse.getState();
168 
169  // 3. Validate state
170  Jwt jwt = Jwt.parse(state);
171  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), null,
172  null, clientSecret, SignatureAlgorithm.HS384);
173  assertTrue(validJwt);
174  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
TOKEN
Definition: ResponseType.java:43
HS384
Definition: SignatureAlgorithm.java:24
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ encodeClaimsInStateParameterHS512()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterHS512 ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri 
) throws Exception
inline
180  {
181  showTitle("encodeClaimsInStateParameterHS512");
182 
183  List<ResponseType> responseTypes = Arrays.asList(
186 
187  // 1. Register client
188  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
189  StringUtils.spaceSeparatedToList(redirectUris));
190  registerRequest.setResponseTypes(responseTypes);
191  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
192 
193  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
194  registerClient.setRequest(registerRequest);
195  RegisterResponse registerResponse = registerClient.exec();
196 
197  showClient(registerClient);
198  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
199  assertNotNull(registerResponse.getClientId());
200  assertNotNull(registerResponse.getClientSecret());
201  assertNotNull(registerResponse.getRegistrationAccessToken());
202  assertNotNull(registerResponse.getClientIdIssuedAt());
203  assertNotNull(registerResponse.getClientSecretExpiresAt());
204 
205  String clientId = registerResponse.getClientId();
206  String clientSecret = registerResponse.getClientSecret();
207 
208  // 2. Request authorization
209  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider();
210 
211  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
212  String nonce = UUID.randomUUID().toString();
213  String rfp = UUID.randomUUID().toString();
214  String jti = UUID.randomUUID().toString();
215 
216  JwtState jwtState = new JwtState(SignatureAlgorithm.HS512, clientSecret, cryptoProvider);
217  jwtState.setRfp(rfp);
218  jwtState.setJti(jti);
219  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
220  String encodedState = jwtState.getEncodedJwt();
221 
222  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
223  authorizationRequest.setState(encodedState);
224 
226  authorizationEndpoint, authorizationRequest, userId, userSecret);
227 
228  assertNotNull(authorizationResponse.getLocation(), "The location is null");
229  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
230  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
231  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
232  assertNotNull(authorizationResponse.getState(), "The state is null");
233 
234  String state = authorizationResponse.getState();
235 
236  // 3. Validate state
237  Jwt jwt = Jwt.parse(state);
238  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), null,
239  null, clientSecret, SignatureAlgorithm.HS512);
240  assertTrue(validJwt);
241  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
HS512
Definition: SignatureAlgorithm.java:25
TOKEN
Definition: ResponseType.java:43
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ encodeClaimsInStateParameterRS256()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterRS256 ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId 
) throws Exception
inline
249  {
250  showTitle("encodeClaimsInStateParameterRS256");
251 
252  List<ResponseType> responseTypes = Arrays.asList(
255 
256  // 1. Register client
257  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
258  StringUtils.spaceSeparatedToList(redirectUris));
259  registerRequest.setResponseTypes(responseTypes);
260  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
261 
262  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
263  registerClient.setRequest(registerRequest);
264  RegisterResponse registerResponse = registerClient.exec();
265 
266  showClient(registerClient);
267  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
268  assertNotNull(registerResponse.getClientId());
269  assertNotNull(registerResponse.getClientSecret());
270  assertNotNull(registerResponse.getRegistrationAccessToken());
271  assertNotNull(registerResponse.getClientIdIssuedAt());
272  assertNotNull(registerResponse.getClientSecretExpiresAt());
273 
274  String clientId = registerResponse.getClientId();
275 
276  // 2. Request authorization
277  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
278 
279  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
280  String nonce = UUID.randomUUID().toString();
281  String rfp = UUID.randomUUID().toString();
282  String jti = UUID.randomUUID().toString();
283 
284  JwtState jwtState = new JwtState(SignatureAlgorithm.RS256, cryptoProvider);
285  jwtState.setKeyId(keyId);
286  jwtState.setRfp(rfp);
287  jwtState.setJti(jti);
288  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
289  String encodedState = jwtState.getEncodedJwt();
290 
291  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
292  authorizationRequest.setState(encodedState);
293 
295  authorizationEndpoint, authorizationRequest, userId, userSecret);
296 
297  assertNotNull(authorizationResponse.getLocation(), "The location is null");
298  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
299  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
300  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
301  assertNotNull(authorizationResponse.getState(), "The state is null");
302 
303  String state = authorizationResponse.getState();
304 
305  // 3. Validate state
306  Jwt jwt = Jwt.parse(state);
307  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), keyId,
308  null, null, SignatureAlgorithm.RS256);
309  assertTrue(validJwt);
310  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
TOKEN
Definition: ResponseType.java:43
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ encodeClaimsInStateParameterRS384()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterRS384 ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId 
) throws Exception
inline
318  {
319  showTitle("encodeClaimsInStateParameterRS384");
320 
321  List<ResponseType> responseTypes = Arrays.asList(
324 
325  // 1. Register client
326  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
327  StringUtils.spaceSeparatedToList(redirectUris));
328  registerRequest.setResponseTypes(responseTypes);
329  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
330 
331  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
332  registerClient.setRequest(registerRequest);
333  RegisterResponse registerResponse = registerClient.exec();
334 
335  showClient(registerClient);
336  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
337  assertNotNull(registerResponse.getClientId());
338  assertNotNull(registerResponse.getClientSecret());
339  assertNotNull(registerResponse.getRegistrationAccessToken());
340  assertNotNull(registerResponse.getClientIdIssuedAt());
341  assertNotNull(registerResponse.getClientSecretExpiresAt());
342 
343  String clientId = registerResponse.getClientId();
344 
345  // 2. Request authorization
346  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
347 
348  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
349  String nonce = UUID.randomUUID().toString();
350  String rfp = UUID.randomUUID().toString();
351  String jti = UUID.randomUUID().toString();
352 
353  JwtState jwtState = new JwtState(SignatureAlgorithm.RS384, cryptoProvider);
354  jwtState.setKeyId(keyId);
355  jwtState.setRfp(rfp);
356  jwtState.setJti(jti);
357  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
358  String encodedState = jwtState.getEncodedJwt();
359 
360  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
361  authorizationRequest.setState(encodedState);
362 
364  authorizationEndpoint, authorizationRequest, userId, userSecret);
365 
366  assertNotNull(authorizationResponse.getLocation(), "The location is null");
367  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
368  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
369  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
370  assertNotNull(authorizationResponse.getState(), "The state is null");
371 
372  String state = authorizationResponse.getState();
373 
374  // 3. Validate state
375  Jwt jwt = Jwt.parse(state);
376  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), keyId,
377  null, null, SignatureAlgorithm.RS384);
378  assertTrue(validJwt);
379  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
TOKEN
Definition: ResponseType.java:43
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ encodeClaimsInStateParameterRS512()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.encodeClaimsInStateParameterRS512 ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId 
) throws Exception
inline
387  {
388  showTitle("encodeClaimsInStateParameterRS512");
389 
390  List<ResponseType> responseTypes = Arrays.asList(
393 
394  // 1. Register client
395  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
396  StringUtils.spaceSeparatedToList(redirectUris));
397  registerRequest.setResponseTypes(responseTypes);
398  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
399 
400  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
401  registerClient.setRequest(registerRequest);
402  RegisterResponse registerResponse = registerClient.exec();
403 
404  showClient(registerClient);
405  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
406  assertNotNull(registerResponse.getClientId());
407  assertNotNull(registerResponse.getClientSecret());
408  assertNotNull(registerResponse.getRegistrationAccessToken());
409  assertNotNull(registerResponse.getClientIdIssuedAt());
410  assertNotNull(registerResponse.getClientSecretExpiresAt());
411 
412  String clientId = registerResponse.getClientId();
413 
414  // 2. Request authorization
415  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
416 
417  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
418  String nonce = UUID.randomUUID().toString();
419  String rfp = UUID.randomUUID().toString();
420  String jti = UUID.randomUUID().toString();
421 
422  JwtState jwtState = new JwtState(SignatureAlgorithm.RS512, cryptoProvider);
423  jwtState.setKeyId(keyId);
424  jwtState.setRfp(rfp);
425  jwtState.setJti(jti);
426  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
427  String encodedState = jwtState.getEncodedJwt();
428 
429  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
430  authorizationRequest.setState(encodedState);
431 
433  authorizationEndpoint, authorizationRequest, userId, userSecret);
434 
435  assertNotNull(authorizationResponse.getLocation(), "The location is null");
436  assertNotNull(authorizationResponse.getAccessToken(), "The accessToken is null");
437  assertNotNull(authorizationResponse.getTokenType(), "The tokenType is null");
438  assertNotNull(authorizationResponse.getIdToken(), "The idToken is null");
439  assertNotNull(authorizationResponse.getState(), "The state is null");
440 
441  String state = authorizationResponse.getState();
442 
443  // 3. Validate state
444  Jwt jwt = Jwt.parse(state);
445  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), keyId,
446  null, null, SignatureAlgorithm.RS512);
447  assertTrue(validJwt);
448  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
TokenType getTokenType()
Definition: AuthorizationResponse.java:237
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
TOKEN
Definition: ResponseType.java:43
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getAccessToken()
Definition: AuthorizationResponse.java:185
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ 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  }

◆ jwtStateAlgA128KWEncA128GCMTest()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateAlgA128KWEncA128GCMTest ( ) throws Exception
inline
1414  {
1415  showTitle("jwtStateAlgA128KWEncA128GCMTest");
1416 
1417  String sharedKey = "shared_key";
1418 
1419  String rfp = UUID.randomUUID().toString();
1420  String jti = UUID.randomUUID().toString();
1421 
1422  JwtState jwtState = new JwtState(KeyEncryptionAlgorithm.A128KW, BlockEncryptionAlgorithm.A128GCM, sharedKey);
1423  jwtState.setRfp(rfp);
1424  jwtState.setJti(jti);
1425  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1426 
1427  String encodedState = jwtState.getEncodedJwt();
1428  assertNotNull(encodedState);
1429  System.out.println("Encrypted JWE State: " + encodedState);
1430 
1431  Jwe jwe = Jwe.parse(encodedState, null, sharedKey.getBytes());
1432  assertNotNull(jwe.getClaims().getClaimAsString(RFP));
1433  assertNotNull(jwe.getClaims().getClaimAsString(JTI));
1434  assertNotNull(jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS));
1435 
1436  JSONObject addClaims = jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS);
1437  assertEquals(addClaims.getString("first_name"), "Javier");
1438  assertEquals(addClaims.getString("last_name"), "Rojas");
1439  assertEquals(addClaims.getInt("age"), 34);
1440  assertNotNull(addClaims.getJSONArray("more"));
1441  assertEquals(addClaims.getJSONArray("more").length(), 2);
1442  }
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
JSONObject getClaimAsJSON(String key)
Definition: JwtClaimSet.java:65
static Jwe parse(String encodedJwe, PrivateKey privateKey, byte[] sharedSymmetricKey)
Definition: Jwe.java:83
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
Definition: KeyEncryptionAlgorithm.java:12
void showTitle(String title)
Definition: BaseTest.java:761
A128KW
Definition: KeyEncryptionAlgorithm.java:16
Definition: Jwe.java:19
Definition: BlockEncryptionAlgorithm.java:12
A128GCM
Definition: BlockEncryptionAlgorithm.java:16

◆ jwtStateAlgA256KWEncA256GCMTest()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateAlgA256KWEncA256GCMTest ( ) throws Exception
inline
1445  {
1446  showTitle("jwtStateAlgA256KWEncA256GCMTest");
1447 
1448  String sharedKey = "shared_key";
1449 
1450  String rfp = UUID.randomUUID().toString();
1451  String jti = UUID.randomUUID().toString();
1452 
1453  JwtState jwtState = new JwtState(KeyEncryptionAlgorithm.A256KW, BlockEncryptionAlgorithm.A256GCM, sharedKey);
1454  jwtState.setRfp(rfp);
1455  jwtState.setJti(jti);
1456  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1457 
1458  String encodedState = jwtState.getEncodedJwt();
1459  assertNotNull(encodedState);
1460  System.out.println("Encrypted JWE State: " + encodedState);
1461 
1462  Jwe jwe = Jwe.parse(encodedState, null, sharedKey.getBytes());
1463  assertNotNull(jwe.getClaims().getClaimAsString(RFP));
1464  assertNotNull(jwe.getClaims().getClaimAsString(JTI));
1465  assertNotNull(jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS));
1466 
1467  JSONObject addClaims = jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS);
1468  assertEquals(addClaims.getString("first_name"), "Javier");
1469  assertEquals(addClaims.getString("last_name"), "Rojas");
1470  assertEquals(addClaims.getInt("age"), 34);
1471  assertNotNull(addClaims.getJSONArray("more"));
1472  assertEquals(addClaims.getJSONArray("more").length(), 2);
1473  }
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
JSONObject getClaimAsJSON(String key)
Definition: JwtClaimSet.java:65
A256GCM
Definition: BlockEncryptionAlgorithm.java:17
static Jwe parse(String encodedJwe, PrivateKey privateKey, byte[] sharedSymmetricKey)
Definition: Jwe.java:83
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
Definition: KeyEncryptionAlgorithm.java:12
A256KW
Definition: KeyEncryptionAlgorithm.java:17
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwe.java:19
Definition: BlockEncryptionAlgorithm.java:12

◆ jwtStateAlgRSA15EncA128CBCPLUSHS256Test()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateAlgRSA15EncA128CBCPLUSHS256Test ( final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId,
final String  clientJwksUri 
) throws Exception
inline
1341  {
1342  showTitle("jwtStateAlgRSA15EncA128CBCPLUSHS256Test");
1343 
1344  JSONObject jwks = JwtUtil.getJSONWebKeys(clientJwksUri);
1345  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1346 
1347  String rfp = UUID.randomUUID().toString();
1348  String jti = UUID.randomUUID().toString();
1349 
1350  JwtState jwtState = new JwtState(KeyEncryptionAlgorithm.RSA1_5, BlockEncryptionAlgorithm.A128CBC_PLUS_HS256, cryptoProvider);
1351  jwtState.setKeyId(keyId);
1352  jwtState.setRfp(rfp);
1353  jwtState.setJti(jti);
1354  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1355 
1356  String encodedState = jwtState.getEncodedJwt(jwks);
1357  assertNotNull(encodedState);
1358  System.out.println("Encrypted JWE State: " + encodedState);
1359 
1360  PrivateKey privateKey = cryptoProvider.getPrivateKey(keyId);
1361  Jwe jwe = Jwe.parse(encodedState, privateKey, null);
1362  assertNotNull(jwe.getClaims().getClaimAsString(KID));
1363  assertNotNull(jwe.getClaims().getClaimAsString(RFP));
1364  assertNotNull(jwe.getClaims().getClaimAsString(JTI));
1365  assertNotNull(jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS));
1366 
1367  JSONObject addClaims = jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS);
1368  assertEquals(addClaims.getString("first_name"), "Javier");
1369  assertEquals(addClaims.getString("last_name"), "Rojas");
1370  assertEquals(addClaims.getInt("age"), 34);
1371  assertNotNull(addClaims.getJSONArray("more"));
1372  assertEquals(addClaims.getJSONArray("more").length(), 2);
1373  }
A128CBC_PLUS_HS256
Definition: BlockEncryptionAlgorithm.java:14
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
JSONObject getClaimAsJSON(String key)
Definition: JwtClaimSet.java:65
static Jwe parse(String encodedJwe, PrivateKey privateKey, byte[] sharedSymmetricKey)
Definition: Jwe.java:83
Definition: JwtUtil.java:38
PrivateKey getPrivateKey(String alias)
Definition: OxAuthCryptoProvider.java:264
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
Definition: KeyEncryptionAlgorithm.java:12
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwe.java:19
Definition: BlockEncryptionAlgorithm.java:12
RSA1_5
Definition: KeyEncryptionAlgorithm.java:14
static JSONObject getJSONWebKeys(String jwksUri)
Definition: JwtUtil.java:203
Definition: OxAuthCryptoProvider.java:62

◆ jwtStateAlgRSA15EncA256CBCPLUSHS512Test()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateAlgRSA15EncA256CBCPLUSHS512Test ( final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId,
final String  clientJwksUri 
) throws Exception
inline
1379  {
1380  showTitle("jwtStateAlgRSA15EncA256CBCPLUSHS512Test");
1381 
1382  JSONObject jwks = JwtUtil.getJSONWebKeys(clientJwksUri);
1383  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1384 
1385  String rfp = UUID.randomUUID().toString();
1386  String jti = UUID.randomUUID().toString();
1387 
1388  JwtState jwtState = new JwtState(KeyEncryptionAlgorithm.RSA1_5, BlockEncryptionAlgorithm.A256CBC_PLUS_HS512, cryptoProvider);
1389  jwtState.setKeyId(keyId);
1390  jwtState.setRfp(rfp);
1391  jwtState.setJti(jti);
1392  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1393 
1394  String encodedState = jwtState.getEncodedJwt(jwks);
1395  assertNotNull(encodedState);
1396  System.out.println("Encrypted JWE State: " + encodedState);
1397 
1398  PrivateKey privateKey = cryptoProvider.getPrivateKey(keyId);
1399  Jwe jwe = Jwe.parse(encodedState, privateKey, null);
1400  assertNotNull(jwe.getClaims().getClaimAsString(KID));
1401  assertNotNull(jwe.getClaims().getClaimAsString(RFP));
1402  assertNotNull(jwe.getClaims().getClaimAsString(JTI));
1403  assertNotNull(jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS));
1404 
1405  JSONObject addClaims = jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS);
1406  assertEquals(addClaims.getString("first_name"), "Javier");
1407  assertEquals(addClaims.getString("last_name"), "Rojas");
1408  assertEquals(addClaims.getInt("age"), 34);
1409  assertNotNull(addClaims.getJSONArray("more"));
1410  assertEquals(addClaims.getJSONArray("more").length(), 2);
1411  }
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
JSONObject getClaimAsJSON(String key)
Definition: JwtClaimSet.java:65
static Jwe parse(String encodedJwe, PrivateKey privateKey, byte[] sharedSymmetricKey)
Definition: Jwe.java:83
Definition: JwtUtil.java:38
PrivateKey getPrivateKey(String alias)
Definition: OxAuthCryptoProvider.java:264
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
Definition: KeyEncryptionAlgorithm.java:12
A256CBC_PLUS_HS512
Definition: BlockEncryptionAlgorithm.java:15
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwe.java:19
Definition: BlockEncryptionAlgorithm.java:12
RSA1_5
Definition: KeyEncryptionAlgorithm.java:14
static JSONObject getJSONWebKeys(String jwksUri)
Definition: JwtUtil.java:203
Definition: OxAuthCryptoProvider.java:62

◆ jwtStateAlgRSAOAEPEncA256GCMTest()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateAlgRSAOAEPEncA256GCMTest ( final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId,
final String  clientJwksUri 
) throws Exception
inline
1303  {
1304  showTitle("jwtStateAlgRSAOAEPEncA256GCMTest");
1305 
1306  JSONObject jwks = JwtUtil.getJSONWebKeys(clientJwksUri);
1307  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1308 
1309  String rfp = UUID.randomUUID().toString();
1310  String jti = UUID.randomUUID().toString();
1311 
1312  JwtState jwtState = new JwtState(KeyEncryptionAlgorithm.RSA_OAEP, BlockEncryptionAlgorithm.A256GCM, cryptoProvider);
1313  jwtState.setKeyId(keyId);
1314  jwtState.setRfp(rfp);
1315  jwtState.setJti(jti);
1316  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1317 
1318  String encodedState = jwtState.getEncodedJwt(jwks);
1319  assertNotNull(encodedState);
1320  System.out.println("Encrypted JWE State: " + encodedState);
1321 
1322  PrivateKey privateKey = cryptoProvider.getPrivateKey(keyId);
1323  Jwe jwe = Jwe.parse(encodedState, privateKey, null);
1324  assertNotNull(jwe.getClaims().getClaimAsString(KID));
1325  assertNotNull(jwe.getClaims().getClaimAsString(RFP));
1326  assertNotNull(jwe.getClaims().getClaimAsString(JTI));
1327  assertNotNull(jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS));
1328 
1329  JSONObject addClaims = jwe.getClaims().getClaimAsJSON(ADDITIONAL_CLAIMS);
1330  assertEquals(addClaims.getString("first_name"), "Javier");
1331  assertEquals(addClaims.getString("last_name"), "Rojas");
1332  assertEquals(addClaims.getInt("age"), 34);
1333  assertNotNull(addClaims.getJSONArray("more"));
1334  assertEquals(addClaims.getJSONArray("more").length(), 2);
1335  }
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
JSONObject getClaimAsJSON(String key)
Definition: JwtClaimSet.java:65
A256GCM
Definition: BlockEncryptionAlgorithm.java:17
static Jwe parse(String encodedJwe, PrivateKey privateKey, byte[] sharedSymmetricKey)
Definition: Jwe.java:83
Definition: JwtUtil.java:38
PrivateKey getPrivateKey(String alias)
Definition: OxAuthCryptoProvider.java:264
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
Definition: KeyEncryptionAlgorithm.java:12
RSA_OAEP
Definition: KeyEncryptionAlgorithm.java:15
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwe.java:19
Definition: BlockEncryptionAlgorithm.java:12
static JSONObject getJSONWebKeys(String jwksUri)
Definition: JwtUtil.java:203
Definition: OxAuthCryptoProvider.java:62

◆ jwtStateES256Test()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateES256Test ( final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId 
) throws Exception
inline
1221  {
1222  showTitle("jwtStateES256Test");
1223 
1224  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1225 
1226  String rfp = UUID.randomUUID().toString();
1227  String jti = UUID.randomUUID().toString();
1228 
1229  JwtState jwtState = new JwtState(SignatureAlgorithm.ES256, cryptoProvider);
1230  jwtState.setKeyId(keyId);
1231  jwtState.setRfp(rfp);
1232  jwtState.setJti(jti);
1233  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1234 
1235  String encodedState = jwtState.getEncodedJwt();
1236  assertNotNull(encodedState);
1237  System.out.println("Signed JWS State: " + encodedState);
1238 
1239  Jwt jwt = Jwt.parse(encodedState);
1240  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), keyId,
1241  null, null, SignatureAlgorithm.ES256);
1242  assertTrue(validJwt);
1243  }
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: SignatureAlgorithm.java:20
ES256
Definition: SignatureAlgorithm.java:29
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: OxAuthCryptoProvider.java:62

◆ jwtStateES384Test()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateES384Test ( final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId 
) throws Exception
inline
1248  {
1249  showTitle("jwtStateES384Test");
1250 
1251  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1252 
1253  String rfp = UUID.randomUUID().toString();
1254  String jti = UUID.randomUUID().toString();
1255 
1256  JwtState jwtState = new JwtState(SignatureAlgorithm.ES384, cryptoProvider);
1257  jwtState.setKeyId(keyId);
1258  jwtState.setRfp(rfp);
1259  jwtState.setJti(jti);
1260  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1261 
1262  String encodedState = jwtState.getEncodedJwt();
1263  assertNotNull(encodedState);
1264  System.out.println("Signed JWS State: " + encodedState);
1265 
1266  Jwt jwt = Jwt.parse(encodedState);
1267  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), keyId,
1268  null, null, SignatureAlgorithm.ES384);
1269  assertTrue(validJwt);
1270  }
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: SignatureAlgorithm.java:20
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
ES384
Definition: SignatureAlgorithm.java:30
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: OxAuthCryptoProvider.java:62

◆ jwtStateES512Test()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateES512Test ( final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId 
) throws Exception
inline
1275  {
1276  showTitle("jwtStateES512Test");
1277 
1278  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1279 
1280  String rfp = UUID.randomUUID().toString();
1281  String jti = UUID.randomUUID().toString();
1282 
1283  JwtState jwtState = new JwtState(SignatureAlgorithm.ES512, cryptoProvider);
1284  jwtState.setKeyId(keyId);
1285  jwtState.setRfp(rfp);
1286  jwtState.setJti(jti);
1287  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1288 
1289  String encodedState = jwtState.getEncodedJwt();
1290  assertNotNull(encodedState);
1291  System.out.println("Signed JWS State: " + encodedState);
1292 
1293  Jwt jwt = Jwt.parse(encodedState);
1294  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), keyId,
1295  null, null, SignatureAlgorithm.ES512);
1296  assertTrue(validJwt);
1297  }
String getSigningInput()
Definition: Jwt.java:46
ES512
Definition: SignatureAlgorithm.java:31
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: SignatureAlgorithm.java:20
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: OxAuthCryptoProvider.java:62

◆ jwtStateHS256Test()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateHS256Test ( ) throws Exception
inline
1063  {
1064  showTitle("jwtStateHS256Test");
1065 
1066  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider();
1067  String sharedKey = "shared_key";
1068 
1069  String rfp = UUID.randomUUID().toString();
1070  String jti = UUID.randomUUID().toString();
1071 
1072  JwtState jwtState = new JwtState(SignatureAlgorithm.HS256, sharedKey, cryptoProvider);
1073  jwtState.setRfp(rfp);
1074  jwtState.setJti(jti);
1075  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1076 
1077  String encodedState = jwtState.getEncodedJwt();
1078  assertNotNull(encodedState);
1079  System.out.println("Signed JWS State: " + encodedState);
1080 
1081  Jwt jwt = Jwt.parse(encodedState);
1082  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), null,
1083  null, sharedKey, SignatureAlgorithm.HS256);
1084  assertTrue(validJwt);
1085  }
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: SignatureAlgorithm.java:20
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
HS256
Definition: SignatureAlgorithm.java:23
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: OxAuthCryptoProvider.java:62

◆ jwtStateHS384Test()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateHS384Test ( ) throws Exception
inline
1088  {
1089  showTitle("jwtStateHS384Test");
1090 
1091  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider();
1092  String sharedKey = "shared_key";
1093 
1094  String rfp = UUID.randomUUID().toString();
1095  String jti = UUID.randomUUID().toString();
1096 
1097  JwtState jwtState = new JwtState(SignatureAlgorithm.HS384, sharedKey, cryptoProvider);
1098  jwtState.setRfp(rfp);
1099  jwtState.setJti(jti);
1100  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1101 
1102  String encodedState = jwtState.getEncodedJwt();
1103  assertNotNull(encodedState);
1104  System.out.println("Signed JWS State: " + encodedState);
1105 
1106  Jwt jwt = Jwt.parse(encodedState);
1107  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), null,
1108  null, sharedKey, SignatureAlgorithm.HS384);
1109  assertTrue(validJwt);
1110  }
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: SignatureAlgorithm.java:20
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
HS384
Definition: SignatureAlgorithm.java:24
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: OxAuthCryptoProvider.java:62

◆ jwtStateHS512Test()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateHS512Test ( ) throws Exception
inline
1113  {
1114  showTitle("jwtStateHS512Test");
1115 
1116  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider();
1117  String sharedKey = "shared_key";
1118 
1119  String rfp = UUID.randomUUID().toString();
1120  String jti = UUID.randomUUID().toString();
1121 
1122  JwtState jwtState = new JwtState(SignatureAlgorithm.HS512, sharedKey, cryptoProvider);
1123  jwtState.setRfp(rfp);
1124  jwtState.setJti(jti);
1125  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1126 
1127  String encodedState = jwtState.getEncodedJwt();
1128  assertNotNull(encodedState);
1129  System.out.println("Signed JWS State: " + encodedState);
1130 
1131  Jwt jwt = Jwt.parse(encodedState);
1132  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), null,
1133  null, sharedKey, SignatureAlgorithm.HS512);
1134  assertTrue(validJwt);
1135  }
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: SignatureAlgorithm.java:20
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
HS512
Definition: SignatureAlgorithm.java:25
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: OxAuthCryptoProvider.java:62

◆ jwtStateNONETest()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateNONETest ( ) throws Exception
inline
1039  {
1040  showTitle("jwtStateNONETest");
1041 
1042  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider();
1043 
1044  String rfp = UUID.randomUUID().toString();
1045  String jti = UUID.randomUUID().toString();
1046 
1047  JwtState jwtState = new JwtState(SignatureAlgorithm.NONE, cryptoProvider);
1048  jwtState.setRfp(rfp);
1049  jwtState.setJti(jti);
1050  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1051 
1052  String encodedState = jwtState.getEncodedJwt();
1053  assertNotNull(encodedState);
1054  System.out.println("Encoded State: " + encodedState);
1055 
1056  Jwt jwt = Jwt.parse(encodedState);
1057  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), null,
1058  null, null, SignatureAlgorithm.NONE);
1059  assertTrue(validJwt);
1060  }
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: SignatureAlgorithm.java:20
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
NONE
Definition: SignatureAlgorithm.java:22
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: OxAuthCryptoProvider.java:62

◆ jwtStateRS256Test()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateRS256Test ( final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId 
) throws Exception
inline
1140  {
1141  showTitle("jwtStateRS256Test");
1142 
1143  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1144 
1145  String rfp = UUID.randomUUID().toString();
1146  String jti = UUID.randomUUID().toString();
1147 
1148  JwtState jwtState = new JwtState(SignatureAlgorithm.RS256, cryptoProvider);
1149  jwtState.setKeyId(keyId);
1150  jwtState.setRfp(rfp);
1151  jwtState.setJti(jti);
1152  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1153 
1154  String encodedState = jwtState.getEncodedJwt();
1155  assertNotNull(encodedState);
1156  System.out.println("Signed JWS State: " + encodedState);
1157 
1158  Jwt jwt = Jwt.parse(encodedState);
1159  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), keyId,
1160  null, null, SignatureAlgorithm.RS256);
1161  assertTrue(validJwt);
1162  }
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: SignatureAlgorithm.java:20
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
RS256
Definition: SignatureAlgorithm.java:26
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: OxAuthCryptoProvider.java:62

◆ jwtStateRS384Test()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateRS384Test ( final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId 
) throws Exception
inline
1167  {
1168  showTitle("jwtStateRS384Test");
1169 
1170  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1171 
1172  String rfp = UUID.randomUUID().toString();
1173  String jti = UUID.randomUUID().toString();
1174 
1175  JwtState jwtState = new JwtState(SignatureAlgorithm.RS384, cryptoProvider);
1176  jwtState.setKeyId(keyId);
1177  jwtState.setRfp(rfp);
1178  jwtState.setJti(jti);
1179  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1180 
1181  String encodedState = jwtState.getEncodedJwt();
1182  assertNotNull(encodedState);
1183  System.out.println("Signed JWS State: " + encodedState);
1184 
1185  Jwt jwt = Jwt.parse(encodedState);
1186  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), keyId,
1187  null, null, SignatureAlgorithm.RS384);
1188  assertTrue(validJwt);
1189  }
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
RS384
Definition: SignatureAlgorithm.java:27
Definition: SignatureAlgorithm.java:20
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: OxAuthCryptoProvider.java:62

◆ jwtStateRS512Test()

void org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.jwtStateRS512Test ( final String  keyStoreFile,
final String  keyStoreSecret,
final String  dnName,
final String  keyId 
) throws Exception
inline
1194  {
1195  showTitle("jwtStateRS512Test");
1196 
1197  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1198 
1199  String rfp = UUID.randomUUID().toString();
1200  String jti = UUID.randomUUID().toString();
1201 
1202  JwtState jwtState = new JwtState(SignatureAlgorithm.RS512, cryptoProvider);
1203  jwtState.setKeyId(keyId);
1204  jwtState.setRfp(rfp);
1205  jwtState.setJti(jti);
1206  jwtState.setAdditionalClaims(new JSONObject(additionalClaims));
1207 
1208  String encodedState = jwtState.getEncodedJwt();
1209  assertNotNull(encodedState);
1210  System.out.println("Signed JWS State: " + encodedState);
1211 
1212  Jwt jwt = Jwt.parse(encodedState);
1213  boolean validJwt = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), keyId,
1214  null, null, SignatureAlgorithm.RS512);
1215  assertTrue(validJwt);
1216  }
String getSigningInput()
Definition: Jwt.java:46
final String additionalClaims
Definition: EncodeClaimsInStateParameter.java:40
Definition: SignatureAlgorithm.java:20
String getEncodedSignature()
Definition: Jwt.java:38
boolean verifySignature(String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:179
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
RS512
Definition: SignatureAlgorithm.java:28
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: OxAuthCryptoProvider.java:62

◆ output()

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

◆ 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

メンバ詳解

◆ additionalClaims

final String org.xdi.oxauth.ws.rs.EncodeClaimsInStateParameter.additionalClaims = "{first_name: 'Javier', last_name: 'Rojas', age: 34, more: ['foo', 'bar']}"
private

◆ authorizationEndpoint

String org.xdi.oxauth.BaseTest.authorizationEndpoint
protectedinherited

◆ authorizationPageEndpoint

String org.xdi.oxauth.BaseTest.authorizationPageEndpoint
protectedinherited

◆ checkSessionIFrame

String org.xdi.oxauth.BaseTest.checkSessionIFrame
protectedinherited

◆ 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

◆ userInfoEndpoint

String org.xdi.oxauth.BaseTest.userInfoEndpoint
protectedinherited

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