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

公開メンバ関数

void omittedTokenEndpointAuthMethod (final String redirectUris, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretBasic (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretBasicFail1 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretBasicFail2 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretBasicFail3 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String keyId, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretPost (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretPostFail1 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretPostFail2 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretPostFail3 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String keyId, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwt (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtHS256 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtHS384 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtHS512 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtRS256Fail (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String keyId, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtRS384Fail (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String keyId, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtRS512Fail (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String keyId, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtES256Fail (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String keyId, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtES384Fail (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String keyId, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtES512Fail (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String keyId, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtSigningAlgHS256 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtSigningAlgHS256Fail1 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtSigningAlgHS256Fail2 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtSigningAlgHS384 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtSigningAlgHS384Fail1 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtSigningAlgHS384Fail2 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtSigningAlgHS512 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtSigningAlgHS512Fail1 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtSigningAlgHS512Fail2 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtFail1 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtFail2 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodClientSecretJwtFail3 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String keyId, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwt (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtFail1 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtFail2 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtFail3 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtRS256 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtRS384 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtRS512 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtES256 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtES384 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtES512 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail1 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail2 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail3 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail4 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail5 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail1 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail2 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail3 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail4 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail5 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail1 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail2 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail3 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail4 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail5 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail1 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail2 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail3 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail4 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail5 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail1 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail2 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail3 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail4 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail5 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail1 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail2 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail3 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail4 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) throws Exception
 
void tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail5 (final String redirectUris, final String redirectUri, final String userId, final String userSecret, final String clientJwksUri, final String keyId, final String dnName, final String keyStoreFile, final String keyStoreSecret, final String sectorIdentifierUri) 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
 

詳解

著者
Javier Rojas Blum
バージョン
November 29, 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

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

◆ omittedTokenEndpointAuthMethod()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.omittedTokenEndpointAuthMethod ( final String  redirectUris,
final String  sectorIdentifierUri 
) throws Exception
inline

Register a client without specify a Token Endpoint Auth Method. Read client to check whether it is using the default Token Endpoint Auth Method client_secret_basic.

40  {
41  showTitle("omittedTokenEndpointAuthMethod");
42 
43  // 1. Register client
44  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
45  StringUtils.spaceSeparatedToList(redirectUris));
46  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
47 
49  registerClient.setRequest(registerRequest);
50  RegisterResponse registerResponse = registerClient.exec();
51 
52  showClient(registerClient);
53  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
54  assertNotNull(registerResponse.getClientId());
55  assertNotNull(registerResponse.getClientSecret());
56  assertNotNull(registerResponse.getRegistrationAccessToken());
57  assertNotNull(registerResponse.getClientIdIssuedAt());
58  assertNotNull(registerResponse.getClientSecretExpiresAt());
59 
60  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
61  String registrationClientUri = registerResponse.getRegistrationClientUri();
62 
63  // 2. Client read
64  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
65 
66  RegisterClient readClient = new RegisterClient(registrationClientUri);
67  readClient.setRequest(readClientRequest);
68  RegisterResponse readClientResponse = readClient.exec();
69 
70  showClient(readClient);
71  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
72  assertNotNull(readClientResponse.getClientId());
73  assertNotNull(readClientResponse.getClientSecret());
74  assertNotNull(readClientResponse.getClientIdIssuedAt());
75  assertNotNull(readClientResponse.getClientSecretExpiresAt());
76 
77  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
78  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
80  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
81  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
82  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
83  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
84  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
85  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
86  }
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
Definition: RegisterResponse.java:34
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
Definition: RegisterRequest.java:37
Definition: ApplicationType.java:12
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
Definition: AuthenticationMethod.java:12
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ 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

◆ tokenEndpointAuthMethodClientSecretBasic()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretBasic ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Register a client with Token Endpoint Auth Method client_secret_basic. Read client to check whether it is using the Token Endpoint Auth Method client_secret_basic. Request authorization code. Call to Token Endpoint with Auth Method client_secret_basic.

98  {
99  showTitle("tokenEndpointAuthMethodClientSecretBasic");
100 
101  // 1. Register client
102  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
103  StringUtils.spaceSeparatedToList(redirectUris));
105  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
106 
107  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
108  registerClient.setRequest(registerRequest);
109  RegisterResponse registerResponse = registerClient.exec();
110 
111  showClient(registerClient);
112  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
113  assertNotNull(registerResponse.getClientId());
114  assertNotNull(registerResponse.getClientSecret());
115  assertNotNull(registerResponse.getRegistrationAccessToken());
116  assertNotNull(registerResponse.getClientIdIssuedAt());
117  assertNotNull(registerResponse.getClientSecretExpiresAt());
118 
119  String clientId = registerResponse.getClientId();
120  String clientSecret = registerResponse.getClientSecret();
121  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
122  String registrationClientUri = registerResponse.getRegistrationClientUri();
123 
124  // 2. Client read
125  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
126 
127  RegisterClient readClient = new RegisterClient(registrationClientUri);
128  readClient.setRequest(readClientRequest);
129  RegisterResponse readClientResponse = readClient.exec();
130 
131  showClient(readClient);
132  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
133  assertNotNull(readClientResponse.getClientId());
134  assertNotNull(readClientResponse.getClientSecret());
135  assertNotNull(readClientResponse.getClientIdIssuedAt());
136  assertNotNull(readClientResponse.getClientSecretExpiresAt());
137 
138  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
139  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
141  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
142  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
143  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
144  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
145  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
146  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
147 
148  // 3. Request authorization
149  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
150  List<String> scopes = Arrays.asList(
151  "openid",
152  "profile",
153  "address",
154  "email");
155  String state = UUID.randomUUID().toString();
156 
157  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
158  authorizationRequest.setState(state);
159 
161  authorizationEndpoint, authorizationRequest, userId, userSecret);
162 
163  assertNotNull(authorizationResponse.getLocation(), "The location is null");
164  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
165  assertNotNull(authorizationResponse.getState(), "The state is null");
166  assertNotNull(authorizationResponse.getScope(), "The scope is null");
167  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
168 
169  String authorizationCode = authorizationResponse.getCode();
170 
171  // 4. Get Access Token
173  tokenRequest.setCode(authorizationCode);
174  tokenRequest.setRedirectUri(redirectUri);
175  tokenRequest.setAuthUsername(clientId);
176  tokenRequest.setAuthPassword(clientSecret);
178 
179  TokenClient tokenClient = new TokenClient(tokenEndpoint);
180  tokenClient.setRequest(tokenRequest);
181  TokenResponse tokenResponse = tokenClient.exec();
182 
183  showClient(tokenClient);
184  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
185  assertNotNull(tokenResponse.getEntity(), "The entity is null");
186  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
187  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
188  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
189  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
190  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretBasicFail1()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretBasicFail1 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Fail 1: Call to Token Endpoint with Auth Method client_secret_post should fail.

199  {
200  showTitle("tokenEndpointAuthMethodClientSecretBasicFail1");
201 
202  // 1. Register client
203  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
204  StringUtils.spaceSeparatedToList(redirectUris));
206  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
207 
208  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
209  registerClient.setRequest(registerRequest);
210  RegisterResponse registerResponse = registerClient.exec();
211 
212  showClient(registerClient);
213  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
214  assertNotNull(registerResponse.getClientId());
215  assertNotNull(registerResponse.getClientSecret());
216  assertNotNull(registerResponse.getRegistrationAccessToken());
217  assertNotNull(registerResponse.getClientIdIssuedAt());
218  assertNotNull(registerResponse.getClientSecretExpiresAt());
219 
220  String clientId = registerResponse.getClientId();
221  String clientSecret = registerResponse.getClientSecret();
222  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
223  String registrationClientUri = registerResponse.getRegistrationClientUri();
224 
225  // 2. Client read
226  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
227 
228  RegisterClient readClient = new RegisterClient(registrationClientUri);
229  readClient.setRequest(readClientRequest);
230  RegisterResponse readClientResponse = readClient.exec();
231 
232  showClient(readClient);
233  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
234  assertNotNull(readClientResponse.getClientId());
235  assertNotNull(readClientResponse.getClientSecret());
236  assertNotNull(readClientResponse.getClientIdIssuedAt());
237  assertNotNull(readClientResponse.getClientSecretExpiresAt());
238 
239  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
240  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
242  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
243  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
244  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
245  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
246  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
247  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
248 
249  // 3. Request authorization
250  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
251  List<String> scopes = Arrays.asList(
252  "openid",
253  "profile",
254  "address",
255  "email");
256  String state = UUID.randomUUID().toString();
257 
258  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
259  authorizationRequest.setState(state);
260 
262  authorizationEndpoint, authorizationRequest, userId, userSecret);
263 
264  assertNotNull(authorizationResponse.getLocation(), "The location is null");
265  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
266  assertNotNull(authorizationResponse.getState(), "The state is null");
267  assertNotNull(authorizationResponse.getScope(), "The scope is null");
268  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
269 
270  String authorizationCode = authorizationResponse.getCode();
271 
272  // 4. Get Access Token
274  tokenRequest.setCode(authorizationCode);
275  tokenRequest.setRedirectUri(redirectUri);
276  tokenRequest.setAuthUsername(clientId);
277  tokenRequest.setAuthPassword(clientSecret);
279 
280  TokenClient tokenClient = new TokenClient(tokenEndpoint);
281  tokenClient.setRequest(tokenRequest);
282  TokenResponse tokenResponse = tokenClient.exec();
283 
284  showClient(tokenClient);
285  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
286  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
287  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
288  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
static void showClient(BaseClient client)
Definition: BaseTest.java:775
CLIENT_SECRET_POST
Definition: AuthenticationMethod.java:24
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretBasicFail2()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretBasicFail2 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Fail 2: Call to Token Endpoint with Auth Method client_secret_jwt should fail.

297  {
298  showTitle("tokenEndpointAuthMethodClientSecretBasicFail2");
299 
300  // 1. Register client
301  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
302  StringUtils.spaceSeparatedToList(redirectUris));
304  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
305 
306  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
307  registerClient.setRequest(registerRequest);
308  RegisterResponse registerResponse = registerClient.exec();
309 
310  showClient(registerClient);
311  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
312  assertNotNull(registerResponse.getClientId());
313  assertNotNull(registerResponse.getClientSecret());
314  assertNotNull(registerResponse.getRegistrationAccessToken());
315  assertNotNull(registerResponse.getClientIdIssuedAt());
316  assertNotNull(registerResponse.getClientSecretExpiresAt());
317 
318  String clientId = registerResponse.getClientId();
319  String clientSecret = registerResponse.getClientSecret();
320  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
321  String registrationClientUri = registerResponse.getRegistrationClientUri();
322 
323  // 2. Client read
324  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
325 
326  RegisterClient readClient = new RegisterClient(registrationClientUri);
327  readClient.setRequest(readClientRequest);
328  RegisterResponse readClientResponse = readClient.exec();
329 
330  showClient(readClient);
331  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
332  assertNotNull(readClientResponse.getClientId());
333  assertNotNull(readClientResponse.getClientSecret());
334  assertNotNull(readClientResponse.getClientIdIssuedAt());
335  assertNotNull(readClientResponse.getClientSecretExpiresAt());
336 
337  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
338  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
340  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
341  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
342  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
343  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
344  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
345  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
346 
347  // 3. Request authorization
348  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
349  List<String> scopes = Arrays.asList(
350  "openid",
351  "profile",
352  "address",
353  "email");
354  String state = UUID.randomUUID().toString();
355 
356  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
357  authorizationRequest.setState(state);
358 
360  authorizationEndpoint, authorizationRequest, userId, userSecret);
361 
362  assertNotNull(authorizationResponse.getLocation(), "The location is null");
363  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
364  assertNotNull(authorizationResponse.getState(), "The state is null");
365  assertNotNull(authorizationResponse.getScope(), "The scope is null");
366  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
367 
368  String authorizationCode = authorizationResponse.getCode();
369 
370  // 4. Get Access Token
372  tokenRequest.setAudience(tokenEndpoint);
373  tokenRequest.setCode(authorizationCode);
374  tokenRequest.setRedirectUri(redirectUri);
375  tokenRequest.setAuthUsername(clientId);
376  tokenRequest.setAuthPassword(clientSecret);
378 
379  TokenClient tokenClient = new TokenClient(tokenEndpoint);
380  tokenClient.setRequest(tokenRequest);
381  TokenResponse tokenResponse = tokenClient.exec();
382 
383  showClient(tokenClient);
384  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
385  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
386  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
387  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretBasicFail3()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretBasicFail3 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  keyId,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Fail 3: Call to Token Endpoint with Auth Method private_key_jwt should fail.

397  {
398  showTitle("tokenEndpointAuthMethodClientSecretBasicFail3");
399 
400  // 1. Register client
401  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
402  StringUtils.spaceSeparatedToList(redirectUris));
404  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
405 
406  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
407  registerClient.setRequest(registerRequest);
408  RegisterResponse registerResponse = registerClient.exec();
409 
410  showClient(registerClient);
411  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
412  assertNotNull(registerResponse.getClientId());
413  assertNotNull(registerResponse.getClientSecret());
414  assertNotNull(registerResponse.getRegistrationAccessToken());
415  assertNotNull(registerResponse.getClientIdIssuedAt());
416  assertNotNull(registerResponse.getClientSecretExpiresAt());
417 
418  String clientId = registerResponse.getClientId();
419  String clientSecret = registerResponse.getClientSecret();
420  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
421  String registrationClientUri = registerResponse.getRegistrationClientUri();
422 
423  // 2. Client read
424  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
425 
426  RegisterClient readClient = new RegisterClient(registrationClientUri);
427  readClient.setRequest(readClientRequest);
428  RegisterResponse readClientResponse = readClient.exec();
429 
430  showClient(readClient);
431  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
432  assertNotNull(readClientResponse.getClientId());
433  assertNotNull(readClientResponse.getClientSecret());
434  assertNotNull(readClientResponse.getClientIdIssuedAt());
435  assertNotNull(readClientResponse.getClientSecretExpiresAt());
436 
437  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
438  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
440  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
441  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
442  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
443  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
444  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
445  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
446 
447  // 3. Request authorization
448  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
449  List<String> scopes = Arrays.asList(
450  "openid",
451  "profile",
452  "address",
453  "email");
454  String state = UUID.randomUUID().toString();
455 
456  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
457  authorizationRequest.setState(state);
458 
460  authorizationEndpoint, authorizationRequest, userId, userSecret);
461 
462  assertNotNull(authorizationResponse.getLocation(), "The location is null");
463  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
464  assertNotNull(authorizationResponse.getState(), "The state is null");
465  assertNotNull(authorizationResponse.getScope(), "The scope is null");
466  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
467 
468  String authorizationCode = authorizationResponse.getCode();
469 
470  // 4. Get Access Token
471  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, null);
472 
475  tokenRequest.setAlgorithm(SignatureAlgorithm.RS256);
476  tokenRequest.setKeyId(keyId);
477  tokenRequest.setCryptoProvider(cryptoProvider);
478  tokenRequest.setAudience(tokenEndpoint);
479  tokenRequest.setCode(authorizationCode);
480  tokenRequest.setRedirectUri(redirectUri);
481  tokenRequest.setAuthUsername(clientId);
482  tokenRequest.setAuthPassword(clientSecret);
483 
484 
485  TokenClient tokenClient = new TokenClient(tokenEndpoint);
486  tokenClient.setRequest(tokenRequest);
487  TokenResponse tokenResponse = tokenClient.exec();
488 
489  showClient(tokenClient);
490  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
491  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
492  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
493  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwt()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwt ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Register a client with Token Endpoint Auth Method client_secret_jwt. Read client to check whether it is using the Token Endpoint Auth Method client_secret_jwt. Request authorization code. Call to Token Endpoint with Auth Method client_secret_Jwt.

913  {
914  showTitle("tokenEndpointAuthMethodClientSecretJwt");
915 
916  // 1. Register client
917  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
918  StringUtils.spaceSeparatedToList(redirectUris));
920  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
921 
922  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
923  registerClient.setRequest(registerRequest);
924  RegisterResponse registerResponse = registerClient.exec();
925 
926  showClient(registerClient);
927  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
928  assertNotNull(registerResponse.getClientId());
929  assertNotNull(registerResponse.getClientSecret());
930  assertNotNull(registerResponse.getRegistrationAccessToken());
931  assertNotNull(registerResponse.getClientIdIssuedAt());
932  assertNotNull(registerResponse.getClientSecretExpiresAt());
933 
934  String clientId = registerResponse.getClientId();
935  String clientSecret = registerResponse.getClientSecret();
936  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
937  String registrationClientUri = registerResponse.getRegistrationClientUri();
938 
939  // 2. Client read
940  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
941 
942  RegisterClient readClient = new RegisterClient(registrationClientUri);
943  readClient.setRequest(readClientRequest);
944  RegisterResponse readClientResponse = readClient.exec();
945 
946  showClient(readClient);
947  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
948  assertNotNull(readClientResponse.getClientId());
949  assertNotNull(readClientResponse.getClientSecret());
950  assertNotNull(readClientResponse.getClientIdIssuedAt());
951  assertNotNull(readClientResponse.getClientSecretExpiresAt());
952 
953  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
954  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
956  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
957  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
958  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
959  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
960  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
961  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
962 
963  // 3. Request authorization
964  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
965  List<String> scopes = Arrays.asList(
966  "openid",
967  "profile",
968  "address",
969  "email");
970  String state = UUID.randomUUID().toString();
971 
972  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
973  authorizationRequest.setState(state);
974 
976  authorizationEndpoint, authorizationRequest, userId, userSecret);
977 
978  assertNotNull(authorizationResponse.getLocation(), "The location is null");
979  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
980  assertNotNull(authorizationResponse.getState(), "The state is null");
981  assertNotNull(authorizationResponse.getScope(), "The scope is null");
982  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
983 
984  String authorizationCode = authorizationResponse.getCode();
985 
986  // 4. Get Access Token
987  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
988 
990  tokenRequest.setAudience(tokenEndpoint);
991  tokenRequest.setCode(authorizationCode);
992  tokenRequest.setRedirectUri(redirectUri);
993  tokenRequest.setAuthUsername(clientId);
994  tokenRequest.setAuthPassword(clientSecret);
996  tokenRequest.setCryptoProvider(cryptoProvider);
997 
998  TokenClient tokenClient = new TokenClient(tokenEndpoint);
999  tokenClient.setRequest(tokenRequest);
1000  TokenResponse tokenResponse = tokenClient.exec();
1001 
1002  showClient(tokenClient);
1003  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
1004  assertNotNull(tokenResponse.getEntity(), "The entity is null");
1005  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
1006  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
1007  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
1008  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
1009  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtES256Fail()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtES256Fail ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  keyId,
final String  sectorIdentifierUri 
) throws Exception
inline

If token_endpoint_auth_signing_alg is omitted in client registration, only symmetric algorithm supported by the OP and the RP can be used.

1666  {
1667  showTitle("tokenEndpointAuthMethodClientSecretJwtES256Fail");
1668 
1669  // 1. Register client
1670  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
1671  StringUtils.spaceSeparatedToList(redirectUris));
1673  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
1674 
1675  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
1676  registerClient.setRequest(registerRequest);
1677  RegisterResponse registerResponse = registerClient.exec();
1678 
1679  showClient(registerClient);
1680  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
1681  assertNotNull(registerResponse.getClientId());
1682  assertNotNull(registerResponse.getClientSecret());
1683  assertNotNull(registerResponse.getRegistrationAccessToken());
1684  assertNotNull(registerResponse.getClientIdIssuedAt());
1685  assertNotNull(registerResponse.getClientSecretExpiresAt());
1686 
1687  String clientId = registerResponse.getClientId();
1688  String clientSecret = registerResponse.getClientSecret();
1689  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
1690  String registrationClientUri = registerResponse.getRegistrationClientUri();
1691 
1692  // 2. Client read
1693  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
1694 
1695  RegisterClient readClient = new RegisterClient(registrationClientUri);
1696  readClient.setRequest(readClientRequest);
1697  RegisterResponse readClientResponse = readClient.exec();
1698 
1699  showClient(readClient);
1700  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
1701  assertNotNull(readClientResponse.getClientId());
1702  assertNotNull(readClientResponse.getClientSecret());
1703  assertNotNull(readClientResponse.getClientIdIssuedAt());
1704  assertNotNull(readClientResponse.getClientSecretExpiresAt());
1705 
1706  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
1707  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
1709  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
1710  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
1711  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
1712  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
1713  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
1714  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
1715 
1716  // 3. Request authorization
1717  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
1718  List<String> scopes = Arrays.asList(
1719  "openid",
1720  "profile",
1721  "address",
1722  "email");
1723  String state = UUID.randomUUID().toString();
1724 
1725  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
1726  authorizationRequest.setState(state);
1727 
1729  authorizationEndpoint, authorizationRequest, userId, userSecret);
1730 
1731  assertNotNull(authorizationResponse.getLocation(), "The location is null");
1732  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
1733  assertNotNull(authorizationResponse.getState(), "The state is null");
1734  assertNotNull(authorizationResponse.getScope(), "The scope is null");
1735  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
1736 
1737  String authorizationCode = authorizationResponse.getCode();
1738 
1739  // 4. Get Access Token
1740  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1741 
1743  tokenRequest.setAudience(tokenEndpoint);
1744  tokenRequest.setCode(authorizationCode);
1745  tokenRequest.setRedirectUri(redirectUri);
1746  tokenRequest.setAuthUsername(clientId);
1747  tokenRequest.setAuthPassword(clientSecret);
1749  tokenRequest.setAlgorithm(SignatureAlgorithm.ES256);
1750  tokenRequest.setKeyId(keyId);
1751  tokenRequest.setCryptoProvider(cryptoProvider);
1752 
1753  TokenClient tokenClient = new TokenClient(tokenEndpoint);
1754  tokenClient.setRequest(tokenRequest);
1755  TokenResponse tokenResponse = tokenClient.exec();
1756 
1757  showClient(tokenClient);
1758  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
1759  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
1760  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
1761  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
ES256
Definition: SignatureAlgorithm.java:29
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtES384Fail()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtES384Fail ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  keyId,
final String  sectorIdentifierUri 
) throws Exception
inline

If token_endpoint_auth_signing_alg is omitted in client registration, only symmetric algorithm supported by the OP and the RP can be used.

1773  {
1774  showTitle("tokenEndpointAuthMethodClientSecretJwtES384Fail");
1775 
1776  // 1. Register client
1777  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
1778  StringUtils.spaceSeparatedToList(redirectUris));
1780  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
1781 
1782  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
1783  registerClient.setRequest(registerRequest);
1784  RegisterResponse registerResponse = registerClient.exec();
1785 
1786  showClient(registerClient);
1787  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
1788  assertNotNull(registerResponse.getClientId());
1789  assertNotNull(registerResponse.getClientSecret());
1790  assertNotNull(registerResponse.getRegistrationAccessToken());
1791  assertNotNull(registerResponse.getClientIdIssuedAt());
1792  assertNotNull(registerResponse.getClientSecretExpiresAt());
1793 
1794  String clientId = registerResponse.getClientId();
1795  String clientSecret = registerResponse.getClientSecret();
1796  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
1797  String registrationClientUri = registerResponse.getRegistrationClientUri();
1798 
1799  // 2. Client read
1800  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
1801 
1802  RegisterClient readClient = new RegisterClient(registrationClientUri);
1803  readClient.setRequest(readClientRequest);
1804  RegisterResponse readClientResponse = readClient.exec();
1805 
1806  showClient(readClient);
1807  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
1808  assertNotNull(readClientResponse.getClientId());
1809  assertNotNull(readClientResponse.getClientSecret());
1810  assertNotNull(readClientResponse.getClientIdIssuedAt());
1811  assertNotNull(readClientResponse.getClientSecretExpiresAt());
1812 
1813  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
1814  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
1816  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
1817  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
1818  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
1819  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
1820  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
1821  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
1822 
1823  // 3. Request authorization
1824  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
1825  List<String> scopes = Arrays.asList(
1826  "openid",
1827  "profile",
1828  "address",
1829  "email");
1830  String state = UUID.randomUUID().toString();
1831 
1832  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
1833  authorizationRequest.setState(state);
1834 
1836  authorizationEndpoint, authorizationRequest, userId, userSecret);
1837 
1838  assertNotNull(authorizationResponse.getLocation(), "The location is null");
1839  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
1840  assertNotNull(authorizationResponse.getState(), "The state is null");
1841  assertNotNull(authorizationResponse.getScope(), "The scope is null");
1842  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
1843 
1844  String authorizationCode = authorizationResponse.getCode();
1845 
1846  // 4. Get Access Token
1847  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1848 
1850  tokenRequest.setAudience(tokenEndpoint);
1851  tokenRequest.setCode(authorizationCode);
1852  tokenRequest.setRedirectUri(redirectUri);
1853  tokenRequest.setAuthUsername(clientId);
1854  tokenRequest.setAuthPassword(clientSecret);
1856  tokenRequest.setAlgorithm(SignatureAlgorithm.ES384);
1857  tokenRequest.setKeyId(keyId);
1858  tokenRequest.setCryptoProvider(cryptoProvider);
1859 
1860  TokenClient tokenClient = new TokenClient(tokenEndpoint);
1861  tokenClient.setRequest(tokenRequest);
1862  TokenResponse tokenResponse = tokenClient.exec();
1863 
1864  showClient(tokenClient);
1865  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
1866  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
1867  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
1868  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
ES384
Definition: SignatureAlgorithm.java:30
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtES512Fail()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtES512Fail ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  keyId,
final String  sectorIdentifierUri 
) throws Exception
inline

If token_endpoint_auth_signing_alg is omitted in client registration, only symmetric algorithm supported by the OP and the RP can be used.

1880  {
1881  showTitle("tokenEndpointAuthMethodClientSecretJwtES512Fail");
1882 
1883  // 1. Register client
1884  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
1885  StringUtils.spaceSeparatedToList(redirectUris));
1887  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
1888 
1889  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
1890  registerClient.setRequest(registerRequest);
1891  RegisterResponse registerResponse = registerClient.exec();
1892 
1893  showClient(registerClient);
1894  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
1895  assertNotNull(registerResponse.getClientId());
1896  assertNotNull(registerResponse.getClientSecret());
1897  assertNotNull(registerResponse.getRegistrationAccessToken());
1898  assertNotNull(registerResponse.getClientIdIssuedAt());
1899  assertNotNull(registerResponse.getClientSecretExpiresAt());
1900 
1901  String clientId = registerResponse.getClientId();
1902  String clientSecret = registerResponse.getClientSecret();
1903  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
1904  String registrationClientUri = registerResponse.getRegistrationClientUri();
1905 
1906  // 2. Client read
1907  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
1908 
1909  RegisterClient readClient = new RegisterClient(registrationClientUri);
1910  readClient.setRequest(readClientRequest);
1911  RegisterResponse readClientResponse = readClient.exec();
1912 
1913  showClient(readClient);
1914  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
1915  assertNotNull(readClientResponse.getClientId());
1916  assertNotNull(readClientResponse.getClientSecret());
1917  assertNotNull(readClientResponse.getClientIdIssuedAt());
1918  assertNotNull(readClientResponse.getClientSecretExpiresAt());
1919 
1920  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
1921  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
1923  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
1924  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
1925  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
1926  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
1927  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
1928  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
1929 
1930  // 3. Request authorization
1931  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
1932  List<String> scopes = Arrays.asList(
1933  "openid",
1934  "profile",
1935  "address",
1936  "email");
1937  String state = UUID.randomUUID().toString();
1938 
1939  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
1940  authorizationRequest.setState(state);
1941 
1943  authorizationEndpoint, authorizationRequest, userId, userSecret);
1944 
1945  assertNotNull(authorizationResponse.getLocation(), "The location is null");
1946  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
1947  assertNotNull(authorizationResponse.getState(), "The state is null");
1948  assertNotNull(authorizationResponse.getScope(), "The scope is null");
1949  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
1950 
1951  String authorizationCode = authorizationResponse.getCode();
1952 
1953  // 4. Get Access Token
1954  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1955 
1957  tokenRequest.setAudience(tokenEndpoint);
1958  tokenRequest.setCode(authorizationCode);
1959  tokenRequest.setRedirectUri(redirectUri);
1960  tokenRequest.setAuthUsername(clientId);
1961  tokenRequest.setAuthPassword(clientSecret);
1963  tokenRequest.setAlgorithm(SignatureAlgorithm.ES512);
1964  tokenRequest.setKeyId(keyId);
1965  tokenRequest.setCryptoProvider(cryptoProvider);
1966 
1967  TokenClient tokenClient = new TokenClient(tokenEndpoint);
1968  tokenClient.setRequest(tokenRequest);
1969  TokenResponse tokenResponse = tokenClient.exec();
1970 
1971  showClient(tokenClient);
1972  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
1973  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
1974  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
1975  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
ES512
Definition: SignatureAlgorithm.java:31
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtFail1()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtFail1 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Fail 1: Call to Token Endpoint with Auth Method client_secret_basic should fail.

2938  {
2939  showTitle("tokenEndpointAuthMethodClientSecretJwtFail1");
2940 
2941  // 1. Register client
2942  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
2943  StringUtils.spaceSeparatedToList(redirectUris));
2945  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
2946 
2947  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
2948  registerClient.setRequest(registerRequest);
2949  RegisterResponse registerResponse = registerClient.exec();
2950 
2951  showClient(registerClient);
2952  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
2953  assertNotNull(registerResponse.getClientId());
2954  assertNotNull(registerResponse.getClientSecret());
2955  assertNotNull(registerResponse.getRegistrationAccessToken());
2956  assertNotNull(registerResponse.getClientIdIssuedAt());
2957  assertNotNull(registerResponse.getClientSecretExpiresAt());
2958 
2959  String clientId = registerResponse.getClientId();
2960  String clientSecret = registerResponse.getClientSecret();
2961  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
2962  String registrationClientUri = registerResponse.getRegistrationClientUri();
2963 
2964  // 2. Client read
2965  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
2966 
2967  RegisterClient readClient = new RegisterClient(registrationClientUri);
2968  readClient.setRequest(readClientRequest);
2969  RegisterResponse readClientResponse = readClient.exec();
2970 
2971  showClient(readClient);
2972  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
2973  assertNotNull(readClientResponse.getClientId());
2974  assertNotNull(readClientResponse.getClientSecret());
2975  assertNotNull(readClientResponse.getClientIdIssuedAt());
2976  assertNotNull(readClientResponse.getClientSecretExpiresAt());
2977 
2978  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
2979  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
2981  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
2982  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
2983  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
2984  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
2985  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
2986  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
2987 
2988  // 3. Request authorization
2989  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
2990  List<String> scopes = Arrays.asList(
2991  "openid",
2992  "profile",
2993  "address",
2994  "email");
2995  String state = UUID.randomUUID().toString();
2996 
2997  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
2998  authorizationRequest.setState(state);
2999 
3001  authorizationEndpoint, authorizationRequest, userId, userSecret);
3002 
3003  assertNotNull(authorizationResponse.getLocation(), "The location is null");
3004  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
3005  assertNotNull(authorizationResponse.getState(), "The state is null");
3006  assertNotNull(authorizationResponse.getScope(), "The scope is null");
3007  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
3008 
3009  String authorizationCode = authorizationResponse.getCode();
3010 
3011  // 4. Get Access Token
3013  tokenRequest.setCode(authorizationCode);
3014  tokenRequest.setRedirectUri(redirectUri);
3015  tokenRequest.setAuthUsername(clientId);
3016  tokenRequest.setAuthPassword(clientSecret);
3018 
3019  TokenClient tokenClient = new TokenClient(tokenEndpoint);
3020  tokenClient.setRequest(tokenRequest);
3021  TokenResponse tokenResponse = tokenClient.exec();
3022 
3023  showClient(tokenClient);
3024  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
3025  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
3026  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
3027  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtFail2()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtFail2 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Fail 2: Call to Token Endpoint with Auth Method client_secret_post should fail.

3036  {
3037  showTitle("tokenEndpointAuthMethodClientSecretJwtFail2");
3038 
3039  // 1. Register client
3040  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
3041  StringUtils.spaceSeparatedToList(redirectUris));
3043  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
3044 
3045  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
3046  registerClient.setRequest(registerRequest);
3047  RegisterResponse registerResponse = registerClient.exec();
3048 
3049  showClient(registerClient);
3050  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
3051  assertNotNull(registerResponse.getClientId());
3052  assertNotNull(registerResponse.getClientSecret());
3053  assertNotNull(registerResponse.getRegistrationAccessToken());
3054  assertNotNull(registerResponse.getClientIdIssuedAt());
3055  assertNotNull(registerResponse.getClientSecretExpiresAt());
3056 
3057  String clientId = registerResponse.getClientId();
3058  String clientSecret = registerResponse.getClientSecret();
3059  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
3060  String registrationClientUri = registerResponse.getRegistrationClientUri();
3061 
3062  // 2. Client read
3063  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
3064 
3065  RegisterClient readClient = new RegisterClient(registrationClientUri);
3066  readClient.setRequest(readClientRequest);
3067  RegisterResponse readClientResponse = readClient.exec();
3068 
3069  showClient(readClient);
3070  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
3071  assertNotNull(readClientResponse.getClientId());
3072  assertNotNull(readClientResponse.getClientSecret());
3073  assertNotNull(readClientResponse.getClientIdIssuedAt());
3074  assertNotNull(readClientResponse.getClientSecretExpiresAt());
3075 
3076  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
3077  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
3079  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
3080  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
3081  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
3082  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
3083  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
3084  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
3085 
3086  // 3. Request authorization
3087  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
3088  List<String> scopes = Arrays.asList(
3089  "openid",
3090  "profile",
3091  "address",
3092  "email");
3093  String state = UUID.randomUUID().toString();
3094 
3095  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
3096  authorizationRequest.setState(state);
3097 
3099  authorizationEndpoint, authorizationRequest, userId, userSecret);
3100 
3101  assertNotNull(authorizationResponse.getLocation(), "The location is null");
3102  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
3103  assertNotNull(authorizationResponse.getState(), "The state is null");
3104  assertNotNull(authorizationResponse.getScope(), "The scope is null");
3105  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
3106 
3107  String authorizationCode = authorizationResponse.getCode();
3108 
3109  // 4. Get Access Token
3111  tokenRequest.setCode(authorizationCode);
3112  tokenRequest.setRedirectUri(redirectUri);
3113  tokenRequest.setAuthUsername(clientId);
3114  tokenRequest.setAuthPassword(clientSecret);
3116 
3117  TokenClient tokenClient = new TokenClient(tokenEndpoint);
3118  tokenClient.setRequest(tokenRequest);
3119  TokenResponse tokenResponse = tokenClient.exec();
3120 
3121  showClient(tokenClient);
3122  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
3123  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
3124  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
3125  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
static void showClient(BaseClient client)
Definition: BaseTest.java:775
CLIENT_SECRET_POST
Definition: AuthenticationMethod.java:24
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtFail3()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtFail3 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  keyId,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Fail 3: Call to Token Endpoint with Auth Method private_key_jwt should fail.

3135  {
3136  showTitle("tokenEndpointAuthMethodClientSecretJwtFail3");
3137 
3138  // 1. Register client
3139  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
3140  StringUtils.spaceSeparatedToList(redirectUris));
3142  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
3143 
3144  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
3145  registerClient.setRequest(registerRequest);
3146  RegisterResponse registerResponse = registerClient.exec();
3147 
3148  showClient(registerClient);
3149  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
3150  assertNotNull(registerResponse.getClientId());
3151  assertNotNull(registerResponse.getClientSecret());
3152  assertNotNull(registerResponse.getRegistrationAccessToken());
3153  assertNotNull(registerResponse.getClientIdIssuedAt());
3154  assertNotNull(registerResponse.getClientSecretExpiresAt());
3155 
3156  String clientId = registerResponse.getClientId();
3157  String clientSecret = registerResponse.getClientSecret();
3158  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
3159  String registrationClientUri = registerResponse.getRegistrationClientUri();
3160 
3161  // 2. Client read
3162  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
3163 
3164  RegisterClient readClient = new RegisterClient(registrationClientUri);
3165  readClient.setRequest(readClientRequest);
3166  RegisterResponse readClientResponse = readClient.exec();
3167 
3168  showClient(readClient);
3169  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
3170  assertNotNull(readClientResponse.getClientId());
3171  assertNotNull(readClientResponse.getClientSecret());
3172  assertNotNull(readClientResponse.getClientIdIssuedAt());
3173  assertNotNull(readClientResponse.getClientSecretExpiresAt());
3174 
3175  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
3176  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
3178  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
3179  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
3180  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
3181  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
3182  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
3183  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
3184 
3185  // 3. Request authorization
3186  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
3187  List<String> scopes = Arrays.asList(
3188  "openid",
3189  "profile",
3190  "address",
3191  "email");
3192  String state = UUID.randomUUID().toString();
3193 
3194  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
3195  authorizationRequest.setState(state);
3196 
3198  authorizationEndpoint, authorizationRequest, userId, userSecret);
3199 
3200  assertNotNull(authorizationResponse.getLocation(), "The location is null");
3201  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
3202  assertNotNull(authorizationResponse.getState(), "The state is null");
3203  assertNotNull(authorizationResponse.getScope(), "The scope is null");
3204  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
3205 
3206  String authorizationCode = authorizationResponse.getCode();
3207 
3208  // 4. Get Access Token
3209  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, null);
3210 
3213  tokenRequest.setAlgorithm(SignatureAlgorithm.RS256);
3214  tokenRequest.setKeyId(keyId);
3215  tokenRequest.setCryptoProvider(cryptoProvider);
3216  tokenRequest.setAudience(tokenEndpoint);
3217  tokenRequest.setCode(authorizationCode);
3218  tokenRequest.setRedirectUri(redirectUri);
3219  tokenRequest.setAuthUsername(clientId);
3220  tokenRequest.setAuthPassword(clientSecret);
3221 
3222 
3223  TokenClient tokenClient = new TokenClient(tokenEndpoint);
3224  tokenClient.setRequest(tokenRequest);
3225  TokenResponse tokenResponse = tokenClient.exec();
3226 
3227  showClient(tokenClient);
3228  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
3229  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
3230  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
3231  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtHS256()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtHS256 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

If token_endpoint_auth_signing_alg is omitted in client registration, only symmetric algorithm supported by the OP and the RP can be used.

1020  {
1021  showTitle("tokenEndpointAuthMethodClientSecretJwtHS256");
1022 
1023  // 1. Register client
1024  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
1025  StringUtils.spaceSeparatedToList(redirectUris));
1027  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
1028 
1029  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
1030  registerClient.setRequest(registerRequest);
1031  RegisterResponse registerResponse = registerClient.exec();
1032 
1033  showClient(registerClient);
1034  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
1035  assertNotNull(registerResponse.getClientId());
1036  assertNotNull(registerResponse.getClientSecret());
1037  assertNotNull(registerResponse.getRegistrationAccessToken());
1038  assertNotNull(registerResponse.getClientIdIssuedAt());
1039  assertNotNull(registerResponse.getClientSecretExpiresAt());
1040 
1041  String clientId = registerResponse.getClientId();
1042  String clientSecret = registerResponse.getClientSecret();
1043  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
1044  String registrationClientUri = registerResponse.getRegistrationClientUri();
1045 
1046  // 2. Client read
1047  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
1048 
1049  RegisterClient readClient = new RegisterClient(registrationClientUri);
1050  readClient.setRequest(readClientRequest);
1051  RegisterResponse readClientResponse = readClient.exec();
1052 
1053  showClient(readClient);
1054  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
1055  assertNotNull(readClientResponse.getClientId());
1056  assertNotNull(readClientResponse.getClientSecret());
1057  assertNotNull(readClientResponse.getClientIdIssuedAt());
1058  assertNotNull(readClientResponse.getClientSecretExpiresAt());
1059 
1060  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
1061  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
1063  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
1064  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
1065  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
1066  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
1067  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
1068  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
1069 
1070  // 3. Request authorization
1071  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
1072  List<String> scopes = Arrays.asList(
1073  "openid",
1074  "profile",
1075  "address",
1076  "email");
1077  String state = UUID.randomUUID().toString();
1078 
1079  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
1080  authorizationRequest.setState(state);
1081 
1083  authorizationEndpoint, authorizationRequest, userId, userSecret);
1084 
1085  assertNotNull(authorizationResponse.getLocation(), "The location is null");
1086  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
1087  assertNotNull(authorizationResponse.getState(), "The state is null");
1088  assertNotNull(authorizationResponse.getScope(), "The scope is null");
1089  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
1090 
1091  String authorizationCode = authorizationResponse.getCode();
1092 
1093  // 4. Get Access Token
1094  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1095 
1097  tokenRequest.setAudience(tokenEndpoint);
1098  tokenRequest.setCode(authorizationCode);
1099  tokenRequest.setRedirectUri(redirectUri);
1100  tokenRequest.setAuthUsername(clientId);
1101  tokenRequest.setAuthPassword(clientSecret);
1103  tokenRequest.setAlgorithm(SignatureAlgorithm.HS256);
1104  tokenRequest.setCryptoProvider(cryptoProvider);
1105 
1106  TokenClient tokenClient = new TokenClient(tokenEndpoint);
1107  tokenClient.setRequest(tokenRequest);
1108  TokenResponse tokenResponse = tokenClient.exec();
1109 
1110  showClient(tokenClient);
1111  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
1112  assertNotNull(tokenResponse.getEntity(), "The entity is null");
1113  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
1114  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
1115  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
1116  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
1117  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
HS256
Definition: SignatureAlgorithm.java:23
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtHS384()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtHS384 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

If token_endpoint_auth_signing_alg is omitted in client registration, only symmetric algorithm supported by the OP and the RP can be used.

1128  {
1129  showTitle("tokenEndpointAuthMethodClientSecretJwtHS384");
1130 
1131  // 1. Register client
1132  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
1133  StringUtils.spaceSeparatedToList(redirectUris));
1135  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
1136 
1137  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
1138  registerClient.setRequest(registerRequest);
1139  RegisterResponse registerResponse = registerClient.exec();
1140 
1141  showClient(registerClient);
1142  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
1143  assertNotNull(registerResponse.getClientId());
1144  assertNotNull(registerResponse.getClientSecret());
1145  assertNotNull(registerResponse.getRegistrationAccessToken());
1146  assertNotNull(registerResponse.getClientIdIssuedAt());
1147  assertNotNull(registerResponse.getClientSecretExpiresAt());
1148 
1149  String clientId = registerResponse.getClientId();
1150  String clientSecret = registerResponse.getClientSecret();
1151  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
1152  String registrationClientUri = registerResponse.getRegistrationClientUri();
1153 
1154  // 2. Client read
1155  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
1156 
1157  RegisterClient readClient = new RegisterClient(registrationClientUri);
1158  readClient.setRequest(readClientRequest);
1159  RegisterResponse readClientResponse = readClient.exec();
1160 
1161  showClient(readClient);
1162  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
1163  assertNotNull(readClientResponse.getClientId());
1164  assertNotNull(readClientResponse.getClientSecret());
1165  assertNotNull(readClientResponse.getClientIdIssuedAt());
1166  assertNotNull(readClientResponse.getClientSecretExpiresAt());
1167 
1168  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
1169  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
1171  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
1172  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
1173  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
1174  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
1175  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
1176  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
1177 
1178  // 3. Request authorization
1179  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
1180  List<String> scopes = Arrays.asList(
1181  "openid",
1182  "profile",
1183  "address",
1184  "email");
1185  String state = UUID.randomUUID().toString();
1186 
1187  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
1188  authorizationRequest.setState(state);
1189 
1191  authorizationEndpoint, authorizationRequest, userId, userSecret);
1192 
1193  assertNotNull(authorizationResponse.getLocation(), "The location is null");
1194  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
1195  assertNotNull(authorizationResponse.getState(), "The state is null");
1196  assertNotNull(authorizationResponse.getScope(), "The scope is null");
1197  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
1198 
1199  String authorizationCode = authorizationResponse.getCode();
1200 
1201  // 4. Get Access Token
1202  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1203 
1205  tokenRequest.setAudience(tokenEndpoint);
1206  tokenRequest.setCode(authorizationCode);
1207  tokenRequest.setRedirectUri(redirectUri);
1208  tokenRequest.setAuthUsername(clientId);
1209  tokenRequest.setAuthPassword(clientSecret);
1211  tokenRequest.setAlgorithm(SignatureAlgorithm.HS384);
1212  tokenRequest.setCryptoProvider(cryptoProvider);
1213 
1214  TokenClient tokenClient = new TokenClient(tokenEndpoint);
1215  tokenClient.setRequest(tokenRequest);
1216  TokenResponse tokenResponse = tokenClient.exec();
1217 
1218  showClient(tokenClient);
1219  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
1220  assertNotNull(tokenResponse.getEntity(), "The entity is null");
1221  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
1222  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
1223  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
1224  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
1225  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
HS384
Definition: SignatureAlgorithm.java:24
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtHS512()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtHS512 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

If token_endpoint_auth_signing_alg is omitted in client registration, any algorithm supported by the OP and the RP can be used.

1236  {
1237  showTitle("tokenEndpointAuthMethodClientSecretJwtHS512");
1238 
1239  // 1. Register client
1240  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
1241  StringUtils.spaceSeparatedToList(redirectUris));
1243  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
1244 
1245  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
1246  registerClient.setRequest(registerRequest);
1247  RegisterResponse registerResponse = registerClient.exec();
1248 
1249  showClient(registerClient);
1250  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
1251  assertNotNull(registerResponse.getClientId());
1252  assertNotNull(registerResponse.getClientSecret());
1253  assertNotNull(registerResponse.getRegistrationAccessToken());
1254  assertNotNull(registerResponse.getClientIdIssuedAt());
1255  assertNotNull(registerResponse.getClientSecretExpiresAt());
1256 
1257  String clientId = registerResponse.getClientId();
1258  String clientSecret = registerResponse.getClientSecret();
1259  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
1260  String registrationClientUri = registerResponse.getRegistrationClientUri();
1261 
1262  // 2. Client read
1263  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
1264 
1265  RegisterClient readClient = new RegisterClient(registrationClientUri);
1266  readClient.setRequest(readClientRequest);
1267  RegisterResponse readClientResponse = readClient.exec();
1268 
1269  showClient(readClient);
1270  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
1271  assertNotNull(readClientResponse.getClientId());
1272  assertNotNull(readClientResponse.getClientSecret());
1273  assertNotNull(readClientResponse.getClientIdIssuedAt());
1274  assertNotNull(readClientResponse.getClientSecretExpiresAt());
1275 
1276  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
1277  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
1279  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
1280  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
1281  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
1282  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
1283  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
1284  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
1285 
1286  // 3. Request authorization
1287  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
1288  List<String> scopes = Arrays.asList(
1289  "openid",
1290  "profile",
1291  "address",
1292  "email");
1293  String state = UUID.randomUUID().toString();
1294 
1295  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
1296  authorizationRequest.setState(state);
1297 
1299  authorizationEndpoint, authorizationRequest, userId, userSecret);
1300 
1301  assertNotNull(authorizationResponse.getLocation(), "The location is null");
1302  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
1303  assertNotNull(authorizationResponse.getState(), "The state is null");
1304  assertNotNull(authorizationResponse.getScope(), "The scope is null");
1305  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
1306 
1307  String authorizationCode = authorizationResponse.getCode();
1308 
1309  // 4. Get Access Token
1310  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1311 
1313  tokenRequest.setAudience(tokenEndpoint);
1314  tokenRequest.setCode(authorizationCode);
1315  tokenRequest.setRedirectUri(redirectUri);
1316  tokenRequest.setAuthUsername(clientId);
1317  tokenRequest.setAuthPassword(clientSecret);
1319  tokenRequest.setAlgorithm(SignatureAlgorithm.HS512);
1320  tokenRequest.setCryptoProvider(cryptoProvider);
1321 
1322  TokenClient tokenClient = new TokenClient(tokenEndpoint);
1323  tokenClient.setRequest(tokenRequest);
1324  TokenResponse tokenResponse = tokenClient.exec();
1325 
1326  showClient(tokenClient);
1327  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
1328  assertNotNull(tokenResponse.getEntity(), "The entity is null");
1329  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
1330  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
1331  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
1332  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
1333  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
HS512
Definition: SignatureAlgorithm.java:25
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtRS256Fail()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtRS256Fail ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  keyId,
final String  sectorIdentifierUri 
) throws Exception
inline

If token_endpoint_auth_signing_alg is omitted in client registration, only symmetric algorithm supported by the OP and the RP can be used.

1345  {
1346  showTitle("tokenEndpointAuthMethodClientSecretJwtRS256Fail");
1347 
1348  // 1. Register client
1349  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
1350  StringUtils.spaceSeparatedToList(redirectUris));
1352  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
1353 
1354  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
1355  registerClient.setRequest(registerRequest);
1356  RegisterResponse registerResponse = registerClient.exec();
1357 
1358  showClient(registerClient);
1359  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
1360  assertNotNull(registerResponse.getClientId());
1361  assertNotNull(registerResponse.getClientSecret());
1362  assertNotNull(registerResponse.getRegistrationAccessToken());
1363  assertNotNull(registerResponse.getClientIdIssuedAt());
1364  assertNotNull(registerResponse.getClientSecretExpiresAt());
1365 
1366  String clientId = registerResponse.getClientId();
1367  String clientSecret = registerResponse.getClientSecret();
1368  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
1369  String registrationClientUri = registerResponse.getRegistrationClientUri();
1370 
1371  // 2. Client read
1372  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
1373 
1374  RegisterClient readClient = new RegisterClient(registrationClientUri);
1375  readClient.setRequest(readClientRequest);
1376  RegisterResponse readClientResponse = readClient.exec();
1377 
1378  showClient(readClient);
1379  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
1380  assertNotNull(readClientResponse.getClientId());
1381  assertNotNull(readClientResponse.getClientSecret());
1382  assertNotNull(readClientResponse.getClientIdIssuedAt());
1383  assertNotNull(readClientResponse.getClientSecretExpiresAt());
1384 
1385  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
1386  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
1388  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
1389  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
1390  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
1391  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
1392  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
1393  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
1394 
1395  // 3. Request authorization
1396  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
1397  List<String> scopes = Arrays.asList(
1398  "openid",
1399  "profile",
1400  "address",
1401  "email");
1402  String state = UUID.randomUUID().toString();
1403 
1404  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
1405  authorizationRequest.setState(state);
1406 
1408  authorizationEndpoint, authorizationRequest, userId, userSecret);
1409 
1410  assertNotNull(authorizationResponse.getLocation(), "The location is null");
1411  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
1412  assertNotNull(authorizationResponse.getState(), "The state is null");
1413  assertNotNull(authorizationResponse.getScope(), "The scope is null");
1414  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
1415 
1416  String authorizationCode = authorizationResponse.getCode();
1417 
1418  // 4. Get Access Token
1419  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1420 
1422  tokenRequest.setAudience(tokenEndpoint);
1423  tokenRequest.setCode(authorizationCode);
1424  tokenRequest.setRedirectUri(redirectUri);
1425  tokenRequest.setAuthUsername(clientId);
1426  tokenRequest.setAuthPassword(clientSecret);
1428  tokenRequest.setAlgorithm(SignatureAlgorithm.RS256);
1429  tokenRequest.setKeyId(keyId);
1430  tokenRequest.setCryptoProvider(cryptoProvider);
1431 
1432  TokenClient tokenClient = new TokenClient(tokenEndpoint);
1433  tokenClient.setRequest(tokenRequest);
1434  TokenResponse tokenResponse = tokenClient.exec();
1435 
1436  showClient(tokenClient);
1437  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
1438  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
1439  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
1440  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtRS384Fail()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtRS384Fail ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  keyId,
final String  sectorIdentifierUri 
) throws Exception
inline

If token_endpoint_auth_signing_alg is omitted in client registration, only symmetric algorithm supported by the OP and the RP can be used.

1452  {
1453  showTitle("tokenEndpointAuthMethodClientSecretJwtRS384Fail");
1454 
1455  // 1. Register client
1456  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
1457  StringUtils.spaceSeparatedToList(redirectUris));
1459  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
1460 
1461  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
1462  registerClient.setRequest(registerRequest);
1463  RegisterResponse registerResponse = registerClient.exec();
1464 
1465  showClient(registerClient);
1466  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
1467  assertNotNull(registerResponse.getClientId());
1468  assertNotNull(registerResponse.getClientSecret());
1469  assertNotNull(registerResponse.getRegistrationAccessToken());
1470  assertNotNull(registerResponse.getClientIdIssuedAt());
1471  assertNotNull(registerResponse.getClientSecretExpiresAt());
1472 
1473  String clientId = registerResponse.getClientId();
1474  String clientSecret = registerResponse.getClientSecret();
1475  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
1476  String registrationClientUri = registerResponse.getRegistrationClientUri();
1477 
1478  // 2. Client read
1479  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
1480 
1481  RegisterClient readClient = new RegisterClient(registrationClientUri);
1482  readClient.setRequest(readClientRequest);
1483  RegisterResponse readClientResponse = readClient.exec();
1484 
1485  showClient(readClient);
1486  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
1487  assertNotNull(readClientResponse.getClientId());
1488  assertNotNull(readClientResponse.getClientSecret());
1489  assertNotNull(readClientResponse.getClientIdIssuedAt());
1490  assertNotNull(readClientResponse.getClientSecretExpiresAt());
1491 
1492  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
1493  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
1495  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
1496  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
1497  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
1498  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
1499  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
1500  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
1501 
1502  // 3. Request authorization
1503  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
1504  List<String> scopes = Arrays.asList(
1505  "openid",
1506  "profile",
1507  "address",
1508  "email");
1509  String state = UUID.randomUUID().toString();
1510 
1511  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
1512  authorizationRequest.setState(state);
1513 
1515  authorizationEndpoint, authorizationRequest, userId, userSecret);
1516 
1517  assertNotNull(authorizationResponse.getLocation(), "The location is null");
1518  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
1519  assertNotNull(authorizationResponse.getState(), "The state is null");
1520  assertNotNull(authorizationResponse.getScope(), "The scope is null");
1521  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
1522 
1523  String authorizationCode = authorizationResponse.getCode();
1524 
1525  // 4. Get Access Token
1526  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1527 
1529  tokenRequest.setAudience(tokenEndpoint);
1530  tokenRequest.setCode(authorizationCode);
1531  tokenRequest.setRedirectUri(redirectUri);
1532  tokenRequest.setAuthUsername(clientId);
1533  tokenRequest.setAuthPassword(clientSecret);
1535  tokenRequest.setAlgorithm(SignatureAlgorithm.RS384);
1536  tokenRequest.setKeyId(keyId);
1537  tokenRequest.setCryptoProvider(cryptoProvider);
1538 
1539  TokenClient tokenClient = new TokenClient(tokenEndpoint);
1540  tokenClient.setRequest(tokenRequest);
1541  TokenResponse tokenResponse = tokenClient.exec();
1542 
1543  showClient(tokenClient);
1544  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
1545  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
1546  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
1547  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtRS512Fail()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtRS512Fail ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  keyId,
final String  sectorIdentifierUri 
) throws Exception
inline

If token_endpoint_auth_signing_alg is omitted in client registration, only symmetric algorithm supported by the OP and the RP can be used.

1559  {
1560  showTitle("tokenEndpointAuthMethodClientSecretJwtRS512Fail");
1561 
1562  // 1. Register client
1563  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
1564  StringUtils.spaceSeparatedToList(redirectUris));
1566  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
1567 
1568  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
1569  registerClient.setRequest(registerRequest);
1570  RegisterResponse registerResponse = registerClient.exec();
1571 
1572  showClient(registerClient);
1573  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
1574  assertNotNull(registerResponse.getClientId());
1575  assertNotNull(registerResponse.getClientSecret());
1576  assertNotNull(registerResponse.getRegistrationAccessToken());
1577  assertNotNull(registerResponse.getClientIdIssuedAt());
1578  assertNotNull(registerResponse.getClientSecretExpiresAt());
1579 
1580  String clientId = registerResponse.getClientId();
1581  String clientSecret = registerResponse.getClientSecret();
1582  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
1583  String registrationClientUri = registerResponse.getRegistrationClientUri();
1584 
1585  // 2. Client read
1586  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
1587 
1588  RegisterClient readClient = new RegisterClient(registrationClientUri);
1589  readClient.setRequest(readClientRequest);
1590  RegisterResponse readClientResponse = readClient.exec();
1591 
1592  showClient(readClient);
1593  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
1594  assertNotNull(readClientResponse.getClientId());
1595  assertNotNull(readClientResponse.getClientSecret());
1596  assertNotNull(readClientResponse.getClientIdIssuedAt());
1597  assertNotNull(readClientResponse.getClientSecretExpiresAt());
1598 
1599  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
1600  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
1602  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
1603  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
1604  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
1605  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
1606  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
1607  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
1608 
1609  // 3. Request authorization
1610  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
1611  List<String> scopes = Arrays.asList(
1612  "openid",
1613  "profile",
1614  "address",
1615  "email");
1616  String state = UUID.randomUUID().toString();
1617 
1618  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
1619  authorizationRequest.setState(state);
1620 
1622  authorizationEndpoint, authorizationRequest, userId, userSecret);
1623 
1624  assertNotNull(authorizationResponse.getLocation(), "The location is null");
1625  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
1626  assertNotNull(authorizationResponse.getState(), "The state is null");
1627  assertNotNull(authorizationResponse.getScope(), "The scope is null");
1628  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
1629 
1630  String authorizationCode = authorizationResponse.getCode();
1631 
1632  // 4. Get Access Token
1633  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
1634 
1636  tokenRequest.setAudience(tokenEndpoint);
1637  tokenRequest.setCode(authorizationCode);
1638  tokenRequest.setRedirectUri(redirectUri);
1639  tokenRequest.setAuthUsername(clientId);
1640  tokenRequest.setAuthPassword(clientSecret);
1642  tokenRequest.setAlgorithm(SignatureAlgorithm.RS512);
1643  tokenRequest.setKeyId(keyId);
1644  tokenRequest.setCryptoProvider(cryptoProvider);
1645 
1646  TokenClient tokenClient = new TokenClient(tokenEndpoint);
1647  tokenClient.setRequest(tokenRequest);
1648  TokenResponse tokenResponse = tokenClient.exec();
1649 
1650  showClient(tokenClient);
1651  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
1652  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
1653  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
1654  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtSigningAlgHS256()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtSigningAlgHS256 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
1982  {
1983  showTitle("tokenEndpointAuthMethodClientSecretJwtSigningAlgHS256");
1984 
1985  // 1. Register client
1986  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
1987  StringUtils.spaceSeparatedToList(redirectUris));
1990  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
1991 
1992  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
1993  registerClient.setRequest(registerRequest);
1994  RegisterResponse registerResponse = registerClient.exec();
1995 
1996  showClient(registerClient);
1997  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
1998  assertNotNull(registerResponse.getClientId());
1999  assertNotNull(registerResponse.getClientSecret());
2000  assertNotNull(registerResponse.getRegistrationAccessToken());
2001  assertNotNull(registerResponse.getClientIdIssuedAt());
2002  assertNotNull(registerResponse.getClientSecretExpiresAt());
2003 
2004  String clientId = registerResponse.getClientId();
2005  String clientSecret = registerResponse.getClientSecret();
2006  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
2007  String registrationClientUri = registerResponse.getRegistrationClientUri();
2008 
2009  // 2. Client read
2010  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
2011 
2012  RegisterClient readClient = new RegisterClient(registrationClientUri);
2013  readClient.setRequest(readClientRequest);
2014  RegisterResponse readClientResponse = readClient.exec();
2015 
2016  showClient(readClient);
2017  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
2018  assertNotNull(readClientResponse.getClientId());
2019  assertNotNull(readClientResponse.getClientSecret());
2020  assertNotNull(readClientResponse.getClientIdIssuedAt());
2021  assertNotNull(readClientResponse.getClientSecretExpiresAt());
2022 
2023  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
2024  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
2026  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
2027  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
2028  SignatureAlgorithm.HS256.toString());
2029  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
2030  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
2031  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
2032  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
2033  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
2034  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
2035 
2036  // 3. Request authorization
2037  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
2038  List<String> scopes = Arrays.asList(
2039  "openid",
2040  "profile",
2041  "address",
2042  "email");
2043  String state = UUID.randomUUID().toString();
2044 
2045  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
2046  authorizationRequest.setState(state);
2047 
2049  authorizationEndpoint, authorizationRequest, userId, userSecret);
2050 
2051  assertNotNull(authorizationResponse.getLocation(), "The location is null");
2052  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
2053  assertNotNull(authorizationResponse.getState(), "The state is null");
2054  assertNotNull(authorizationResponse.getScope(), "The scope is null");
2055  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
2056 
2057  String authorizationCode = authorizationResponse.getCode();
2058 
2059  // 4. Get Access Token
2060  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
2061 
2063  tokenRequest.setAudience(tokenEndpoint);
2064  tokenRequest.setCode(authorizationCode);
2065  tokenRequest.setRedirectUri(redirectUri);
2066  tokenRequest.setAuthUsername(clientId);
2067  tokenRequest.setAuthPassword(clientSecret);
2069  tokenRequest.setAlgorithm(SignatureAlgorithm.HS256);
2070  tokenRequest.setCryptoProvider(cryptoProvider);
2071 
2072  TokenClient tokenClient = new TokenClient(tokenEndpoint);
2073  tokenClient.setRequest(tokenRequest);
2074  TokenResponse tokenResponse = tokenClient.exec();
2075 
2076  showClient(tokenClient);
2077  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
2078  assertNotNull(tokenResponse.getEntity(), "The entity is null");
2079  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
2080  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
2081  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
2082  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
2083  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
HS256
Definition: SignatureAlgorithm.java:23
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtSigningAlgHS256Fail1()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtSigningAlgHS256Fail1 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
2090  {
2091  showTitle("tokenEndpointAuthMethodClientSecretJwtSigningAlgHS256Fail1");
2092 
2093  // 1. Register client
2094  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
2095  StringUtils.spaceSeparatedToList(redirectUris));
2098  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
2099 
2100  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
2101  registerClient.setRequest(registerRequest);
2102  RegisterResponse registerResponse = registerClient.exec();
2103 
2104  showClient(registerClient);
2105  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
2106  assertNotNull(registerResponse.getClientId());
2107  assertNotNull(registerResponse.getClientSecret());
2108  assertNotNull(registerResponse.getRegistrationAccessToken());
2109  assertNotNull(registerResponse.getClientIdIssuedAt());
2110  assertNotNull(registerResponse.getClientSecretExpiresAt());
2111 
2112  String clientId = registerResponse.getClientId();
2113  String clientSecret = registerResponse.getClientSecret();
2114  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
2115  String registrationClientUri = registerResponse.getRegistrationClientUri();
2116 
2117  // 2. Client read
2118  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
2119 
2120  RegisterClient readClient = new RegisterClient(registrationClientUri);
2121  readClient.setRequest(readClientRequest);
2122  RegisterResponse readClientResponse = readClient.exec();
2123 
2124  showClient(readClient);
2125  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
2126  assertNotNull(readClientResponse.getClientId());
2127  assertNotNull(readClientResponse.getClientSecret());
2128  assertNotNull(readClientResponse.getClientIdIssuedAt());
2129  assertNotNull(readClientResponse.getClientSecretExpiresAt());
2130 
2131  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
2132  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
2134  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
2135  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
2136  SignatureAlgorithm.HS256.toString());
2137  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
2138  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
2139  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
2140  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
2141  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
2142  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
2143 
2144  // 3. Request authorization
2145  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
2146  List<String> scopes = Arrays.asList(
2147  "openid",
2148  "profile",
2149  "address",
2150  "email");
2151  String state = UUID.randomUUID().toString();
2152 
2153  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
2154  authorizationRequest.setState(state);
2155 
2157  authorizationEndpoint, authorizationRequest, userId, userSecret);
2158 
2159  assertNotNull(authorizationResponse.getLocation(), "The location is null");
2160  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
2161  assertNotNull(authorizationResponse.getState(), "The state is null");
2162  assertNotNull(authorizationResponse.getScope(), "The scope is null");
2163  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
2164 
2165  String authorizationCode = authorizationResponse.getCode();
2166 
2167  // 4. Get Access Token
2168  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
2169 
2171  tokenRequest.setAudience(tokenEndpoint);
2172  tokenRequest.setCode(authorizationCode);
2173  tokenRequest.setRedirectUri(redirectUri);
2174  tokenRequest.setAuthUsername(clientId);
2175  tokenRequest.setAuthPassword(clientSecret);
2177  tokenRequest.setAlgorithm(SignatureAlgorithm.HS384);
2178  tokenRequest.setCryptoProvider(cryptoProvider);
2179 
2180  TokenClient tokenClient = new TokenClient(tokenEndpoint);
2181  tokenClient.setRequest(tokenRequest);
2182  TokenResponse tokenResponse = tokenClient.exec();
2183 
2184  showClient(tokenClient);
2185  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
2186  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
2187  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
2188  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
HS256
Definition: SignatureAlgorithm.java:23
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
HS384
Definition: SignatureAlgorithm.java:24
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtSigningAlgHS256Fail2()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtSigningAlgHS256Fail2 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
2195  {
2196  showTitle("tokenEndpointAuthMethodClientSecretJwtSigningAlgHS256Fail2");
2197 
2198  // 1. Register client
2199  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
2200  StringUtils.spaceSeparatedToList(redirectUris));
2203  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
2204 
2205  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
2206  registerClient.setRequest(registerRequest);
2207  RegisterResponse registerResponse = registerClient.exec();
2208 
2209  showClient(registerClient);
2210  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
2211  assertNotNull(registerResponse.getClientId());
2212  assertNotNull(registerResponse.getClientSecret());
2213  assertNotNull(registerResponse.getRegistrationAccessToken());
2214  assertNotNull(registerResponse.getClientIdIssuedAt());
2215  assertNotNull(registerResponse.getClientSecretExpiresAt());
2216 
2217  String clientId = registerResponse.getClientId();
2218  String clientSecret = registerResponse.getClientSecret();
2219  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
2220  String registrationClientUri = registerResponse.getRegistrationClientUri();
2221 
2222  // 2. Client read
2223  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
2224 
2225  RegisterClient readClient = new RegisterClient(registrationClientUri);
2226  readClient.setRequest(readClientRequest);
2227  RegisterResponse readClientResponse = readClient.exec();
2228 
2229  showClient(readClient);
2230  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
2231  assertNotNull(readClientResponse.getClientId());
2232  assertNotNull(readClientResponse.getClientSecret());
2233  assertNotNull(readClientResponse.getClientIdIssuedAt());
2234  assertNotNull(readClientResponse.getClientSecretExpiresAt());
2235 
2236  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
2237  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
2239  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
2240  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
2241  SignatureAlgorithm.HS256.toString());
2242  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
2243  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
2244  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
2245  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
2246  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
2247  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
2248 
2249  // 3. Request authorization
2250  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
2251  List<String> scopes = Arrays.asList(
2252  "openid",
2253  "profile",
2254  "address",
2255  "email");
2256  String state = UUID.randomUUID().toString();
2257 
2258  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
2259  authorizationRequest.setState(state);
2260 
2262  authorizationEndpoint, authorizationRequest, userId, userSecret);
2263 
2264  assertNotNull(authorizationResponse.getLocation(), "The location is null");
2265  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
2266  assertNotNull(authorizationResponse.getState(), "The state is null");
2267  assertNotNull(authorizationResponse.getScope(), "The scope is null");
2268  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
2269 
2270  String authorizationCode = authorizationResponse.getCode();
2271 
2272  // 4. Get Access Token
2273  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
2274 
2276  tokenRequest.setAudience(tokenEndpoint);
2277  tokenRequest.setCode(authorizationCode);
2278  tokenRequest.setRedirectUri(redirectUri);
2279  tokenRequest.setAuthUsername(clientId);
2280  tokenRequest.setAuthPassword(clientSecret);
2282  tokenRequest.setAlgorithm(SignatureAlgorithm.HS512);
2283  tokenRequest.setCryptoProvider(cryptoProvider);
2284 
2285  TokenClient tokenClient = new TokenClient(tokenEndpoint);
2286  tokenClient.setRequest(tokenRequest);
2287  TokenResponse tokenResponse = tokenClient.exec();
2288 
2289  showClient(tokenClient);
2290  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
2291  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
2292  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
2293  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
HS256
Definition: SignatureAlgorithm.java:23
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
HS512
Definition: SignatureAlgorithm.java:25
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtSigningAlgHS384()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtSigningAlgHS384 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
2300  {
2301  showTitle("tokenEndpointAuthMethodClientSecretJwtSigningAlgHS384");
2302 
2303  // 1. Register client
2304  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
2305  StringUtils.spaceSeparatedToList(redirectUris));
2308  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
2309 
2310  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
2311  registerClient.setRequest(registerRequest);
2312  RegisterResponse registerResponse = registerClient.exec();
2313 
2314  showClient(registerClient);
2315  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
2316  assertNotNull(registerResponse.getClientId());
2317  assertNotNull(registerResponse.getClientSecret());
2318  assertNotNull(registerResponse.getRegistrationAccessToken());
2319  assertNotNull(registerResponse.getClientIdIssuedAt());
2320  assertNotNull(registerResponse.getClientSecretExpiresAt());
2321 
2322  String clientId = registerResponse.getClientId();
2323  String clientSecret = registerResponse.getClientSecret();
2324  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
2325  String registrationClientUri = registerResponse.getRegistrationClientUri();
2326 
2327  // 2. Client read
2328  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
2329 
2330  RegisterClient readClient = new RegisterClient(registrationClientUri);
2331  readClient.setRequest(readClientRequest);
2332  RegisterResponse readClientResponse = readClient.exec();
2333 
2334  showClient(readClient);
2335  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
2336  assertNotNull(readClientResponse.getClientId());
2337  assertNotNull(readClientResponse.getClientSecret());
2338  assertNotNull(readClientResponse.getClientIdIssuedAt());
2339  assertNotNull(readClientResponse.getClientSecretExpiresAt());
2340 
2341  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
2342  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
2344  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
2345  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
2346  SignatureAlgorithm.HS384.toString());
2347  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
2348  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
2349  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
2350  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
2351  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
2352  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
2353 
2354  // 3. Request authorization
2355  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
2356  List<String> scopes = Arrays.asList(
2357  "openid",
2358  "profile",
2359  "address",
2360  "email");
2361  String state = UUID.randomUUID().toString();
2362 
2363  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
2364  authorizationRequest.setState(state);
2365 
2367  authorizationEndpoint, authorizationRequest, userId, userSecret);
2368 
2369  assertNotNull(authorizationResponse.getLocation(), "The location is null");
2370  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
2371  assertNotNull(authorizationResponse.getState(), "The state is null");
2372  assertNotNull(authorizationResponse.getScope(), "The scope is null");
2373  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
2374 
2375  String authorizationCode = authorizationResponse.getCode();
2376 
2377  // 4. Get Access Token
2378  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
2379 
2381  tokenRequest.setAudience(tokenEndpoint);
2382  tokenRequest.setCode(authorizationCode);
2383  tokenRequest.setRedirectUri(redirectUri);
2384  tokenRequest.setAuthUsername(clientId);
2385  tokenRequest.setAuthPassword(clientSecret);
2387  tokenRequest.setAlgorithm(SignatureAlgorithm.HS384);
2388  tokenRequest.setCryptoProvider(cryptoProvider);
2389 
2390  TokenClient tokenClient = new TokenClient(tokenEndpoint);
2391  tokenClient.setRequest(tokenRequest);
2392  TokenResponse tokenResponse = tokenClient.exec();
2393 
2394  showClient(tokenClient);
2395  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
2396  assertNotNull(tokenResponse.getEntity(), "The entity is null");
2397  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
2398  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
2399  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
2400  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
2401  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
HS384
Definition: SignatureAlgorithm.java:24
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtSigningAlgHS384Fail1()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtSigningAlgHS384Fail1 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
2408  {
2409  showTitle("tokenEndpointAuthMethodClientSecretJwtSigningAlgHS384Fail1");
2410 
2411  // 1. Register client
2412  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
2413  StringUtils.spaceSeparatedToList(redirectUris));
2416  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
2417 
2418  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
2419  registerClient.setRequest(registerRequest);
2420  RegisterResponse registerResponse = registerClient.exec();
2421 
2422  showClient(registerClient);
2423  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
2424  assertNotNull(registerResponse.getClientId());
2425  assertNotNull(registerResponse.getClientSecret());
2426  assertNotNull(registerResponse.getRegistrationAccessToken());
2427  assertNotNull(registerResponse.getClientIdIssuedAt());
2428  assertNotNull(registerResponse.getClientSecretExpiresAt());
2429 
2430  String clientId = registerResponse.getClientId();
2431  String clientSecret = registerResponse.getClientSecret();
2432  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
2433  String registrationClientUri = registerResponse.getRegistrationClientUri();
2434 
2435  // 2. Client read
2436  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
2437 
2438  RegisterClient readClient = new RegisterClient(registrationClientUri);
2439  readClient.setRequest(readClientRequest);
2440  RegisterResponse readClientResponse = readClient.exec();
2441 
2442  showClient(readClient);
2443  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
2444  assertNotNull(readClientResponse.getClientId());
2445  assertNotNull(readClientResponse.getClientSecret());
2446  assertNotNull(readClientResponse.getClientIdIssuedAt());
2447  assertNotNull(readClientResponse.getClientSecretExpiresAt());
2448 
2449  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
2450  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
2452  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
2453  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
2454  SignatureAlgorithm.HS384.toString());
2455  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
2456  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
2457  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
2458  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
2459  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
2460  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
2461 
2462  // 3. Request authorization
2463  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
2464  List<String> scopes = Arrays.asList(
2465  "openid",
2466  "profile",
2467  "address",
2468  "email");
2469  String state = UUID.randomUUID().toString();
2470 
2471  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
2472  authorizationRequest.setState(state);
2473 
2475  authorizationEndpoint, authorizationRequest, userId, userSecret);
2476 
2477  assertNotNull(authorizationResponse.getLocation(), "The location is null");
2478  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
2479  assertNotNull(authorizationResponse.getState(), "The state is null");
2480  assertNotNull(authorizationResponse.getScope(), "The scope is null");
2481  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
2482 
2483  String authorizationCode = authorizationResponse.getCode();
2484 
2485  // 4. Get Access Token
2486  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
2487 
2489  tokenRequest.setAudience(tokenEndpoint);
2490  tokenRequest.setCode(authorizationCode);
2491  tokenRequest.setRedirectUri(redirectUri);
2492  tokenRequest.setAuthUsername(clientId);
2493  tokenRequest.setAuthPassword(clientSecret);
2495  tokenRequest.setAlgorithm(SignatureAlgorithm.HS256);
2496  tokenRequest.setCryptoProvider(cryptoProvider);
2497 
2498  TokenClient tokenClient = new TokenClient(tokenEndpoint);
2499  tokenClient.setRequest(tokenRequest);
2500  TokenResponse tokenResponse = tokenClient.exec();
2501 
2502  showClient(tokenClient);
2503  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
2504  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
2505  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
2506  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
HS256
Definition: SignatureAlgorithm.java:23
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
HS384
Definition: SignatureAlgorithm.java:24
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtSigningAlgHS384Fail2()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtSigningAlgHS384Fail2 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
2513  {
2514  showTitle("tokenEndpointAuthMethodClientSecretJwtSigningAlgHS384Fail2");
2515 
2516  // 1. Register client
2517  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
2518  StringUtils.spaceSeparatedToList(redirectUris));
2521  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
2522 
2523  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
2524  registerClient.setRequest(registerRequest);
2525  RegisterResponse registerResponse = registerClient.exec();
2526 
2527  showClient(registerClient);
2528  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
2529  assertNotNull(registerResponse.getClientId());
2530  assertNotNull(registerResponse.getClientSecret());
2531  assertNotNull(registerResponse.getRegistrationAccessToken());
2532  assertNotNull(registerResponse.getClientIdIssuedAt());
2533  assertNotNull(registerResponse.getClientSecretExpiresAt());
2534 
2535  String clientId = registerResponse.getClientId();
2536  String clientSecret = registerResponse.getClientSecret();
2537  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
2538  String registrationClientUri = registerResponse.getRegistrationClientUri();
2539 
2540  // 2. Client read
2541  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
2542 
2543  RegisterClient readClient = new RegisterClient(registrationClientUri);
2544  readClient.setRequest(readClientRequest);
2545  RegisterResponse readClientResponse = readClient.exec();
2546 
2547  showClient(readClient);
2548  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
2549  assertNotNull(readClientResponse.getClientId());
2550  assertNotNull(readClientResponse.getClientSecret());
2551  assertNotNull(readClientResponse.getClientIdIssuedAt());
2552  assertNotNull(readClientResponse.getClientSecretExpiresAt());
2553 
2554  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
2555  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
2557  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
2558  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
2559  SignatureAlgorithm.HS384.toString());
2560  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
2561  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
2562  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
2563  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
2564  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
2565  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
2566 
2567  // 3. Request authorization
2568  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
2569  List<String> scopes = Arrays.asList(
2570  "openid",
2571  "profile",
2572  "address",
2573  "email");
2574  String state = UUID.randomUUID().toString();
2575 
2576  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
2577  authorizationRequest.setState(state);
2578 
2580  authorizationEndpoint, authorizationRequest, userId, userSecret);
2581 
2582  assertNotNull(authorizationResponse.getLocation(), "The location is null");
2583  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
2584  assertNotNull(authorizationResponse.getState(), "The state is null");
2585  assertNotNull(authorizationResponse.getScope(), "The scope is null");
2586  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
2587 
2588  String authorizationCode = authorizationResponse.getCode();
2589 
2590  // 4. Get Access Token
2591  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
2592 
2594  tokenRequest.setAudience(tokenEndpoint);
2595  tokenRequest.setCode(authorizationCode);
2596  tokenRequest.setRedirectUri(redirectUri);
2597  tokenRequest.setAuthUsername(clientId);
2598  tokenRequest.setAuthPassword(clientSecret);
2600  tokenRequest.setAlgorithm(SignatureAlgorithm.HS512);
2601  tokenRequest.setCryptoProvider(cryptoProvider);
2602 
2603  TokenClient tokenClient = new TokenClient(tokenEndpoint);
2604  tokenClient.setRequest(tokenRequest);
2605  TokenResponse tokenResponse = tokenClient.exec();
2606 
2607  showClient(tokenClient);
2608  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
2609  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
2610  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
2611  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
HS512
Definition: SignatureAlgorithm.java:25
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
HS384
Definition: SignatureAlgorithm.java:24
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtSigningAlgHS512()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtSigningAlgHS512 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
2618  {
2619  showTitle("tokenEndpointAuthMethodClientSecretJwtSigningAlgHS512");
2620 
2621  // 1. Register client
2622  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
2623  StringUtils.spaceSeparatedToList(redirectUris));
2626  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
2627 
2628  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
2629  registerClient.setRequest(registerRequest);
2630  RegisterResponse registerResponse = registerClient.exec();
2631 
2632  showClient(registerClient);
2633  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
2634  assertNotNull(registerResponse.getClientId());
2635  assertNotNull(registerResponse.getClientSecret());
2636  assertNotNull(registerResponse.getRegistrationAccessToken());
2637  assertNotNull(registerResponse.getClientIdIssuedAt());
2638  assertNotNull(registerResponse.getClientSecretExpiresAt());
2639 
2640  String clientId = registerResponse.getClientId();
2641  String clientSecret = registerResponse.getClientSecret();
2642  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
2643  String registrationClientUri = registerResponse.getRegistrationClientUri();
2644 
2645  // 2. Client read
2646  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
2647 
2648  RegisterClient readClient = new RegisterClient(registrationClientUri);
2649  readClient.setRequest(readClientRequest);
2650  RegisterResponse readClientResponse = readClient.exec();
2651 
2652  showClient(readClient);
2653  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
2654  assertNotNull(readClientResponse.getClientId());
2655  assertNotNull(readClientResponse.getClientSecret());
2656  assertNotNull(readClientResponse.getClientIdIssuedAt());
2657  assertNotNull(readClientResponse.getClientSecretExpiresAt());
2658 
2659  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
2660  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
2662  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
2663  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
2664  SignatureAlgorithm.HS512.toString());
2665  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
2666  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
2667  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
2668  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
2669  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
2670  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
2671 
2672  // 3. Request authorization
2673  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
2674  List<String> scopes = Arrays.asList(
2675  "openid",
2676  "profile",
2677  "address",
2678  "email");
2679  String state = UUID.randomUUID().toString();
2680 
2681  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
2682  authorizationRequest.setState(state);
2683 
2685  authorizationEndpoint, authorizationRequest, userId, userSecret);
2686 
2687  assertNotNull(authorizationResponse.getLocation(), "The location is null");
2688  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
2689  assertNotNull(authorizationResponse.getState(), "The state is null");
2690  assertNotNull(authorizationResponse.getScope(), "The scope is null");
2691  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
2692 
2693  String authorizationCode = authorizationResponse.getCode();
2694 
2695  // 4. Get Access Token
2696  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
2697 
2699  tokenRequest.setAudience(tokenEndpoint);
2700  tokenRequest.setCode(authorizationCode);
2701  tokenRequest.setRedirectUri(redirectUri);
2702  tokenRequest.setAuthUsername(clientId);
2703  tokenRequest.setAuthPassword(clientSecret);
2705  tokenRequest.setAlgorithm(SignatureAlgorithm.HS512);
2706  tokenRequest.setCryptoProvider(cryptoProvider);
2707 
2708  TokenClient tokenClient = new TokenClient(tokenEndpoint);
2709  tokenClient.setRequest(tokenRequest);
2710  TokenResponse tokenResponse = tokenClient.exec();
2711 
2712  showClient(tokenClient);
2713  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
2714  assertNotNull(tokenResponse.getEntity(), "The entity is null");
2715  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
2716  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
2717  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
2718  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
2719  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
HS512
Definition: SignatureAlgorithm.java:25
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtSigningAlgHS512Fail1()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtSigningAlgHS512Fail1 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
2726  {
2727  showTitle("tokenEndpointAuthMethodClientSecretJwtSigningAlgHS512Fail1");
2728 
2729  // 1. Register client
2730  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
2731  StringUtils.spaceSeparatedToList(redirectUris));
2734  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
2735 
2736  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
2737  registerClient.setRequest(registerRequest);
2738  RegisterResponse registerResponse = registerClient.exec();
2739 
2740  showClient(registerClient);
2741  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
2742  assertNotNull(registerResponse.getClientId());
2743  assertNotNull(registerResponse.getClientSecret());
2744  assertNotNull(registerResponse.getRegistrationAccessToken());
2745  assertNotNull(registerResponse.getClientIdIssuedAt());
2746  assertNotNull(registerResponse.getClientSecretExpiresAt());
2747 
2748  String clientId = registerResponse.getClientId();
2749  String clientSecret = registerResponse.getClientSecret();
2750  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
2751  String registrationClientUri = registerResponse.getRegistrationClientUri();
2752 
2753  // 2. Client read
2754  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
2755 
2756  RegisterClient readClient = new RegisterClient(registrationClientUri);
2757  readClient.setRequest(readClientRequest);
2758  RegisterResponse readClientResponse = readClient.exec();
2759 
2760  showClient(readClient);
2761  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
2762  assertNotNull(readClientResponse.getClientId());
2763  assertNotNull(readClientResponse.getClientSecret());
2764  assertNotNull(readClientResponse.getClientIdIssuedAt());
2765  assertNotNull(readClientResponse.getClientSecretExpiresAt());
2766 
2767  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
2768  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
2770  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
2771  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
2772  SignatureAlgorithm.HS512.toString());
2773  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
2774  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
2775  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
2776  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
2777  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
2778  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
2779 
2780  // 3. Request authorization
2781  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
2782  List<String> scopes = Arrays.asList(
2783  "openid",
2784  "profile",
2785  "address",
2786  "email");
2787  String state = UUID.randomUUID().toString();
2788 
2789  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
2790  authorizationRequest.setState(state);
2791 
2793  authorizationEndpoint, authorizationRequest, userId, userSecret);
2794 
2795  assertNotNull(authorizationResponse.getLocation(), "The location is null");
2796  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
2797  assertNotNull(authorizationResponse.getState(), "The state is null");
2798  assertNotNull(authorizationResponse.getScope(), "The scope is null");
2799  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
2800 
2801  String authorizationCode = authorizationResponse.getCode();
2802 
2803  // 4. Get Access Token
2804  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
2805 
2807  tokenRequest.setAudience(tokenEndpoint);
2808  tokenRequest.setCode(authorizationCode);
2809  tokenRequest.setRedirectUri(redirectUri);
2810  tokenRequest.setAuthUsername(clientId);
2811  tokenRequest.setAuthPassword(clientSecret);
2813  tokenRequest.setAlgorithm(SignatureAlgorithm.HS256);
2814  tokenRequest.setCryptoProvider(cryptoProvider);
2815 
2816  TokenClient tokenClient = new TokenClient(tokenEndpoint);
2817  tokenClient.setRequest(tokenRequest);
2818  TokenResponse tokenResponse = tokenClient.exec();
2819 
2820  showClient(tokenClient);
2821  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
2822  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
2823  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
2824  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
HS256
Definition: SignatureAlgorithm.java:23
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
HS512
Definition: SignatureAlgorithm.java:25
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretJwtSigningAlgHS512Fail2()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretJwtSigningAlgHS512Fail2 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
2831  {
2832  showTitle("tokenEndpointAuthMethodClientSecretJwtSigningAlgHS512Fail2");
2833 
2834  // 1. Register client
2835  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
2836  StringUtils.spaceSeparatedToList(redirectUris));
2839  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
2840 
2841  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
2842  registerClient.setRequest(registerRequest);
2843  RegisterResponse registerResponse = registerClient.exec();
2844 
2845  showClient(registerClient);
2846  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
2847  assertNotNull(registerResponse.getClientId());
2848  assertNotNull(registerResponse.getClientSecret());
2849  assertNotNull(registerResponse.getRegistrationAccessToken());
2850  assertNotNull(registerResponse.getClientIdIssuedAt());
2851  assertNotNull(registerResponse.getClientSecretExpiresAt());
2852 
2853  String clientId = registerResponse.getClientId();
2854  String clientSecret = registerResponse.getClientSecret();
2855  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
2856  String registrationClientUri = registerResponse.getRegistrationClientUri();
2857 
2858  // 2. Client read
2859  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
2860 
2861  RegisterClient readClient = new RegisterClient(registrationClientUri);
2862  readClient.setRequest(readClientRequest);
2863  RegisterResponse readClientResponse = readClient.exec();
2864 
2865  showClient(readClient);
2866  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
2867  assertNotNull(readClientResponse.getClientId());
2868  assertNotNull(readClientResponse.getClientSecret());
2869  assertNotNull(readClientResponse.getClientIdIssuedAt());
2870  assertNotNull(readClientResponse.getClientSecretExpiresAt());
2871 
2872  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
2873  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
2875  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
2876  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
2877  SignatureAlgorithm.HS512.toString());
2878  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
2879  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
2880  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
2881  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
2882  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
2883  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
2884 
2885  // 3. Request authorization
2886  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
2887  List<String> scopes = Arrays.asList(
2888  "openid",
2889  "profile",
2890  "address",
2891  "email");
2892  String state = UUID.randomUUID().toString();
2893 
2894  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
2895  authorizationRequest.setState(state);
2896 
2898  authorizationEndpoint, authorizationRequest, userId, userSecret);
2899 
2900  assertNotNull(authorizationResponse.getLocation(), "The location is null");
2901  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
2902  assertNotNull(authorizationResponse.getState(), "The state is null");
2903  assertNotNull(authorizationResponse.getScope(), "The scope is null");
2904  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
2905 
2906  String authorizationCode = authorizationResponse.getCode();
2907 
2908  // 4. Get Access Token
2909  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
2910 
2912  tokenRequest.setAudience(tokenEndpoint);
2913  tokenRequest.setCode(authorizationCode);
2914  tokenRequest.setRedirectUri(redirectUri);
2915  tokenRequest.setAuthUsername(clientId);
2916  tokenRequest.setAuthPassword(clientSecret);
2918  tokenRequest.setAlgorithm(SignatureAlgorithm.HS384);
2919  tokenRequest.setCryptoProvider(cryptoProvider);
2920 
2921  TokenClient tokenClient = new TokenClient(tokenEndpoint);
2922  tokenClient.setRequest(tokenRequest);
2923  TokenResponse tokenResponse = tokenClient.exec();
2924 
2925  showClient(tokenClient);
2926  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
2927  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
2928  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
2929  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
HS512
Definition: SignatureAlgorithm.java:25
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
HS384
Definition: SignatureAlgorithm.java:24
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretPost()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretPost ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Register a client with Token Endpoint Auth Method client_secret_post. Read client to check whether it is using the Token Endpoint Auth Method client_secret_post. Request authorization code. Call to Token Endpoint with Auth Method client_secret_post.

505  {
506  showTitle("tokenEndpointAuthMethodClientSecretPost");
507 
508  // 1. Register client
509  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
510  StringUtils.spaceSeparatedToList(redirectUris));
512  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
513 
514  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
515  registerClient.setRequest(registerRequest);
516  RegisterResponse registerResponse = registerClient.exec();
517 
518  showClient(registerClient);
519  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
520  assertNotNull(registerResponse.getClientId());
521  assertNotNull(registerResponse.getClientSecret());
522  assertNotNull(registerResponse.getRegistrationAccessToken());
523  assertNotNull(registerResponse.getClientIdIssuedAt());
524  assertNotNull(registerResponse.getClientSecretExpiresAt());
525 
526  String clientId = registerResponse.getClientId();
527  String clientSecret = registerResponse.getClientSecret();
528  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
529  String registrationClientUri = registerResponse.getRegistrationClientUri();
530 
531  // 2. Client read
532  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
533 
534  RegisterClient readClient = new RegisterClient(registrationClientUri);
535  readClient.setRequest(readClientRequest);
536  RegisterResponse readClientResponse = readClient.exec();
537 
538  showClient(readClient);
539  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
540  assertNotNull(readClientResponse.getClientId());
541  assertNotNull(readClientResponse.getClientSecret());
542  assertNotNull(readClientResponse.getClientIdIssuedAt());
543  assertNotNull(readClientResponse.getClientSecretExpiresAt());
544 
545  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
546  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
548  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
549  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
550  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
551  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
552  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
553  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
554 
555  // 3. Request authorization
556  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
557  List<String> scopes = Arrays.asList(
558  "openid",
559  "profile",
560  "address",
561  "email");
562  String state = UUID.randomUUID().toString();
563 
564  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
565  authorizationRequest.setState(state);
566 
568  authorizationEndpoint, authorizationRequest, userId, userSecret);
569 
570  assertNotNull(authorizationResponse.getLocation(), "The location is null");
571  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
572  assertNotNull(authorizationResponse.getState(), "The state is null");
573  assertNotNull(authorizationResponse.getScope(), "The scope is null");
574  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
575 
576  String authorizationCode = authorizationResponse.getCode();
577 
578  // 4. Get Access Token
580  tokenRequest.setCode(authorizationCode);
581  tokenRequest.setRedirectUri(redirectUri);
582  tokenRequest.setAuthUsername(clientId);
583  tokenRequest.setAuthPassword(clientSecret);
585 
586  TokenClient tokenClient = new TokenClient(tokenEndpoint);
587  tokenClient.setRequest(tokenRequest);
588  TokenResponse tokenResponse = tokenClient.exec();
589 
590  showClient(tokenClient);
591  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
592  assertNotNull(tokenResponse.getEntity(), "The entity is null");
593  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
594  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
595  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
596  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
597  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
static void showClient(BaseClient client)
Definition: BaseTest.java:775
CLIENT_SECRET_POST
Definition: AuthenticationMethod.java:24
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretPostFail1()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretPostFail1 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Fail 1: Call to Token Endpoint with Auth Method client_secret_basic should fail.

606  {
607  showTitle("tokenEndpointAuthMethodClientSecretPostFail1");
608 
609  // 1. Register client
610  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
611  StringUtils.spaceSeparatedToList(redirectUris));
613  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
614 
615  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
616  registerClient.setRequest(registerRequest);
617  RegisterResponse registerResponse = registerClient.exec();
618 
619  showClient(registerClient);
620  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
621  assertNotNull(registerResponse.getClientId());
622  assertNotNull(registerResponse.getClientSecret());
623  assertNotNull(registerResponse.getRegistrationAccessToken());
624  assertNotNull(registerResponse.getClientIdIssuedAt());
625  assertNotNull(registerResponse.getClientSecretExpiresAt());
626 
627  String clientId = registerResponse.getClientId();
628  String clientSecret = registerResponse.getClientSecret();
629  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
630  String registrationClientUri = registerResponse.getRegistrationClientUri();
631 
632  // 2. Client read
633  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
634 
635  RegisterClient readClient = new RegisterClient(registrationClientUri);
636  readClient.setRequest(readClientRequest);
637  RegisterResponse readClientResponse = readClient.exec();
638 
639  showClient(readClient);
640  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
641  assertNotNull(readClientResponse.getClientId());
642  assertNotNull(readClientResponse.getClientSecret());
643  assertNotNull(readClientResponse.getClientIdIssuedAt());
644  assertNotNull(readClientResponse.getClientSecretExpiresAt());
645 
646  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
647  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
649  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
650  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
651  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
652  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
653  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
654  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
655 
656  // 3. Request authorization
657  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
658  List<String> scopes = Arrays.asList(
659  "openid",
660  "profile",
661  "address",
662  "email");
663  String state = UUID.randomUUID().toString();
664 
665  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
666  authorizationRequest.setState(state);
667 
669  authorizationEndpoint, authorizationRequest, userId, userSecret);
670 
671  assertNotNull(authorizationResponse.getLocation(), "The location is null");
672  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
673  assertNotNull(authorizationResponse.getState(), "The state is null");
674  assertNotNull(authorizationResponse.getScope(), "The scope is null");
675  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
676 
677  String authorizationCode = authorizationResponse.getCode();
678 
679  // 4. Get Access Token
681  tokenRequest.setCode(authorizationCode);
682  tokenRequest.setRedirectUri(redirectUri);
683  tokenRequest.setAuthUsername(clientId);
684  tokenRequest.setAuthPassword(clientSecret);
686 
687  TokenClient tokenClient = new TokenClient(tokenEndpoint);
688  tokenClient.setRequest(tokenRequest);
689  TokenResponse tokenResponse = tokenClient.exec();
690 
691  showClient(tokenClient);
692  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
693  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
694  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
695  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
static void showClient(BaseClient client)
Definition: BaseTest.java:775
CLIENT_SECRET_POST
Definition: AuthenticationMethod.java:24
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretPostFail2()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretPostFail2 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Fail 2: Call to Token Endpoint with Auth Method client_secret_jwt should fail.

704  {
705  showTitle("tokenEndpointAuthMethodClientSecretPostFail2");
706 
707  // 1. Register client
708  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
709  StringUtils.spaceSeparatedToList(redirectUris));
711  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
712 
713  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
714  registerClient.setRequest(registerRequest);
715  RegisterResponse registerResponse = registerClient.exec();
716 
717  showClient(registerClient);
718  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
719  assertNotNull(registerResponse.getClientId());
720  assertNotNull(registerResponse.getClientSecret());
721  assertNotNull(registerResponse.getRegistrationAccessToken());
722  assertNotNull(registerResponse.getClientIdIssuedAt());
723  assertNotNull(registerResponse.getClientSecretExpiresAt());
724 
725  String clientId = registerResponse.getClientId();
726  String clientSecret = registerResponse.getClientSecret();
727  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
728  String registrationClientUri = registerResponse.getRegistrationClientUri();
729 
730  // 2. Client read
731  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
732 
733  RegisterClient readClient = new RegisterClient(registrationClientUri);
734  readClient.setRequest(readClientRequest);
735  RegisterResponse readClientResponse = readClient.exec();
736 
737  showClient(readClient);
738  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
739  assertNotNull(readClientResponse.getClientId());
740  assertNotNull(readClientResponse.getClientSecret());
741  assertNotNull(readClientResponse.getClientIdIssuedAt());
742  assertNotNull(readClientResponse.getClientSecretExpiresAt());
743 
744  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
745  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
747  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
748  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
749  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
750  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
751  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
752  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
753 
754  // 3. Request authorization
755  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
756  List<String> scopes = Arrays.asList(
757  "openid",
758  "profile",
759  "address",
760  "email");
761  String state = UUID.randomUUID().toString();
762 
763  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
764  authorizationRequest.setState(state);
765 
767  authorizationEndpoint, authorizationRequest, userId, userSecret);
768 
769  assertNotNull(authorizationResponse.getLocation(), "The location is null");
770  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
771  assertNotNull(authorizationResponse.getState(), "The state is null");
772  assertNotNull(authorizationResponse.getScope(), "The scope is null");
773  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
774 
775  String authorizationCode = authorizationResponse.getCode();
776 
777  // 4. Get Access Token
779  tokenRequest.setAudience(tokenEndpoint);
780  tokenRequest.setCode(authorizationCode);
781  tokenRequest.setRedirectUri(redirectUri);
782  tokenRequest.setAuthUsername(clientId);
783  tokenRequest.setAuthPassword(clientSecret);
785 
786  TokenClient tokenClient = new TokenClient(tokenEndpoint);
787  tokenClient.setRequest(tokenRequest);
788  TokenResponse tokenResponse = tokenClient.exec();
789 
790  showClient(tokenClient);
791  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
792  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
793  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
794  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
static void showClient(BaseClient client)
Definition: BaseTest.java:775
CLIENT_SECRET_POST
Definition: AuthenticationMethod.java:24
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodClientSecretPostFail3()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodClientSecretPostFail3 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  keyId,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Fail 3: Call to Token Endpoint with Auth Method private_key_jwt should fail.

804  {
805  showTitle("tokenEndpointAuthMethodClientSecretPostFail3");
806 
807  // 1. Register client
808  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
809  StringUtils.spaceSeparatedToList(redirectUris));
811  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
812 
813  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
814  registerClient.setRequest(registerRequest);
815  RegisterResponse registerResponse = registerClient.exec();
816 
817  showClient(registerClient);
818  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
819  assertNotNull(registerResponse.getClientId());
820  assertNotNull(registerResponse.getClientSecret());
821  assertNotNull(registerResponse.getRegistrationAccessToken());
822  assertNotNull(registerResponse.getClientIdIssuedAt());
823  assertNotNull(registerResponse.getClientSecretExpiresAt());
824 
825  String clientId = registerResponse.getClientId();
826  String clientSecret = registerResponse.getClientSecret();
827  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
828  String registrationClientUri = registerResponse.getRegistrationClientUri();
829 
830  // 2. Client read
831  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
832 
833  RegisterClient readClient = new RegisterClient(registrationClientUri);
834  readClient.setRequest(readClientRequest);
835  RegisterResponse readClientResponse = readClient.exec();
836 
837  showClient(readClient);
838  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
839  assertNotNull(readClientResponse.getClientId());
840  assertNotNull(readClientResponse.getClientSecret());
841  assertNotNull(readClientResponse.getClientIdIssuedAt());
842  assertNotNull(readClientResponse.getClientSecretExpiresAt());
843 
844  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
845  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
847  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
848  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
849  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
850  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
851  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
852  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
853 
854  // 3. Request authorization
855  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
856  List<String> scopes = Arrays.asList(
857  "openid",
858  "profile",
859  "address",
860  "email");
861  String state = UUID.randomUUID().toString();
862 
863  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
864  authorizationRequest.setState(state);
865 
867  authorizationEndpoint, authorizationRequest, userId, userSecret);
868 
869  assertNotNull(authorizationResponse.getLocation(), "The location is null");
870  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
871  assertNotNull(authorizationResponse.getState(), "The state is null");
872  assertNotNull(authorizationResponse.getScope(), "The scope is null");
873  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
874 
875  String authorizationCode = authorizationResponse.getCode();
876 
877  // 4. Get Access Token
878  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, null);
879 
882  tokenRequest.setAlgorithm(SignatureAlgorithm.RS256);
883  tokenRequest.setKeyId(keyId);
884  tokenRequest.setCryptoProvider(cryptoProvider);
885  tokenRequest.setAudience(tokenEndpoint);
886  tokenRequest.setCode(authorizationCode);
887  tokenRequest.setRedirectUri(redirectUri);
888  tokenRequest.setAuthUsername(clientId);
889  tokenRequest.setAuthPassword(clientSecret);
890 
891 
892  TokenClient tokenClient = new TokenClient(tokenEndpoint);
893  tokenClient.setRequest(tokenRequest);
894  TokenResponse tokenResponse = tokenClient.exec();
895 
896  showClient(tokenClient);
897  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
898  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
899  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
900  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
CLIENT_SECRET_POST
Definition: AuthenticationMethod.java:24
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwt()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwt ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Register a client with Token Endpoint Auth Method private_key_jwt. Read client to check whether it is using the Token Endpoint Auth Method private_key_jwt. Request authorization code. Call to Token Endpoint with Auth Method private_key_jwt.

3245  {
3246  showTitle("tokenEndpointAuthMethodPrivateKeyJwt");
3247 
3248  // 1. Register client
3249  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
3250  StringUtils.spaceSeparatedToList(redirectUris));
3252  registerRequest.setJwksUri(clientJwksUri);
3253  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
3254 
3255  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
3256  registerClient.setRequest(registerRequest);
3257  RegisterResponse registerResponse = registerClient.exec();
3258 
3259  showClient(registerClient);
3260  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
3261  assertNotNull(registerResponse.getClientId());
3262  assertNotNull(registerResponse.getClientSecret());
3263  assertNotNull(registerResponse.getRegistrationAccessToken());
3264  assertNotNull(registerResponse.getClientIdIssuedAt());
3265  assertNotNull(registerResponse.getClientSecretExpiresAt());
3266 
3267  String clientId = registerResponse.getClientId();
3268  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
3269  String registrationClientUri = registerResponse.getRegistrationClientUri();
3270 
3271  // 2. Client read
3272  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
3273 
3274  RegisterClient readClient = new RegisterClient(registrationClientUri);
3275  readClient.setRequest(readClientRequest);
3276  RegisterResponse readClientResponse = readClient.exec();
3277 
3278  showClient(readClient);
3279  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
3280  assertNotNull(readClientResponse.getClientId());
3281  assertNotNull(readClientResponse.getClientSecret());
3282  assertNotNull(readClientResponse.getClientIdIssuedAt());
3283  assertNotNull(readClientResponse.getClientSecretExpiresAt());
3284 
3285  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
3286  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
3288  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
3289  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
3290  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
3291  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
3292  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
3293  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
3294 
3295  // 3. Request authorization
3296  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
3297  List<String> scopes = Arrays.asList(
3298  "openid",
3299  "profile",
3300  "address",
3301  "email");
3302  String state = UUID.randomUUID().toString();
3303 
3304  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
3305  authorizationRequest.setState(state);
3306 
3308  authorizationEndpoint, authorizationRequest, userId, userSecret);
3309 
3310  assertNotNull(authorizationResponse.getLocation(), "The location is null");
3311  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
3312  assertNotNull(authorizationResponse.getState(), "The state is null");
3313  assertNotNull(authorizationResponse.getScope(), "The scope is null");
3314  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
3315 
3316  String authorizationCode = authorizationResponse.getCode();
3317 
3318  // 4. Get Access Token
3319  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
3320 
3323  tokenRequest.setAlgorithm(SignatureAlgorithm.RS256);
3324  tokenRequest.setCryptoProvider(cryptoProvider);
3325  tokenRequest.setKeyId(keyId);
3326  tokenRequest.setAudience(tokenEndpoint);
3327  tokenRequest.setCode(authorizationCode);
3328  tokenRequest.setRedirectUri(redirectUri);
3329  tokenRequest.setAuthUsername(clientId);
3330 
3331  TokenClient tokenClient = new TokenClient(tokenEndpoint);
3332  tokenClient.setRequest(tokenRequest);
3333  TokenResponse tokenResponse = tokenClient.exec();
3334 
3335  showClient(tokenClient);
3336  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
3337  assertNotNull(tokenResponse.getEntity(), "The entity is null");
3338  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
3339  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
3340  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
3341  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
3342  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtES256()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtES256 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
3963  {
3964  showTitle("tokenEndpointAuthMethodPrivateKeyJwtES256");
3965 
3966  // 1. Register client
3967  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
3968  StringUtils.spaceSeparatedToList(redirectUris));
3970  registerRequest.setJwksUri(clientJwksUri);
3971  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
3972 
3973  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
3974  registerClient.setRequest(registerRequest);
3975  RegisterResponse registerResponse = registerClient.exec();
3976 
3977  showClient(registerClient);
3978  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
3979  assertNotNull(registerResponse.getClientId());
3980  assertNotNull(registerResponse.getClientSecret());
3981  assertNotNull(registerResponse.getRegistrationAccessToken());
3982  assertNotNull(registerResponse.getClientIdIssuedAt());
3983  assertNotNull(registerResponse.getClientSecretExpiresAt());
3984 
3985  String clientId = registerResponse.getClientId();
3986  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
3987  String registrationClientUri = registerResponse.getRegistrationClientUri();
3988 
3989  // 2. Client read
3990  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
3991 
3992  RegisterClient readClient = new RegisterClient(registrationClientUri);
3993  readClient.setRequest(readClientRequest);
3994  RegisterResponse readClientResponse = readClient.exec();
3995 
3996  showClient(readClient);
3997  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
3998  assertNotNull(readClientResponse.getClientId());
3999  assertNotNull(readClientResponse.getClientSecret());
4000  assertNotNull(readClientResponse.getClientIdIssuedAt());
4001  assertNotNull(readClientResponse.getClientSecretExpiresAt());
4002 
4003  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
4004  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
4006  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
4007  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
4008  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
4009  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
4010  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
4011  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
4012 
4013  // 3. Request authorization
4014  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
4015  List<String> scopes = Arrays.asList(
4016  "openid",
4017  "profile",
4018  "address",
4019  "email");
4020  String state = UUID.randomUUID().toString();
4021 
4022  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
4023  authorizationRequest.setState(state);
4024 
4026  authorizationEndpoint, authorizationRequest, userId, userSecret);
4027 
4028  assertNotNull(authorizationResponse.getLocation(), "The location is null");
4029  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
4030  assertNotNull(authorizationResponse.getState(), "The state is null");
4031  assertNotNull(authorizationResponse.getScope(), "The scope is null");
4032  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
4033 
4034  String authorizationCode = authorizationResponse.getCode();
4035 
4036  // 4. Get Access Token
4037  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
4038 
4041  tokenRequest.setAlgorithm(SignatureAlgorithm.ES256);
4042  tokenRequest.setCryptoProvider(cryptoProvider);
4043  tokenRequest.setKeyId(keyId);
4044  tokenRequest.setAudience(tokenEndpoint);
4045  tokenRequest.setCode(authorizationCode);
4046  tokenRequest.setRedirectUri(redirectUri);
4047  tokenRequest.setAuthUsername(clientId);
4048 
4049  TokenClient tokenClient = new TokenClient(tokenEndpoint);
4050  tokenClient.setRequest(tokenRequest);
4051  TokenResponse tokenResponse = tokenClient.exec();
4052 
4053  showClient(tokenClient);
4054  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
4055  assertNotNull(tokenResponse.getEntity(), "The entity is null");
4056  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
4057  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
4058  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
4059  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
4060  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
ES256
Definition: SignatureAlgorithm.java:29
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtES384()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtES384 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
4068  {
4069  showTitle("tokenEndpointAuthMethodPrivateKeyJwtES384");
4070 
4071  // 1. Register client
4072  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
4073  StringUtils.spaceSeparatedToList(redirectUris));
4075  registerRequest.setJwksUri(clientJwksUri);
4076  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
4077 
4078  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
4079  registerClient.setRequest(registerRequest);
4080  RegisterResponse registerResponse = registerClient.exec();
4081 
4082  showClient(registerClient);
4083  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
4084  assertNotNull(registerResponse.getClientId());
4085  assertNotNull(registerResponse.getClientSecret());
4086  assertNotNull(registerResponse.getRegistrationAccessToken());
4087  assertNotNull(registerResponse.getClientIdIssuedAt());
4088  assertNotNull(registerResponse.getClientSecretExpiresAt());
4089 
4090  String clientId = registerResponse.getClientId();
4091  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
4092  String registrationClientUri = registerResponse.getRegistrationClientUri();
4093 
4094  // 2. Client read
4095  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
4096 
4097  RegisterClient readClient = new RegisterClient(registrationClientUri);
4098  readClient.setRequest(readClientRequest);
4099  RegisterResponse readClientResponse = readClient.exec();
4100 
4101  showClient(readClient);
4102  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
4103  assertNotNull(readClientResponse.getClientId());
4104  assertNotNull(readClientResponse.getClientSecret());
4105  assertNotNull(readClientResponse.getClientIdIssuedAt());
4106  assertNotNull(readClientResponse.getClientSecretExpiresAt());
4107 
4108  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
4109  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
4111  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
4112  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
4113  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
4114  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
4115  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
4116  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
4117 
4118  // 3. Request authorization
4119  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
4120  List<String> scopes = Arrays.asList(
4121  "openid",
4122  "profile",
4123  "address",
4124  "email");
4125  String state = UUID.randomUUID().toString();
4126 
4127  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
4128  authorizationRequest.setState(state);
4129 
4131  authorizationEndpoint, authorizationRequest, userId, userSecret);
4132 
4133  assertNotNull(authorizationResponse.getLocation(), "The location is null");
4134  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
4135  assertNotNull(authorizationResponse.getState(), "The state is null");
4136  assertNotNull(authorizationResponse.getScope(), "The scope is null");
4137  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
4138 
4139  String authorizationCode = authorizationResponse.getCode();
4140 
4141  // 4. Get Access Token
4142  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
4143 
4146  tokenRequest.setAlgorithm(SignatureAlgorithm.ES384);
4147  tokenRequest.setCryptoProvider(cryptoProvider);
4148  tokenRequest.setKeyId(keyId);
4149  tokenRequest.setAudience(tokenEndpoint);
4150  tokenRequest.setCode(authorizationCode);
4151  tokenRequest.setRedirectUri(redirectUri);
4152  tokenRequest.setAuthUsername(clientId);
4153 
4154  TokenClient tokenClient = new TokenClient(tokenEndpoint);
4155  tokenClient.setRequest(tokenRequest);
4156  TokenResponse tokenResponse = tokenClient.exec();
4157 
4158  showClient(tokenClient);
4159  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
4160  assertNotNull(tokenResponse.getEntity(), "The entity is null");
4161  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
4162  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
4163  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
4164  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
4165  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
ES384
Definition: SignatureAlgorithm.java:30
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtES512()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtES512 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
4173  {
4174  showTitle("tokenEndpointAuthMethodPrivateKeyJwtES512");
4175 
4176  // 1. Register client
4177  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
4178  StringUtils.spaceSeparatedToList(redirectUris));
4180  registerRequest.setJwksUri(clientJwksUri);
4181  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
4182 
4183  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
4184  registerClient.setRequest(registerRequest);
4185  RegisterResponse registerResponse = registerClient.exec();
4186 
4187  showClient(registerClient);
4188  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
4189  assertNotNull(registerResponse.getClientId());
4190  assertNotNull(registerResponse.getClientSecret());
4191  assertNotNull(registerResponse.getRegistrationAccessToken());
4192  assertNotNull(registerResponse.getClientIdIssuedAt());
4193  assertNotNull(registerResponse.getClientSecretExpiresAt());
4194 
4195  String clientId = registerResponse.getClientId();
4196  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
4197  String registrationClientUri = registerResponse.getRegistrationClientUri();
4198 
4199  // 2. Client read
4200  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
4201 
4202  RegisterClient readClient = new RegisterClient(registrationClientUri);
4203  readClient.setRequest(readClientRequest);
4204  RegisterResponse readClientResponse = readClient.exec();
4205 
4206  showClient(readClient);
4207  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
4208  assertNotNull(readClientResponse.getClientId());
4209  assertNotNull(readClientResponse.getClientSecret());
4210  assertNotNull(readClientResponse.getClientIdIssuedAt());
4211  assertNotNull(readClientResponse.getClientSecretExpiresAt());
4212 
4213  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
4214  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
4216  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
4217  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
4218  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
4219  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
4220  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
4221  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
4222 
4223  // 3. Request authorization
4224  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
4225  List<String> scopes = Arrays.asList(
4226  "openid",
4227  "profile",
4228  "address",
4229  "email");
4230  String state = UUID.randomUUID().toString();
4231 
4232  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
4233  authorizationRequest.setState(state);
4234 
4236  authorizationEndpoint, authorizationRequest, userId, userSecret);
4237 
4238  assertNotNull(authorizationResponse.getLocation(), "The location is null");
4239  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
4240  assertNotNull(authorizationResponse.getState(), "The state is null");
4241  assertNotNull(authorizationResponse.getScope(), "The scope is null");
4242  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
4243 
4244  String authorizationCode = authorizationResponse.getCode();
4245 
4246  // 4. Get Access Token
4247  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
4248 
4251  tokenRequest.setAlgorithm(SignatureAlgorithm.ES512);
4252  tokenRequest.setCryptoProvider(cryptoProvider);
4253  tokenRequest.setKeyId(keyId);
4254  tokenRequest.setAudience(tokenEndpoint);
4255  tokenRequest.setCode(authorizationCode);
4256  tokenRequest.setRedirectUri(redirectUri);
4257  tokenRequest.setAuthUsername(clientId);
4258 
4259  TokenClient tokenClient = new TokenClient(tokenEndpoint);
4260  tokenClient.setRequest(tokenRequest);
4261  TokenResponse tokenResponse = tokenClient.exec();
4262 
4263  showClient(tokenClient);
4264  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
4265  assertNotNull(tokenResponse.getEntity(), "The entity is null");
4266  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
4267  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
4268  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
4269  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
4270  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
ES512
Definition: SignatureAlgorithm.java:31
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtFail1()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtFail1 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Fail 1: Call to Token Endpoint with Auth Method client_secret_basic should fail.

3351  {
3352  showTitle("tokenEndpointAuthMethodPrivateKeyJwtFail1");
3353 
3354  // 1. Register client
3355  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
3356  StringUtils.spaceSeparatedToList(redirectUris));
3357  registerRequest.setJwksUri(jwksUri);
3359  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
3360 
3361  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
3362  registerClient.setRequest(registerRequest);
3363  RegisterResponse registerResponse = registerClient.exec();
3364 
3365  showClient(registerClient);
3366  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
3367  assertNotNull(registerResponse.getClientId());
3368  assertNotNull(registerResponse.getClientSecret());
3369  assertNotNull(registerResponse.getRegistrationAccessToken());
3370  assertNotNull(registerResponse.getClientIdIssuedAt());
3371  assertNotNull(registerResponse.getClientSecretExpiresAt());
3372 
3373  String clientId = registerResponse.getClientId();
3374  String clientSecret = registerResponse.getClientSecret();
3375  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
3376  String registrationClientUri = registerResponse.getRegistrationClientUri();
3377 
3378  // 2. Client read
3379  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
3380 
3381  RegisterClient readClient = new RegisterClient(registrationClientUri);
3382  readClient.setRequest(readClientRequest);
3383  RegisterResponse readClientResponse = readClient.exec();
3384 
3385  showClient(readClient);
3386  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
3387  assertNotNull(readClientResponse.getClientId());
3388  assertNotNull(readClientResponse.getClientSecret());
3389  assertNotNull(readClientResponse.getClientIdIssuedAt());
3390  assertNotNull(readClientResponse.getClientSecretExpiresAt());
3391 
3392  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
3393  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
3395  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
3396  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
3397  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
3398  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
3399  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
3400  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
3401 
3402  // 3. Request authorization
3403  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
3404  List<String> scopes = Arrays.asList(
3405  "openid",
3406  "profile",
3407  "address",
3408  "email");
3409  String state = UUID.randomUUID().toString();
3410 
3411  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
3412  authorizationRequest.setState(state);
3413 
3415  authorizationEndpoint, authorizationRequest, userId, userSecret);
3416 
3417  assertNotNull(authorizationResponse.getLocation(), "The location is null");
3418  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
3419  assertNotNull(authorizationResponse.getState(), "The state is null");
3420  assertNotNull(authorizationResponse.getScope(), "The scope is null");
3421  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
3422 
3423  String authorizationCode = authorizationResponse.getCode();
3424 
3425  // 4. Get Access Token
3427  tokenRequest.setCode(authorizationCode);
3428  tokenRequest.setRedirectUri(redirectUri);
3429  tokenRequest.setAuthUsername(clientId);
3430  tokenRequest.setAuthPassword(clientSecret);
3432 
3433  TokenClient tokenClient = new TokenClient(tokenEndpoint);
3434  tokenClient.setRequest(tokenRequest);
3435  TokenResponse tokenResponse = tokenClient.exec();
3436 
3437  showClient(tokenClient);
3438  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
3439  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
3440  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
3441  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
String jwksUri
Definition: BaseTest.java:80
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtFail2()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtFail2 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Fail 2: Call to Token Endpoint with Auth Method client_secret_post should fail.

3450  {
3451  showTitle("tokenEndpointAuthMethodPrivateKeyJwtFail2");
3452 
3453  // 1. Register client
3454  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
3455  StringUtils.spaceSeparatedToList(redirectUris));
3456  registerRequest.setJwksUri(jwksUri);
3458  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
3459 
3460  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
3461  registerClient.setRequest(registerRequest);
3462  RegisterResponse registerResponse = registerClient.exec();
3463 
3464  showClient(registerClient);
3465  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
3466  assertNotNull(registerResponse.getClientId());
3467  assertNotNull(registerResponse.getClientSecret());
3468  assertNotNull(registerResponse.getRegistrationAccessToken());
3469  assertNotNull(registerResponse.getClientIdIssuedAt());
3470  assertNotNull(registerResponse.getClientSecretExpiresAt());
3471 
3472  String clientId = registerResponse.getClientId();
3473  String clientSecret = registerResponse.getClientSecret();
3474  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
3475  String registrationClientUri = registerResponse.getRegistrationClientUri();
3476 
3477  // 2. Client read
3478  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
3479 
3480  RegisterClient readClient = new RegisterClient(registrationClientUri);
3481  readClient.setRequest(readClientRequest);
3482  RegisterResponse readClientResponse = readClient.exec();
3483 
3484  showClient(readClient);
3485  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
3486  assertNotNull(readClientResponse.getClientId());
3487  assertNotNull(readClientResponse.getClientSecret());
3488  assertNotNull(readClientResponse.getClientIdIssuedAt());
3489  assertNotNull(readClientResponse.getClientSecretExpiresAt());
3490 
3491  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
3492  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
3494  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
3495  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
3496  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
3497  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
3498  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
3499  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
3500 
3501  // 3. Request authorization
3502  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
3503  List<String> scopes = Arrays.asList(
3504  "openid",
3505  "profile",
3506  "address",
3507  "email");
3508  String state = UUID.randomUUID().toString();
3509 
3510  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
3511  authorizationRequest.setState(state);
3512 
3514  authorizationEndpoint, authorizationRequest, userId, userSecret);
3515 
3516  assertNotNull(authorizationResponse.getLocation(), "The location is null");
3517  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
3518  assertNotNull(authorizationResponse.getState(), "The state is null");
3519  assertNotNull(authorizationResponse.getScope(), "The scope is null");
3520  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
3521 
3522  String authorizationCode = authorizationResponse.getCode();
3523 
3524  // 4. Get Access Token
3526  tokenRequest.setCode(authorizationCode);
3527  tokenRequest.setRedirectUri(redirectUri);
3528  tokenRequest.setAuthUsername(clientId);
3529  tokenRequest.setAuthPassword(clientSecret);
3531 
3532  TokenClient tokenClient = new TokenClient(tokenEndpoint);
3533  tokenClient.setRequest(tokenRequest);
3534  TokenResponse tokenResponse = tokenClient.exec();
3535 
3536  showClient(tokenClient);
3537  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
3538  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
3539  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
3540  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
String jwksUri
Definition: BaseTest.java:80
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
static void showClient(BaseClient client)
Definition: BaseTest.java:775
CLIENT_SECRET_POST
Definition: AuthenticationMethod.java:24
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtFail3()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtFail3 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  sectorIdentifierUri 
) throws Exception
inline

Fail 3: Call to Token Endpoint with Auth Method client_secret_jwt should fail.

3549  {
3550  showTitle("tokenEndpointAuthMethodPrivateKeyJwtFail3");
3551 
3552  // 1. Register client
3553  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
3554  StringUtils.spaceSeparatedToList(redirectUris));
3555  registerRequest.setJwksUri(jwksUri);
3557  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
3558 
3559  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
3560  registerClient.setRequest(registerRequest);
3561  RegisterResponse registerResponse = registerClient.exec();
3562 
3563  showClient(registerClient);
3564  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
3565  assertNotNull(registerResponse.getClientId());
3566  assertNotNull(registerResponse.getClientSecret());
3567  assertNotNull(registerResponse.getRegistrationAccessToken());
3568  assertNotNull(registerResponse.getClientIdIssuedAt());
3569  assertNotNull(registerResponse.getClientSecretExpiresAt());
3570 
3571  String clientId = registerResponse.getClientId();
3572  String clientSecret = registerResponse.getClientSecret();
3573  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
3574  String registrationClientUri = registerResponse.getRegistrationClientUri();
3575 
3576  // 2. Client read
3577  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
3578 
3579  RegisterClient readClient = new RegisterClient(registrationClientUri);
3580  readClient.setRequest(readClientRequest);
3581  RegisterResponse readClientResponse = readClient.exec();
3582 
3583  showClient(readClient);
3584  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
3585  assertNotNull(readClientResponse.getClientId());
3586  assertNotNull(readClientResponse.getClientSecret());
3587  assertNotNull(readClientResponse.getClientIdIssuedAt());
3588  assertNotNull(readClientResponse.getClientSecretExpiresAt());
3589 
3590  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
3591  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
3593  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
3594  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
3595  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
3596  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
3597  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
3598  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
3599 
3600  // 3. Request authorization
3601  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
3602  List<String> scopes = Arrays.asList(
3603  "openid",
3604  "profile",
3605  "address",
3606  "email");
3607  String state = UUID.randomUUID().toString();
3608 
3609  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
3610  authorizationRequest.setState(state);
3611 
3613  authorizationEndpoint, authorizationRequest, userId, userSecret);
3614 
3615  assertNotNull(authorizationResponse.getLocation(), "The location is null");
3616  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
3617  assertNotNull(authorizationResponse.getState(), "The state is null");
3618  assertNotNull(authorizationResponse.getScope(), "The scope is null");
3619  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
3620 
3621  String authorizationCode = authorizationResponse.getCode();
3622 
3623  // 4. Get Access Token
3625  tokenRequest.setAudience(tokenEndpoint);
3626  tokenRequest.setCode(authorizationCode);
3627  tokenRequest.setRedirectUri(redirectUri);
3628  tokenRequest.setAuthUsername(clientId);
3629  tokenRequest.setAuthPassword(clientSecret);
3631 
3632  TokenClient tokenClient = new TokenClient(tokenEndpoint);
3633  tokenClient.setRequest(tokenRequest);
3634  TokenResponse tokenResponse = tokenClient.exec();
3635 
3636  showClient(tokenClient);
3637  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
3638  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
3639  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
3640  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
String jwksUri
Definition: BaseTest.java:80
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
CLIENT_SECRET_JWT
Definition: AuthenticationMethod.java:31
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtRS256()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtRS256 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
3648  {
3649  showTitle("tokenEndpointAuthMethodPrivateKeyJwtRS256");
3650 
3651  // 1. Register client
3652  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
3653  StringUtils.spaceSeparatedToList(redirectUris));
3655  registerRequest.setJwksUri(clientJwksUri);
3656  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
3657 
3658  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
3659  registerClient.setRequest(registerRequest);
3660  RegisterResponse registerResponse = registerClient.exec();
3661 
3662  showClient(registerClient);
3663  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
3664  assertNotNull(registerResponse.getClientId());
3665  assertNotNull(registerResponse.getClientSecret());
3666  assertNotNull(registerResponse.getRegistrationAccessToken());
3667  assertNotNull(registerResponse.getClientIdIssuedAt());
3668  assertNotNull(registerResponse.getClientSecretExpiresAt());
3669 
3670  String clientId = registerResponse.getClientId();
3671  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
3672  String registrationClientUri = registerResponse.getRegistrationClientUri();
3673 
3674  // 2. Client read
3675  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
3676 
3677  RegisterClient readClient = new RegisterClient(registrationClientUri);
3678  readClient.setRequest(readClientRequest);
3679  RegisterResponse readClientResponse = readClient.exec();
3680 
3681  showClient(readClient);
3682  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
3683  assertNotNull(readClientResponse.getClientId());
3684  assertNotNull(readClientResponse.getClientSecret());
3685  assertNotNull(readClientResponse.getClientIdIssuedAt());
3686  assertNotNull(readClientResponse.getClientSecretExpiresAt());
3687 
3688  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
3689  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
3691  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
3692  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
3693  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
3694  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
3695  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
3696  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
3697 
3698  // 3. Request authorization
3699  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
3700  List<String> scopes = Arrays.asList(
3701  "openid",
3702  "profile",
3703  "address",
3704  "email");
3705  String state = UUID.randomUUID().toString();
3706 
3707  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
3708  authorizationRequest.setState(state);
3709 
3711  authorizationEndpoint, authorizationRequest, userId, userSecret);
3712 
3713  assertNotNull(authorizationResponse.getLocation(), "The location is null");
3714  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
3715  assertNotNull(authorizationResponse.getState(), "The state is null");
3716  assertNotNull(authorizationResponse.getScope(), "The scope is null");
3717  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
3718 
3719  String authorizationCode = authorizationResponse.getCode();
3720 
3721  // 4. Get Access Token
3722  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
3723 
3726  tokenRequest.setAlgorithm(SignatureAlgorithm.RS256);
3727  tokenRequest.setCryptoProvider(cryptoProvider);
3728  tokenRequest.setKeyId(keyId);
3729  tokenRequest.setAudience(tokenEndpoint);
3730  tokenRequest.setCode(authorizationCode);
3731  tokenRequest.setRedirectUri(redirectUri);
3732  tokenRequest.setAuthUsername(clientId);
3733 
3734  TokenClient tokenClient = new TokenClient(tokenEndpoint);
3735  tokenClient.setRequest(tokenRequest);
3736  TokenResponse tokenResponse = tokenClient.exec();
3737 
3738  showClient(tokenClient);
3739  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
3740  assertNotNull(tokenResponse.getEntity(), "The entity is null");
3741  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
3742  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
3743  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
3744  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
3745  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtRS384()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtRS384 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
3753  {
3754  showTitle("tokenEndpointAuthMethodPrivateKeyJwtRS384");
3755 
3756  // 1. Register client
3757  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
3758  StringUtils.spaceSeparatedToList(redirectUris));
3760  registerRequest.setJwksUri(clientJwksUri);
3761  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
3762 
3763  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
3764  registerClient.setRequest(registerRequest);
3765  RegisterResponse registerResponse = registerClient.exec();
3766 
3767  showClient(registerClient);
3768  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
3769  assertNotNull(registerResponse.getClientId());
3770  assertNotNull(registerResponse.getClientSecret());
3771  assertNotNull(registerResponse.getRegistrationAccessToken());
3772  assertNotNull(registerResponse.getClientIdIssuedAt());
3773  assertNotNull(registerResponse.getClientSecretExpiresAt());
3774 
3775  String clientId = registerResponse.getClientId();
3776  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
3777  String registrationClientUri = registerResponse.getRegistrationClientUri();
3778 
3779  // 2. Client read
3780  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
3781 
3782  RegisterClient readClient = new RegisterClient(registrationClientUri);
3783  readClient.setRequest(readClientRequest);
3784  RegisterResponse readClientResponse = readClient.exec();
3785 
3786  showClient(readClient);
3787  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
3788  assertNotNull(readClientResponse.getClientId());
3789  assertNotNull(readClientResponse.getClientSecret());
3790  assertNotNull(readClientResponse.getClientIdIssuedAt());
3791  assertNotNull(readClientResponse.getClientSecretExpiresAt());
3792 
3793  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
3794  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
3796  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
3797  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
3798  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
3799  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
3800  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
3801  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
3802 
3803  // 3. Request authorization
3804  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
3805  List<String> scopes = Arrays.asList(
3806  "openid",
3807  "profile",
3808  "address",
3809  "email");
3810  String state = UUID.randomUUID().toString();
3811 
3812  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
3813  authorizationRequest.setState(state);
3814 
3816  authorizationEndpoint, authorizationRequest, userId, userSecret);
3817 
3818  assertNotNull(authorizationResponse.getLocation(), "The location is null");
3819  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
3820  assertNotNull(authorizationResponse.getState(), "The state is null");
3821  assertNotNull(authorizationResponse.getScope(), "The scope is null");
3822  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
3823 
3824  String authorizationCode = authorizationResponse.getCode();
3825 
3826  // 4. Get Access Token
3827  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
3828 
3831  tokenRequest.setAlgorithm(SignatureAlgorithm.RS384);
3832  tokenRequest.setCryptoProvider(cryptoProvider);
3833  tokenRequest.setKeyId(keyId);
3834  tokenRequest.setAudience(tokenEndpoint);
3835  tokenRequest.setCode(authorizationCode);
3836  tokenRequest.setRedirectUri(redirectUri);
3837  tokenRequest.setAuthUsername(clientId);
3838 
3839  TokenClient tokenClient = new TokenClient(tokenEndpoint);
3840  tokenClient.setRequest(tokenRequest);
3841  TokenResponse tokenResponse = tokenClient.exec();
3842 
3843  showClient(tokenClient);
3844  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
3845  assertNotNull(tokenResponse.getEntity(), "The entity is null");
3846  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
3847  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
3848  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
3849  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
3850  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtRS512()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtRS512 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
3858  {
3859  showTitle("tokenEndpointAuthMethodPrivateKeyJwtRS512");
3860 
3861  // 1. Register client
3862  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
3863  StringUtils.spaceSeparatedToList(redirectUris));
3865  registerRequest.setJwksUri(clientJwksUri);
3866  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
3867 
3868  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
3869  registerClient.setRequest(registerRequest);
3870  RegisterResponse registerResponse = registerClient.exec();
3871 
3872  showClient(registerClient);
3873  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
3874  assertNotNull(registerResponse.getClientId());
3875  assertNotNull(registerResponse.getClientSecret());
3876  assertNotNull(registerResponse.getRegistrationAccessToken());
3877  assertNotNull(registerResponse.getClientIdIssuedAt());
3878  assertNotNull(registerResponse.getClientSecretExpiresAt());
3879 
3880  String clientId = registerResponse.getClientId();
3881  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
3882  String registrationClientUri = registerResponse.getRegistrationClientUri();
3883 
3884  // 2. Client read
3885  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
3886 
3887  RegisterClient readClient = new RegisterClient(registrationClientUri);
3888  readClient.setRequest(readClientRequest);
3889  RegisterResponse readClientResponse = readClient.exec();
3890 
3891  showClient(readClient);
3892  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
3893  assertNotNull(readClientResponse.getClientId());
3894  assertNotNull(readClientResponse.getClientSecret());
3895  assertNotNull(readClientResponse.getClientIdIssuedAt());
3896  assertNotNull(readClientResponse.getClientSecretExpiresAt());
3897 
3898  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
3899  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
3901  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
3902  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
3903  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
3904  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
3905  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
3906  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
3907 
3908  // 3. Request authorization
3909  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
3910  List<String> scopes = Arrays.asList(
3911  "openid",
3912  "profile",
3913  "address",
3914  "email");
3915  String state = UUID.randomUUID().toString();
3916 
3917  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
3918  authorizationRequest.setState(state);
3919 
3921  authorizationEndpoint, authorizationRequest, userId, userSecret);
3922 
3923  assertNotNull(authorizationResponse.getLocation(), "The location is null");
3924  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
3925  assertNotNull(authorizationResponse.getState(), "The state is null");
3926  assertNotNull(authorizationResponse.getScope(), "The scope is null");
3927  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
3928 
3929  String authorizationCode = authorizationResponse.getCode();
3930 
3931  // 4. Get Access Token
3932  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
3933 
3936  tokenRequest.setAlgorithm(SignatureAlgorithm.RS512);
3937  tokenRequest.setCryptoProvider(cryptoProvider);
3938  tokenRequest.setKeyId(keyId);
3939  tokenRequest.setAudience(tokenEndpoint);
3940  tokenRequest.setCode(authorizationCode);
3941  tokenRequest.setRedirectUri(redirectUri);
3942  tokenRequest.setAuthUsername(clientId);
3943 
3944  TokenClient tokenClient = new TokenClient(tokenEndpoint);
3945  tokenClient.setRequest(tokenRequest);
3946  TokenResponse tokenResponse = tokenClient.exec();
3947 
3948  showClient(tokenClient);
3949  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
3950  assertNotNull(tokenResponse.getEntity(), "The entity is null");
3951  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
3952  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
3953  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
3954  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
3955  }
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
6195  {
6196  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256");
6197 
6198  // 1. Register client
6199  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
6200  StringUtils.spaceSeparatedToList(redirectUris));
6203  registerRequest.setJwksUri(clientJwksUri);
6204  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
6205 
6206  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
6207  registerClient.setRequest(registerRequest);
6208  RegisterResponse registerResponse = registerClient.exec();
6209 
6210  showClient(registerClient);
6211  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
6212  assertNotNull(registerResponse.getClientId());
6213  assertNotNull(registerResponse.getClientSecret());
6214  assertNotNull(registerResponse.getRegistrationAccessToken());
6215  assertNotNull(registerResponse.getClientIdIssuedAt());
6216  assertNotNull(registerResponse.getClientSecretExpiresAt());
6217 
6218  String clientId = registerResponse.getClientId();
6219  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
6220  String registrationClientUri = registerResponse.getRegistrationClientUri();
6221 
6222  // 2. Client read
6223  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
6224 
6225  RegisterClient readClient = new RegisterClient(registrationClientUri);
6226  readClient.setRequest(readClientRequest);
6227  RegisterResponse readClientResponse = readClient.exec();
6228 
6229  showClient(readClient);
6230  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
6231  assertNotNull(readClientResponse.getClientId());
6232  assertNotNull(readClientResponse.getClientSecret());
6233  assertNotNull(readClientResponse.getClientIdIssuedAt());
6234  assertNotNull(readClientResponse.getClientSecretExpiresAt());
6235 
6236  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
6237  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
6239  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
6240  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
6241  SignatureAlgorithm.ES256.toString());
6242  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
6243  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
6244  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
6245  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
6246  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
6247  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
6248 
6249  // 3. Request authorization
6250  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
6251  List<String> scopes = Arrays.asList(
6252  "openid",
6253  "profile",
6254  "address",
6255  "email");
6256  String state = UUID.randomUUID().toString();
6257 
6258  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
6259  authorizationRequest.setState(state);
6260 
6262  authorizationEndpoint, authorizationRequest, userId, userSecret);
6263 
6264  assertNotNull(authorizationResponse.getLocation(), "The location is null");
6265  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
6266  assertNotNull(authorizationResponse.getState(), "The state is null");
6267  assertNotNull(authorizationResponse.getScope(), "The scope is null");
6268  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
6269 
6270  String authorizationCode = authorizationResponse.getCode();
6271 
6272  // 4. Get Access Token
6273  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
6274 
6277  tokenRequest.setAlgorithm(SignatureAlgorithm.ES256);
6278  tokenRequest.setCryptoProvider(cryptoProvider);
6279  tokenRequest.setKeyId(keyId);
6280  tokenRequest.setAudience(tokenEndpoint);
6281  tokenRequest.setCode(authorizationCode);
6282  tokenRequest.setRedirectUri(redirectUri);
6283  tokenRequest.setAuthUsername(clientId);
6284 
6285  TokenClient tokenClient = new TokenClient(tokenEndpoint);
6286  tokenClient.setRequest(tokenRequest);
6287  TokenResponse tokenResponse = tokenClient.exec();
6288 
6289  showClient(tokenClient);
6290  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
6291  assertNotNull(tokenResponse.getEntity(), "The entity is null");
6292  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
6293  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
6294  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
6295  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
6296  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
ES256
Definition: SignatureAlgorithm.java:29
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail1()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail1 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
6304  {
6305  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail1");
6306 
6307  // 1. Register client
6308  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
6309  StringUtils.spaceSeparatedToList(redirectUris));
6312  registerRequest.setJwksUri(clientJwksUri);
6313  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
6314 
6315  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
6316  registerClient.setRequest(registerRequest);
6317  RegisterResponse registerResponse = registerClient.exec();
6318 
6319  showClient(registerClient);
6320  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
6321  assertNotNull(registerResponse.getClientId());
6322  assertNotNull(registerResponse.getClientSecret());
6323  assertNotNull(registerResponse.getRegistrationAccessToken());
6324  assertNotNull(registerResponse.getClientIdIssuedAt());
6325  assertNotNull(registerResponse.getClientSecretExpiresAt());
6326 
6327  String clientId = registerResponse.getClientId();
6328  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
6329  String registrationClientUri = registerResponse.getRegistrationClientUri();
6330 
6331  // 2. Client read
6332  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
6333 
6334  RegisterClient readClient = new RegisterClient(registrationClientUri);
6335  readClient.setRequest(readClientRequest);
6336  RegisterResponse readClientResponse = readClient.exec();
6337 
6338  showClient(readClient);
6339  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
6340  assertNotNull(readClientResponse.getClientId());
6341  assertNotNull(readClientResponse.getClientSecret());
6342  assertNotNull(readClientResponse.getClientIdIssuedAt());
6343  assertNotNull(readClientResponse.getClientSecretExpiresAt());
6344 
6345  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
6346  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
6348  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
6349  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
6350  SignatureAlgorithm.ES256.toString());
6351  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
6352  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
6353  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
6354  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
6355  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
6356  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
6357 
6358  // 3. Request authorization
6359  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
6360  List<String> scopes = Arrays.asList(
6361  "openid",
6362  "profile",
6363  "address",
6364  "email");
6365  String state = UUID.randomUUID().toString();
6366 
6367  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
6368  authorizationRequest.setState(state);
6369 
6371  authorizationEndpoint, authorizationRequest, userId, userSecret);
6372 
6373  assertNotNull(authorizationResponse.getLocation(), "The location is null");
6374  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
6375  assertNotNull(authorizationResponse.getState(), "The state is null");
6376  assertNotNull(authorizationResponse.getScope(), "The scope is null");
6377  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
6378 
6379  String authorizationCode = authorizationResponse.getCode();
6380 
6381  // 4. Get Access Token
6382  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
6383 
6386  tokenRequest.setAlgorithm(SignatureAlgorithm.RS256);
6387  tokenRequest.setCryptoProvider(cryptoProvider);
6388  tokenRequest.setKeyId(keyId);
6389  tokenRequest.setAudience(tokenEndpoint);
6390  tokenRequest.setCode(authorizationCode);
6391  tokenRequest.setRedirectUri(redirectUri);
6392  tokenRequest.setAuthUsername(clientId);
6393 
6394  TokenClient tokenClient = new TokenClient(tokenEndpoint);
6395  tokenClient.setRequest(tokenRequest);
6396  TokenResponse tokenResponse = tokenClient.exec();
6397 
6398  showClient(tokenClient);
6399  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
6400  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
6401  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
6402  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
ES256
Definition: SignatureAlgorithm.java:29
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail2()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail2 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
6410  {
6411  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail2");
6412 
6413  // 1. Register client
6414  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
6415  StringUtils.spaceSeparatedToList(redirectUris));
6418  registerRequest.setJwksUri(clientJwksUri);
6419  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
6420 
6421  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
6422  registerClient.setRequest(registerRequest);
6423  RegisterResponse registerResponse = registerClient.exec();
6424 
6425  showClient(registerClient);
6426  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
6427  assertNotNull(registerResponse.getClientId());
6428  assertNotNull(registerResponse.getClientSecret());
6429  assertNotNull(registerResponse.getRegistrationAccessToken());
6430  assertNotNull(registerResponse.getClientIdIssuedAt());
6431  assertNotNull(registerResponse.getClientSecretExpiresAt());
6432 
6433  String clientId = registerResponse.getClientId();
6434  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
6435  String registrationClientUri = registerResponse.getRegistrationClientUri();
6436 
6437  // 2. Client read
6438  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
6439 
6440  RegisterClient readClient = new RegisterClient(registrationClientUri);
6441  readClient.setRequest(readClientRequest);
6442  RegisterResponse readClientResponse = readClient.exec();
6443 
6444  showClient(readClient);
6445  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
6446  assertNotNull(readClientResponse.getClientId());
6447  assertNotNull(readClientResponse.getClientSecret());
6448  assertNotNull(readClientResponse.getClientIdIssuedAt());
6449  assertNotNull(readClientResponse.getClientSecretExpiresAt());
6450 
6451  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
6452  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
6454  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
6455  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
6456  SignatureAlgorithm.ES256.toString());
6457  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
6458  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
6459  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
6460  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
6461  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
6462  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
6463 
6464  // 3. Request authorization
6465  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
6466  List<String> scopes = Arrays.asList(
6467  "openid",
6468  "profile",
6469  "address",
6470  "email");
6471  String state = UUID.randomUUID().toString();
6472 
6473  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
6474  authorizationRequest.setState(state);
6475 
6477  authorizationEndpoint, authorizationRequest, userId, userSecret);
6478 
6479  assertNotNull(authorizationResponse.getLocation(), "The location is null");
6480  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
6481  assertNotNull(authorizationResponse.getState(), "The state is null");
6482  assertNotNull(authorizationResponse.getScope(), "The scope is null");
6483  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
6484 
6485  String authorizationCode = authorizationResponse.getCode();
6486 
6487  // 4. Get Access Token
6488  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
6489 
6492  tokenRequest.setAlgorithm(SignatureAlgorithm.RS384);
6493  tokenRequest.setCryptoProvider(cryptoProvider);
6494  tokenRequest.setKeyId(keyId);
6495  tokenRequest.setAudience(tokenEndpoint);
6496  tokenRequest.setCode(authorizationCode);
6497  tokenRequest.setRedirectUri(redirectUri);
6498  tokenRequest.setAuthUsername(clientId);
6499 
6500  TokenClient tokenClient = new TokenClient(tokenEndpoint);
6501  tokenClient.setRequest(tokenRequest);
6502  TokenResponse tokenResponse = tokenClient.exec();
6503 
6504  showClient(tokenClient);
6505  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
6506  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
6507  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
6508  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
ES256
Definition: SignatureAlgorithm.java:29
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail3()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail3 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
6516  {
6517  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail3");
6518 
6519  // 1. Register client
6520  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
6521  StringUtils.spaceSeparatedToList(redirectUris));
6524  registerRequest.setJwksUri(clientJwksUri);
6525  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
6526 
6527  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
6528  registerClient.setRequest(registerRequest);
6529  RegisterResponse registerResponse = registerClient.exec();
6530 
6531  showClient(registerClient);
6532  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
6533  assertNotNull(registerResponse.getClientId());
6534  assertNotNull(registerResponse.getClientSecret());
6535  assertNotNull(registerResponse.getRegistrationAccessToken());
6536  assertNotNull(registerResponse.getClientIdIssuedAt());
6537  assertNotNull(registerResponse.getClientSecretExpiresAt());
6538 
6539  String clientId = registerResponse.getClientId();
6540  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
6541  String registrationClientUri = registerResponse.getRegistrationClientUri();
6542 
6543  // 2. Client read
6544  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
6545 
6546  RegisterClient readClient = new RegisterClient(registrationClientUri);
6547  readClient.setRequest(readClientRequest);
6548  RegisterResponse readClientResponse = readClient.exec();
6549 
6550  showClient(readClient);
6551  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
6552  assertNotNull(readClientResponse.getClientId());
6553  assertNotNull(readClientResponse.getClientSecret());
6554  assertNotNull(readClientResponse.getClientIdIssuedAt());
6555  assertNotNull(readClientResponse.getClientSecretExpiresAt());
6556 
6557  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
6558  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
6560  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
6561  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
6562  SignatureAlgorithm.ES256.toString());
6563  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
6564  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
6565  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
6566  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
6567  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
6568  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
6569 
6570  // 3. Request authorization
6571  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
6572  List<String> scopes = Arrays.asList(
6573  "openid",
6574  "profile",
6575  "address",
6576  "email");
6577  String state = UUID.randomUUID().toString();
6578 
6579  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
6580  authorizationRequest.setState(state);
6581 
6583  authorizationEndpoint, authorizationRequest, userId, userSecret);
6584 
6585  assertNotNull(authorizationResponse.getLocation(), "The location is null");
6586  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
6587  assertNotNull(authorizationResponse.getState(), "The state is null");
6588  assertNotNull(authorizationResponse.getScope(), "The scope is null");
6589  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
6590 
6591  String authorizationCode = authorizationResponse.getCode();
6592 
6593  // 4. Get Access Token
6594  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
6595 
6598  tokenRequest.setAlgorithm(SignatureAlgorithm.RS512);
6599  tokenRequest.setCryptoProvider(cryptoProvider);
6600  tokenRequest.setKeyId(keyId);
6601  tokenRequest.setAudience(tokenEndpoint);
6602  tokenRequest.setCode(authorizationCode);
6603  tokenRequest.setRedirectUri(redirectUri);
6604  tokenRequest.setAuthUsername(clientId);
6605 
6606  TokenClient tokenClient = new TokenClient(tokenEndpoint);
6607  tokenClient.setRequest(tokenRequest);
6608  TokenResponse tokenResponse = tokenClient.exec();
6609 
6610  showClient(tokenClient);
6611  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
6612  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
6613  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
6614  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
ES256
Definition: SignatureAlgorithm.java:29
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail4()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail4 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
6622  {
6623  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail4");
6624 
6625  // 1. Register client
6626  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
6627  StringUtils.spaceSeparatedToList(redirectUris));
6630  registerRequest.setJwksUri(clientJwksUri);
6631  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
6632 
6633  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
6634  registerClient.setRequest(registerRequest);
6635  RegisterResponse registerResponse = registerClient.exec();
6636 
6637  showClient(registerClient);
6638  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
6639  assertNotNull(registerResponse.getClientId());
6640  assertNotNull(registerResponse.getClientSecret());
6641  assertNotNull(registerResponse.getRegistrationAccessToken());
6642  assertNotNull(registerResponse.getClientIdIssuedAt());
6643  assertNotNull(registerResponse.getClientSecretExpiresAt());
6644 
6645  String clientId = registerResponse.getClientId();
6646  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
6647  String registrationClientUri = registerResponse.getRegistrationClientUri();
6648 
6649  // 2. Client read
6650  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
6651 
6652  RegisterClient readClient = new RegisterClient(registrationClientUri);
6653  readClient.setRequest(readClientRequest);
6654  RegisterResponse readClientResponse = readClient.exec();
6655 
6656  showClient(readClient);
6657  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
6658  assertNotNull(readClientResponse.getClientId());
6659  assertNotNull(readClientResponse.getClientSecret());
6660  assertNotNull(readClientResponse.getClientIdIssuedAt());
6661  assertNotNull(readClientResponse.getClientSecretExpiresAt());
6662 
6663  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
6664  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
6666  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
6667  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
6668  SignatureAlgorithm.ES256.toString());
6669  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
6670  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
6671  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
6672  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
6673  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
6674  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
6675 
6676  // 3. Request authorization
6677  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
6678  List<String> scopes = Arrays.asList(
6679  "openid",
6680  "profile",
6681  "address",
6682  "email");
6683  String state = UUID.randomUUID().toString();
6684 
6685  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
6686  authorizationRequest.setState(state);
6687 
6689  authorizationEndpoint, authorizationRequest, userId, userSecret);
6690 
6691  assertNotNull(authorizationResponse.getLocation(), "The location is null");
6692  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
6693  assertNotNull(authorizationResponse.getState(), "The state is null");
6694  assertNotNull(authorizationResponse.getScope(), "The scope is null");
6695  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
6696 
6697  String authorizationCode = authorizationResponse.getCode();
6698 
6699  // 4. Get Access Token
6700  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
6701 
6704  tokenRequest.setAlgorithm(SignatureAlgorithm.ES384);
6705  tokenRequest.setCryptoProvider(cryptoProvider);
6706  tokenRequest.setKeyId(keyId);
6707  tokenRequest.setAudience(tokenEndpoint);
6708  tokenRequest.setCode(authorizationCode);
6709  tokenRequest.setRedirectUri(redirectUri);
6710  tokenRequest.setAuthUsername(clientId);
6711 
6712  TokenClient tokenClient = new TokenClient(tokenEndpoint);
6713  tokenClient.setRequest(tokenRequest);
6714  TokenResponse tokenResponse = tokenClient.exec();
6715 
6716  showClient(tokenClient);
6717  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
6718  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
6719  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
6720  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
ES256
Definition: SignatureAlgorithm.java:29
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
ES384
Definition: SignatureAlgorithm.java:30
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail5()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail5 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
6728  {
6729  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES256Fail5");
6730 
6731  // 1. Register client
6732  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
6733  StringUtils.spaceSeparatedToList(redirectUris));
6736  registerRequest.setJwksUri(clientJwksUri);
6737  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
6738 
6739  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
6740  registerClient.setRequest(registerRequest);
6741  RegisterResponse registerResponse = registerClient.exec();
6742 
6743  showClient(registerClient);
6744  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
6745  assertNotNull(registerResponse.getClientId());
6746  assertNotNull(registerResponse.getClientSecret());
6747  assertNotNull(registerResponse.getRegistrationAccessToken());
6748  assertNotNull(registerResponse.getClientIdIssuedAt());
6749  assertNotNull(registerResponse.getClientSecretExpiresAt());
6750 
6751  String clientId = registerResponse.getClientId();
6752  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
6753  String registrationClientUri = registerResponse.getRegistrationClientUri();
6754 
6755  // 2. Client read
6756  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
6757 
6758  RegisterClient readClient = new RegisterClient(registrationClientUri);
6759  readClient.setRequest(readClientRequest);
6760  RegisterResponse readClientResponse = readClient.exec();
6761 
6762  showClient(readClient);
6763  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
6764  assertNotNull(readClientResponse.getClientId());
6765  assertNotNull(readClientResponse.getClientSecret());
6766  assertNotNull(readClientResponse.getClientIdIssuedAt());
6767  assertNotNull(readClientResponse.getClientSecretExpiresAt());
6768 
6769  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
6770  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
6772  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
6773  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
6774  SignatureAlgorithm.ES256.toString());
6775  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
6776  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
6777  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
6778  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
6779  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
6780  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
6781 
6782  // 3. Request authorization
6783  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
6784  List<String> scopes = Arrays.asList(
6785  "openid",
6786  "profile",
6787  "address",
6788  "email");
6789  String state = UUID.randomUUID().toString();
6790 
6791  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
6792  authorizationRequest.setState(state);
6793 
6795  authorizationEndpoint, authorizationRequest, userId, userSecret);
6796 
6797  assertNotNull(authorizationResponse.getLocation(), "The location is null");
6798  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
6799  assertNotNull(authorizationResponse.getState(), "The state is null");
6800  assertNotNull(authorizationResponse.getScope(), "The scope is null");
6801  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
6802 
6803  String authorizationCode = authorizationResponse.getCode();
6804 
6805  // 4. Get Access Token
6806  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
6807 
6810  tokenRequest.setAlgorithm(SignatureAlgorithm.ES512);
6811  tokenRequest.setCryptoProvider(cryptoProvider);
6812  tokenRequest.setKeyId(keyId);
6813  tokenRequest.setAudience(tokenEndpoint);
6814  tokenRequest.setCode(authorizationCode);
6815  tokenRequest.setRedirectUri(redirectUri);
6816  tokenRequest.setAuthUsername(clientId);
6817 
6818  TokenClient tokenClient = new TokenClient(tokenEndpoint);
6819  tokenClient.setRequest(tokenRequest);
6820  TokenResponse tokenResponse = tokenClient.exec();
6821 
6822  showClient(tokenClient);
6823  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
6824  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
6825  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
6826  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
ES512
Definition: SignatureAlgorithm.java:31
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
ES256
Definition: SignatureAlgorithm.java:29
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
6834  {
6835  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384");
6836 
6837  // 1. Register client
6838  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
6839  StringUtils.spaceSeparatedToList(redirectUris));
6842  registerRequest.setJwksUri(clientJwksUri);
6843  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
6844 
6845  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
6846  registerClient.setRequest(registerRequest);
6847  RegisterResponse registerResponse = registerClient.exec();
6848 
6849  showClient(registerClient);
6850  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
6851  assertNotNull(registerResponse.getClientId());
6852  assertNotNull(registerResponse.getClientSecret());
6853  assertNotNull(registerResponse.getRegistrationAccessToken());
6854  assertNotNull(registerResponse.getClientIdIssuedAt());
6855  assertNotNull(registerResponse.getClientSecretExpiresAt());
6856 
6857  String clientId = registerResponse.getClientId();
6858  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
6859  String registrationClientUri = registerResponse.getRegistrationClientUri();
6860 
6861  // 2. Client read
6862  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
6863 
6864  RegisterClient readClient = new RegisterClient(registrationClientUri);
6865  readClient.setRequest(readClientRequest);
6866  RegisterResponse readClientResponse = readClient.exec();
6867 
6868  showClient(readClient);
6869  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
6870  assertNotNull(readClientResponse.getClientId());
6871  assertNotNull(readClientResponse.getClientSecret());
6872  assertNotNull(readClientResponse.getClientIdIssuedAt());
6873  assertNotNull(readClientResponse.getClientSecretExpiresAt());
6874 
6875  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
6876  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
6878  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
6879  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
6880  SignatureAlgorithm.ES384.toString());
6881  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
6882  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
6883  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
6884  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
6885  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
6886  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
6887 
6888  // 3. Request authorization
6889  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
6890  List<String> scopes = Arrays.asList(
6891  "openid",
6892  "profile",
6893  "address",
6894  "email");
6895  String state = UUID.randomUUID().toString();
6896 
6897  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
6898  authorizationRequest.setState(state);
6899 
6901  authorizationEndpoint, authorizationRequest, userId, userSecret);
6902 
6903  assertNotNull(authorizationResponse.getLocation(), "The location is null");
6904  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
6905  assertNotNull(authorizationResponse.getState(), "The state is null");
6906  assertNotNull(authorizationResponse.getScope(), "The scope is null");
6907  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
6908 
6909  String authorizationCode = authorizationResponse.getCode();
6910 
6911  // 4. Get Access Token
6912  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
6913 
6916  tokenRequest.setAlgorithm(SignatureAlgorithm.ES384);
6917  tokenRequest.setCryptoProvider(cryptoProvider);
6918  tokenRequest.setKeyId(keyId);
6919  tokenRequest.setAudience(tokenEndpoint);
6920  tokenRequest.setCode(authorizationCode);
6921  tokenRequest.setRedirectUri(redirectUri);
6922  tokenRequest.setAuthUsername(clientId);
6923 
6924  TokenClient tokenClient = new TokenClient(tokenEndpoint);
6925  tokenClient.setRequest(tokenRequest);
6926  TokenResponse tokenResponse = tokenClient.exec();
6927 
6928  showClient(tokenClient);
6929  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
6930  assertNotNull(tokenResponse.getEntity(), "The entity is null");
6931  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
6932  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
6933  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
6934  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
6935  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
ES384
Definition: SignatureAlgorithm.java:30
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail1()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail1 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
6943  {
6944  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail1");
6945 
6946  // 1. Register client
6947  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
6948  StringUtils.spaceSeparatedToList(redirectUris));
6951  registerRequest.setJwksUri(clientJwksUri);
6952  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
6953 
6954  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
6955  registerClient.setRequest(registerRequest);
6956  RegisterResponse registerResponse = registerClient.exec();
6957 
6958  showClient(registerClient);
6959  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
6960  assertNotNull(registerResponse.getClientId());
6961  assertNotNull(registerResponse.getClientSecret());
6962  assertNotNull(registerResponse.getRegistrationAccessToken());
6963  assertNotNull(registerResponse.getClientIdIssuedAt());
6964  assertNotNull(registerResponse.getClientSecretExpiresAt());
6965 
6966  String clientId = registerResponse.getClientId();
6967  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
6968  String registrationClientUri = registerResponse.getRegistrationClientUri();
6969 
6970  // 2. Client read
6971  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
6972 
6973  RegisterClient readClient = new RegisterClient(registrationClientUri);
6974  readClient.setRequest(readClientRequest);
6975  RegisterResponse readClientResponse = readClient.exec();
6976 
6977  showClient(readClient);
6978  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
6979  assertNotNull(readClientResponse.getClientId());
6980  assertNotNull(readClientResponse.getClientSecret());
6981  assertNotNull(readClientResponse.getClientIdIssuedAt());
6982  assertNotNull(readClientResponse.getClientSecretExpiresAt());
6983 
6984  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
6985  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
6987  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
6988  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
6989  SignatureAlgorithm.ES384.toString());
6990  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
6991  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
6992  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
6993  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
6994  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
6995  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
6996 
6997  // 3. Request authorization
6998  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
6999  List<String> scopes = Arrays.asList(
7000  "openid",
7001  "profile",
7002  "address",
7003  "email");
7004  String state = UUID.randomUUID().toString();
7005 
7006  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
7007  authorizationRequest.setState(state);
7008 
7010  authorizationEndpoint, authorizationRequest, userId, userSecret);
7011 
7012  assertNotNull(authorizationResponse.getLocation(), "The location is null");
7013  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
7014  assertNotNull(authorizationResponse.getState(), "The state is null");
7015  assertNotNull(authorizationResponse.getScope(), "The scope is null");
7016  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
7017 
7018  String authorizationCode = authorizationResponse.getCode();
7019 
7020  // 4. Get Access Token
7021  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
7022 
7025  tokenRequest.setAlgorithm(SignatureAlgorithm.RS256);
7026  tokenRequest.setCryptoProvider(cryptoProvider);
7027  tokenRequest.setKeyId(keyId);
7028  tokenRequest.setAudience(tokenEndpoint);
7029  tokenRequest.setCode(authorizationCode);
7030  tokenRequest.setRedirectUri(redirectUri);
7031  tokenRequest.setAuthUsername(clientId);
7032 
7033  TokenClient tokenClient = new TokenClient(tokenEndpoint);
7034  tokenClient.setRequest(tokenRequest);
7035  TokenResponse tokenResponse = tokenClient.exec();
7036 
7037  showClient(tokenClient);
7038  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
7039  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
7040  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
7041  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
ES384
Definition: SignatureAlgorithm.java:30
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail2()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail2 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
7049  {
7050  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail2");
7051 
7052  // 1. Register client
7053  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
7054  StringUtils.spaceSeparatedToList(redirectUris));
7057  registerRequest.setJwksUri(clientJwksUri);
7058  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
7059 
7060  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
7061  registerClient.setRequest(registerRequest);
7062  RegisterResponse registerResponse = registerClient.exec();
7063 
7064  showClient(registerClient);
7065  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
7066  assertNotNull(registerResponse.getClientId());
7067  assertNotNull(registerResponse.getClientSecret());
7068  assertNotNull(registerResponse.getRegistrationAccessToken());
7069  assertNotNull(registerResponse.getClientIdIssuedAt());
7070  assertNotNull(registerResponse.getClientSecretExpiresAt());
7071 
7072  String clientId = registerResponse.getClientId();
7073  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
7074  String registrationClientUri = registerResponse.getRegistrationClientUri();
7075 
7076  // 2. Client read
7077  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
7078 
7079  RegisterClient readClient = new RegisterClient(registrationClientUri);
7080  readClient.setRequest(readClientRequest);
7081  RegisterResponse readClientResponse = readClient.exec();
7082 
7083  showClient(readClient);
7084  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
7085  assertNotNull(readClientResponse.getClientId());
7086  assertNotNull(readClientResponse.getClientSecret());
7087  assertNotNull(readClientResponse.getClientIdIssuedAt());
7088  assertNotNull(readClientResponse.getClientSecretExpiresAt());
7089 
7090  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
7091  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
7093  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
7094  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
7095  SignatureAlgorithm.ES384.toString());
7096  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
7097  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
7098  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
7099  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
7100  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
7101  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
7102 
7103  // 3. Request authorization
7104  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
7105  List<String> scopes = Arrays.asList(
7106  "openid",
7107  "profile",
7108  "address",
7109  "email");
7110  String state = UUID.randomUUID().toString();
7111 
7112  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
7113  authorizationRequest.setState(state);
7114 
7116  authorizationEndpoint, authorizationRequest, userId, userSecret);
7117 
7118  assertNotNull(authorizationResponse.getLocation(), "The location is null");
7119  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
7120  assertNotNull(authorizationResponse.getState(), "The state is null");
7121  assertNotNull(authorizationResponse.getScope(), "The scope is null");
7122  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
7123 
7124  String authorizationCode = authorizationResponse.getCode();
7125 
7126  // 4. Get Access Token
7127  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
7128 
7131  tokenRequest.setAlgorithm(SignatureAlgorithm.RS384);
7132  tokenRequest.setCryptoProvider(cryptoProvider);
7133  tokenRequest.setKeyId(keyId);
7134  tokenRequest.setAudience(tokenEndpoint);
7135  tokenRequest.setCode(authorizationCode);
7136  tokenRequest.setRedirectUri(redirectUri);
7137  tokenRequest.setAuthUsername(clientId);
7138 
7139  TokenClient tokenClient = new TokenClient(tokenEndpoint);
7140  tokenClient.setRequest(tokenRequest);
7141  TokenResponse tokenResponse = tokenClient.exec();
7142 
7143  showClient(tokenClient);
7144  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
7145  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
7146  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
7147  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
ES384
Definition: SignatureAlgorithm.java:30
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail3()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail3 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
7155  {
7156  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail3");
7157 
7158  // 1. Register client
7159  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
7160  StringUtils.spaceSeparatedToList(redirectUris));
7163  registerRequest.setJwksUri(clientJwksUri);
7164  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
7165 
7166  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
7167  registerClient.setRequest(registerRequest);
7168  RegisterResponse registerResponse = registerClient.exec();
7169 
7170  showClient(registerClient);
7171  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
7172  assertNotNull(registerResponse.getClientId());
7173  assertNotNull(registerResponse.getClientSecret());
7174  assertNotNull(registerResponse.getRegistrationAccessToken());
7175  assertNotNull(registerResponse.getClientIdIssuedAt());
7176  assertNotNull(registerResponse.getClientSecretExpiresAt());
7177 
7178  String clientId = registerResponse.getClientId();
7179  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
7180  String registrationClientUri = registerResponse.getRegistrationClientUri();
7181 
7182  // 2. Client read
7183  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
7184 
7185  RegisterClient readClient = new RegisterClient(registrationClientUri);
7186  readClient.setRequest(readClientRequest);
7187  RegisterResponse readClientResponse = readClient.exec();
7188 
7189  showClient(readClient);
7190  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
7191  assertNotNull(readClientResponse.getClientId());
7192  assertNotNull(readClientResponse.getClientSecret());
7193  assertNotNull(readClientResponse.getClientIdIssuedAt());
7194  assertNotNull(readClientResponse.getClientSecretExpiresAt());
7195 
7196  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
7197  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
7199  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
7200  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
7201  SignatureAlgorithm.ES384.toString());
7202  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
7203  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
7204  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
7205  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
7206  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
7207  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
7208 
7209  // 3. Request authorization
7210  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
7211  List<String> scopes = Arrays.asList(
7212  "openid",
7213  "profile",
7214  "address",
7215  "email");
7216  String state = UUID.randomUUID().toString();
7217 
7218  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
7219  authorizationRequest.setState(state);
7220 
7222  authorizationEndpoint, authorizationRequest, userId, userSecret);
7223 
7224  assertNotNull(authorizationResponse.getLocation(), "The location is null");
7225  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
7226  assertNotNull(authorizationResponse.getState(), "The state is null");
7227  assertNotNull(authorizationResponse.getScope(), "The scope is null");
7228  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
7229 
7230  String authorizationCode = authorizationResponse.getCode();
7231 
7232  // 4. Get Access Token
7233  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
7234 
7237  tokenRequest.setAlgorithm(SignatureAlgorithm.RS512);
7238  tokenRequest.setCryptoProvider(cryptoProvider);
7239  tokenRequest.setKeyId(keyId);
7240  tokenRequest.setAudience(tokenEndpoint);
7241  tokenRequest.setCode(authorizationCode);
7242  tokenRequest.setRedirectUri(redirectUri);
7243  tokenRequest.setAuthUsername(clientId);
7244 
7245  TokenClient tokenClient = new TokenClient(tokenEndpoint);
7246  tokenClient.setRequest(tokenRequest);
7247  TokenResponse tokenResponse = tokenClient.exec();
7248 
7249  showClient(tokenClient);
7250  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
7251  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
7252  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
7253  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
ES384
Definition: SignatureAlgorithm.java:30
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail4()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail4 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
7261  {
7262  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail4");
7263 
7264  // 1. Register client
7265  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
7266  StringUtils.spaceSeparatedToList(redirectUris));
7269  registerRequest.setJwksUri(clientJwksUri);
7270  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
7271 
7272  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
7273  registerClient.setRequest(registerRequest);
7274  RegisterResponse registerResponse = registerClient.exec();
7275 
7276  showClient(registerClient);
7277  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
7278  assertNotNull(registerResponse.getClientId());
7279  assertNotNull(registerResponse.getClientSecret());
7280  assertNotNull(registerResponse.getRegistrationAccessToken());
7281  assertNotNull(registerResponse.getClientIdIssuedAt());
7282  assertNotNull(registerResponse.getClientSecretExpiresAt());
7283 
7284  String clientId = registerResponse.getClientId();
7285  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
7286  String registrationClientUri = registerResponse.getRegistrationClientUri();
7287 
7288  // 2. Client read
7289  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
7290 
7291  RegisterClient readClient = new RegisterClient(registrationClientUri);
7292  readClient.setRequest(readClientRequest);
7293  RegisterResponse readClientResponse = readClient.exec();
7294 
7295  showClient(readClient);
7296  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
7297  assertNotNull(readClientResponse.getClientId());
7298  assertNotNull(readClientResponse.getClientSecret());
7299  assertNotNull(readClientResponse.getClientIdIssuedAt());
7300  assertNotNull(readClientResponse.getClientSecretExpiresAt());
7301 
7302  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
7303  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
7305  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
7306  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
7307  SignatureAlgorithm.ES384.toString());
7308  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
7309  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
7310  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
7311  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
7312  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
7313  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
7314 
7315  // 3. Request authorization
7316  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
7317  List<String> scopes = Arrays.asList(
7318  "openid",
7319  "profile",
7320  "address",
7321  "email");
7322  String state = UUID.randomUUID().toString();
7323 
7324  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
7325  authorizationRequest.setState(state);
7326 
7328  authorizationEndpoint, authorizationRequest, userId, userSecret);
7329 
7330  assertNotNull(authorizationResponse.getLocation(), "The location is null");
7331  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
7332  assertNotNull(authorizationResponse.getState(), "The state is null");
7333  assertNotNull(authorizationResponse.getScope(), "The scope is null");
7334  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
7335 
7336  String authorizationCode = authorizationResponse.getCode();
7337 
7338  // 4. Get Access Token
7339  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
7340 
7343  tokenRequest.setAlgorithm(SignatureAlgorithm.ES256);
7344  tokenRequest.setCryptoProvider(cryptoProvider);
7345  tokenRequest.setKeyId(keyId);
7346  tokenRequest.setAudience(tokenEndpoint);
7347  tokenRequest.setCode(authorizationCode);
7348  tokenRequest.setRedirectUri(redirectUri);
7349  tokenRequest.setAuthUsername(clientId);
7350 
7351  TokenClient tokenClient = new TokenClient(tokenEndpoint);
7352  tokenClient.setRequest(tokenRequest);
7353  TokenResponse tokenResponse = tokenClient.exec();
7354 
7355  showClient(tokenClient);
7356  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
7357  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
7358  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
7359  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
ES256
Definition: SignatureAlgorithm.java:29
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
ES384
Definition: SignatureAlgorithm.java:30
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail5()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail5 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
7367  {
7368  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES384Fail5");
7369 
7370  // 1. Register client
7371  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
7372  StringUtils.spaceSeparatedToList(redirectUris));
7375  registerRequest.setJwksUri(clientJwksUri);
7376  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
7377 
7378  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
7379  registerClient.setRequest(registerRequest);
7380  RegisterResponse registerResponse = registerClient.exec();
7381 
7382  showClient(registerClient);
7383  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
7384  assertNotNull(registerResponse.getClientId());
7385  assertNotNull(registerResponse.getClientSecret());
7386  assertNotNull(registerResponse.getRegistrationAccessToken());
7387  assertNotNull(registerResponse.getClientIdIssuedAt());
7388  assertNotNull(registerResponse.getClientSecretExpiresAt());
7389 
7390  String clientId = registerResponse.getClientId();
7391  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
7392  String registrationClientUri = registerResponse.getRegistrationClientUri();
7393 
7394  // 2. Client read
7395  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
7396 
7397  RegisterClient readClient = new RegisterClient(registrationClientUri);
7398  readClient.setRequest(readClientRequest);
7399  RegisterResponse readClientResponse = readClient.exec();
7400 
7401  showClient(readClient);
7402  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
7403  assertNotNull(readClientResponse.getClientId());
7404  assertNotNull(readClientResponse.getClientSecret());
7405  assertNotNull(readClientResponse.getClientIdIssuedAt());
7406  assertNotNull(readClientResponse.getClientSecretExpiresAt());
7407 
7408  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
7409  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
7411  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
7412  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
7413  SignatureAlgorithm.ES384.toString());
7414  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
7415  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
7416  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
7417  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
7418  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
7419  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
7420 
7421  // 3. Request authorization
7422  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
7423  List<String> scopes = Arrays.asList(
7424  "openid",
7425  "profile",
7426  "address",
7427  "email");
7428  String state = UUID.randomUUID().toString();
7429 
7430  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
7431  authorizationRequest.setState(state);
7432 
7434  authorizationEndpoint, authorizationRequest, userId, userSecret);
7435 
7436  assertNotNull(authorizationResponse.getLocation(), "The location is null");
7437  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
7438  assertNotNull(authorizationResponse.getState(), "The state is null");
7439  assertNotNull(authorizationResponse.getScope(), "The scope is null");
7440  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
7441 
7442  String authorizationCode = authorizationResponse.getCode();
7443 
7444  // 4. Get Access Token
7445  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
7446 
7449  tokenRequest.setAlgorithm(SignatureAlgorithm.ES512);
7450  tokenRequest.setCryptoProvider(cryptoProvider);
7451  tokenRequest.setKeyId(keyId);
7452  tokenRequest.setAudience(tokenEndpoint);
7453  tokenRequest.setCode(authorizationCode);
7454  tokenRequest.setRedirectUri(redirectUri);
7455  tokenRequest.setAuthUsername(clientId);
7456 
7457  TokenClient tokenClient = new TokenClient(tokenEndpoint);
7458  tokenClient.setRequest(tokenRequest);
7459  TokenResponse tokenResponse = tokenClient.exec();
7460 
7461  showClient(tokenClient);
7462  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
7463  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
7464  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
7465  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
ES512
Definition: SignatureAlgorithm.java:31
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
ES384
Definition: SignatureAlgorithm.java:30
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
7473  {
7474  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512");
7475 
7476  // 1. Register client
7477  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
7478  StringUtils.spaceSeparatedToList(redirectUris));
7481  registerRequest.setJwksUri(clientJwksUri);
7482  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
7483 
7484  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
7485  registerClient.setRequest(registerRequest);
7486  RegisterResponse registerResponse = registerClient.exec();
7487 
7488  showClient(registerClient);
7489  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
7490  assertNotNull(registerResponse.getClientId());
7491  assertNotNull(registerResponse.getClientSecret());
7492  assertNotNull(registerResponse.getRegistrationAccessToken());
7493  assertNotNull(registerResponse.getClientIdIssuedAt());
7494  assertNotNull(registerResponse.getClientSecretExpiresAt());
7495 
7496  String clientId = registerResponse.getClientId();
7497  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
7498  String registrationClientUri = registerResponse.getRegistrationClientUri();
7499 
7500  // 2. Client read
7501  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
7502 
7503  RegisterClient readClient = new RegisterClient(registrationClientUri);
7504  readClient.setRequest(readClientRequest);
7505  RegisterResponse readClientResponse = readClient.exec();
7506 
7507  showClient(readClient);
7508  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
7509  assertNotNull(readClientResponse.getClientId());
7510  assertNotNull(readClientResponse.getClientSecret());
7511  assertNotNull(readClientResponse.getClientIdIssuedAt());
7512  assertNotNull(readClientResponse.getClientSecretExpiresAt());
7513 
7514  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
7515  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
7517  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
7518  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
7519  SignatureAlgorithm.ES512.toString());
7520  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
7521  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
7522  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
7523  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
7524  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
7525  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
7526 
7527  // 3. Request authorization
7528  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
7529  List<String> scopes = Arrays.asList(
7530  "openid",
7531  "profile",
7532  "address",
7533  "email");
7534  String state = UUID.randomUUID().toString();
7535 
7536  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
7537  authorizationRequest.setState(state);
7538 
7540  authorizationEndpoint, authorizationRequest, userId, userSecret);
7541 
7542  assertNotNull(authorizationResponse.getLocation(), "The location is null");
7543  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
7544  assertNotNull(authorizationResponse.getState(), "The state is null");
7545  assertNotNull(authorizationResponse.getScope(), "The scope is null");
7546  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
7547 
7548  String authorizationCode = authorizationResponse.getCode();
7549 
7550  // 4. Get Access Token
7551  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
7552 
7555  tokenRequest.setAlgorithm(SignatureAlgorithm.ES512);
7556  tokenRequest.setCryptoProvider(cryptoProvider);
7557  tokenRequest.setKeyId(keyId);
7558  tokenRequest.setAudience(tokenEndpoint);
7559  tokenRequest.setCode(authorizationCode);
7560  tokenRequest.setRedirectUri(redirectUri);
7561  tokenRequest.setAuthUsername(clientId);
7562 
7563  TokenClient tokenClient = new TokenClient(tokenEndpoint);
7564  tokenClient.setRequest(tokenRequest);
7565  TokenResponse tokenResponse = tokenClient.exec();
7566 
7567  showClient(tokenClient);
7568  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
7569  assertNotNull(tokenResponse.getEntity(), "The entity is null");
7570  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
7571  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
7572  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
7573  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
7574  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
ES512
Definition: SignatureAlgorithm.java:31
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail1()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail1 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
7582  {
7583  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail1");
7584 
7585  // 1. Register client
7586  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
7587  StringUtils.spaceSeparatedToList(redirectUris));
7590  registerRequest.setJwksUri(clientJwksUri);
7591  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
7592 
7593  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
7594  registerClient.setRequest(registerRequest);
7595  RegisterResponse registerResponse = registerClient.exec();
7596 
7597  showClient(registerClient);
7598  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
7599  assertNotNull(registerResponse.getClientId());
7600  assertNotNull(registerResponse.getClientSecret());
7601  assertNotNull(registerResponse.getRegistrationAccessToken());
7602  assertNotNull(registerResponse.getClientIdIssuedAt());
7603  assertNotNull(registerResponse.getClientSecretExpiresAt());
7604 
7605  String clientId = registerResponse.getClientId();
7606  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
7607  String registrationClientUri = registerResponse.getRegistrationClientUri();
7608 
7609  // 2. Client read
7610  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
7611 
7612  RegisterClient readClient = new RegisterClient(registrationClientUri);
7613  readClient.setRequest(readClientRequest);
7614  RegisterResponse readClientResponse = readClient.exec();
7615 
7616  showClient(readClient);
7617  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
7618  assertNotNull(readClientResponse.getClientId());
7619  assertNotNull(readClientResponse.getClientSecret());
7620  assertNotNull(readClientResponse.getClientIdIssuedAt());
7621  assertNotNull(readClientResponse.getClientSecretExpiresAt());
7622 
7623  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
7624  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
7626  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
7627  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
7628  SignatureAlgorithm.ES512.toString());
7629  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
7630  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
7631  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
7632  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
7633  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
7634  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
7635 
7636  // 3. Request authorization
7637  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
7638  List<String> scopes = Arrays.asList(
7639  "openid",
7640  "profile",
7641  "address",
7642  "email");
7643  String state = UUID.randomUUID().toString();
7644 
7645  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
7646  authorizationRequest.setState(state);
7647 
7649  authorizationEndpoint, authorizationRequest, userId, userSecret);
7650 
7651  assertNotNull(authorizationResponse.getLocation(), "The location is null");
7652  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
7653  assertNotNull(authorizationResponse.getState(), "The state is null");
7654  assertNotNull(authorizationResponse.getScope(), "The scope is null");
7655  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
7656 
7657  String authorizationCode = authorizationResponse.getCode();
7658 
7659  // 4. Get Access Token
7660  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
7661 
7664  tokenRequest.setAlgorithm(SignatureAlgorithm.RS256);
7665  tokenRequest.setCryptoProvider(cryptoProvider);
7666  tokenRequest.setKeyId(keyId);
7667  tokenRequest.setAudience(tokenEndpoint);
7668  tokenRequest.setCode(authorizationCode);
7669  tokenRequest.setRedirectUri(redirectUri);
7670  tokenRequest.setAuthUsername(clientId);
7671 
7672  TokenClient tokenClient = new TokenClient(tokenEndpoint);
7673  tokenClient.setRequest(tokenRequest);
7674  TokenResponse tokenResponse = tokenClient.exec();
7675 
7676  showClient(tokenClient);
7677  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
7678  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
7679  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
7680  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
ES512
Definition: SignatureAlgorithm.java:31
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail2()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail2 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
7688  {
7689  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail2");
7690 
7691  // 1. Register client
7692  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
7693  StringUtils.spaceSeparatedToList(redirectUris));
7696  registerRequest.setJwksUri(clientJwksUri);
7697  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
7698 
7699  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
7700  registerClient.setRequest(registerRequest);
7701  RegisterResponse registerResponse = registerClient.exec();
7702 
7703  showClient(registerClient);
7704  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
7705  assertNotNull(registerResponse.getClientId());
7706  assertNotNull(registerResponse.getClientSecret());
7707  assertNotNull(registerResponse.getRegistrationAccessToken());
7708  assertNotNull(registerResponse.getClientIdIssuedAt());
7709  assertNotNull(registerResponse.getClientSecretExpiresAt());
7710 
7711  String clientId = registerResponse.getClientId();
7712  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
7713  String registrationClientUri = registerResponse.getRegistrationClientUri();
7714 
7715  // 2. Client read
7716  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
7717 
7718  RegisterClient readClient = new RegisterClient(registrationClientUri);
7719  readClient.setRequest(readClientRequest);
7720  RegisterResponse readClientResponse = readClient.exec();
7721 
7722  showClient(readClient);
7723  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
7724  assertNotNull(readClientResponse.getClientId());
7725  assertNotNull(readClientResponse.getClientSecret());
7726  assertNotNull(readClientResponse.getClientIdIssuedAt());
7727  assertNotNull(readClientResponse.getClientSecretExpiresAt());
7728 
7729  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
7730  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
7732  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
7733  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
7734  SignatureAlgorithm.ES512.toString());
7735  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
7736  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
7737  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
7738  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
7739  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
7740  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
7741 
7742  // 3. Request authorization
7743  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
7744  List<String> scopes = Arrays.asList(
7745  "openid",
7746  "profile",
7747  "address",
7748  "email");
7749  String state = UUID.randomUUID().toString();
7750 
7751  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
7752  authorizationRequest.setState(state);
7753 
7755  authorizationEndpoint, authorizationRequest, userId, userSecret);
7756 
7757  assertNotNull(authorizationResponse.getLocation(), "The location is null");
7758  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
7759  assertNotNull(authorizationResponse.getState(), "The state is null");
7760  assertNotNull(authorizationResponse.getScope(), "The scope is null");
7761  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
7762 
7763  String authorizationCode = authorizationResponse.getCode();
7764 
7765  // 4. Get Access Token
7766  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
7767 
7770  tokenRequest.setAlgorithm(SignatureAlgorithm.RS384);
7771  tokenRequest.setCryptoProvider(cryptoProvider);
7772  tokenRequest.setKeyId(keyId);
7773  tokenRequest.setAudience(tokenEndpoint);
7774  tokenRequest.setCode(authorizationCode);
7775  tokenRequest.setRedirectUri(redirectUri);
7776  tokenRequest.setAuthUsername(clientId);
7777 
7778  TokenClient tokenClient = new TokenClient(tokenEndpoint);
7779  tokenClient.setRequest(tokenRequest);
7780  TokenResponse tokenResponse = tokenClient.exec();
7781 
7782  showClient(tokenClient);
7783  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
7784  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
7785  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
7786  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
ES512
Definition: SignatureAlgorithm.java:31
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail3()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail3 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
7794  {
7795  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail3");
7796 
7797  // 1. Register client
7798  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
7799  StringUtils.spaceSeparatedToList(redirectUris));
7802  registerRequest.setJwksUri(clientJwksUri);
7803  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
7804 
7805  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
7806  registerClient.setRequest(registerRequest);
7807  RegisterResponse registerResponse = registerClient.exec();
7808 
7809  showClient(registerClient);
7810  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
7811  assertNotNull(registerResponse.getClientId());
7812  assertNotNull(registerResponse.getClientSecret());
7813  assertNotNull(registerResponse.getRegistrationAccessToken());
7814  assertNotNull(registerResponse.getClientIdIssuedAt());
7815  assertNotNull(registerResponse.getClientSecretExpiresAt());
7816 
7817  String clientId = registerResponse.getClientId();
7818  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
7819  String registrationClientUri = registerResponse.getRegistrationClientUri();
7820 
7821  // 2. Client read
7822  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
7823 
7824  RegisterClient readClient = new RegisterClient(registrationClientUri);
7825  readClient.setRequest(readClientRequest);
7826  RegisterResponse readClientResponse = readClient.exec();
7827 
7828  showClient(readClient);
7829  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
7830  assertNotNull(readClientResponse.getClientId());
7831  assertNotNull(readClientResponse.getClientSecret());
7832  assertNotNull(readClientResponse.getClientIdIssuedAt());
7833  assertNotNull(readClientResponse.getClientSecretExpiresAt());
7834 
7835  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
7836  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
7838  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
7839  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
7840  SignatureAlgorithm.ES512.toString());
7841  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
7842  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
7843  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
7844  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
7845  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
7846  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
7847 
7848  // 3. Request authorization
7849  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
7850  List<String> scopes = Arrays.asList(
7851  "openid",
7852  "profile",
7853  "address",
7854  "email");
7855  String state = UUID.randomUUID().toString();
7856 
7857  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
7858  authorizationRequest.setState(state);
7859 
7861  authorizationEndpoint, authorizationRequest, userId, userSecret);
7862 
7863  assertNotNull(authorizationResponse.getLocation(), "The location is null");
7864  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
7865  assertNotNull(authorizationResponse.getState(), "The state is null");
7866  assertNotNull(authorizationResponse.getScope(), "The scope is null");
7867  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
7868 
7869  String authorizationCode = authorizationResponse.getCode();
7870 
7871  // 4. Get Access Token
7872  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
7873 
7876  tokenRequest.setAlgorithm(SignatureAlgorithm.RS512);
7877  tokenRequest.setCryptoProvider(cryptoProvider);
7878  tokenRequest.setKeyId(keyId);
7879  tokenRequest.setAudience(tokenEndpoint);
7880  tokenRequest.setCode(authorizationCode);
7881  tokenRequest.setRedirectUri(redirectUri);
7882  tokenRequest.setAuthUsername(clientId);
7883 
7884  TokenClient tokenClient = new TokenClient(tokenEndpoint);
7885  tokenClient.setRequest(tokenRequest);
7886  TokenResponse tokenResponse = tokenClient.exec();
7887 
7888  showClient(tokenClient);
7889  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
7890  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
7891  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
7892  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
ES512
Definition: SignatureAlgorithm.java:31
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail4()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail4 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
7900  {
7901  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail4");
7902 
7903  // 1. Register client
7904  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
7905  StringUtils.spaceSeparatedToList(redirectUris));
7908  registerRequest.setJwksUri(clientJwksUri);
7909  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
7910 
7911  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
7912  registerClient.setRequest(registerRequest);
7913  RegisterResponse registerResponse = registerClient.exec();
7914 
7915  showClient(registerClient);
7916  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
7917  assertNotNull(registerResponse.getClientId());
7918  assertNotNull(registerResponse.getClientSecret());
7919  assertNotNull(registerResponse.getRegistrationAccessToken());
7920  assertNotNull(registerResponse.getClientIdIssuedAt());
7921  assertNotNull(registerResponse.getClientSecretExpiresAt());
7922 
7923  String clientId = registerResponse.getClientId();
7924  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
7925  String registrationClientUri = registerResponse.getRegistrationClientUri();
7926 
7927  // 2. Client read
7928  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
7929 
7930  RegisterClient readClient = new RegisterClient(registrationClientUri);
7931  readClient.setRequest(readClientRequest);
7932  RegisterResponse readClientResponse = readClient.exec();
7933 
7934  showClient(readClient);
7935  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
7936  assertNotNull(readClientResponse.getClientId());
7937  assertNotNull(readClientResponse.getClientSecret());
7938  assertNotNull(readClientResponse.getClientIdIssuedAt());
7939  assertNotNull(readClientResponse.getClientSecretExpiresAt());
7940 
7941  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
7942  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
7944  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
7945  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
7946  SignatureAlgorithm.ES512.toString());
7947  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
7948  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
7949  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
7950  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
7951  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
7952  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
7953 
7954  // 3. Request authorization
7955  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
7956  List<String> scopes = Arrays.asList(
7957  "openid",
7958  "profile",
7959  "address",
7960  "email");
7961  String state = UUID.randomUUID().toString();
7962 
7963  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
7964  authorizationRequest.setState(state);
7965 
7967  authorizationEndpoint, authorizationRequest, userId, userSecret);
7968 
7969  assertNotNull(authorizationResponse.getLocation(), "The location is null");
7970  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
7971  assertNotNull(authorizationResponse.getState(), "The state is null");
7972  assertNotNull(authorizationResponse.getScope(), "The scope is null");
7973  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
7974 
7975  String authorizationCode = authorizationResponse.getCode();
7976 
7977  // 4. Get Access Token
7978  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
7979 
7982  tokenRequest.setAlgorithm(SignatureAlgorithm.ES256);
7983  tokenRequest.setCryptoProvider(cryptoProvider);
7984  tokenRequest.setKeyId(keyId);
7985  tokenRequest.setAudience(tokenEndpoint);
7986  tokenRequest.setCode(authorizationCode);
7987  tokenRequest.setRedirectUri(redirectUri);
7988  tokenRequest.setAuthUsername(clientId);
7989 
7990  TokenClient tokenClient = new TokenClient(tokenEndpoint);
7991  tokenClient.setRequest(tokenRequest);
7992  TokenResponse tokenResponse = tokenClient.exec();
7993 
7994  showClient(tokenClient);
7995  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
7996  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
7997  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
7998  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
ES512
Definition: SignatureAlgorithm.java:31
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
ES256
Definition: SignatureAlgorithm.java:29
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail5()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail5 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
8006  {
8007  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgES512Fail5");
8008 
8009  // 1. Register client
8010  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
8011  StringUtils.spaceSeparatedToList(redirectUris));
8014  registerRequest.setJwksUri(clientJwksUri);
8015  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
8016 
8017  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
8018  registerClient.setRequest(registerRequest);
8019  RegisterResponse registerResponse = registerClient.exec();
8020 
8021  showClient(registerClient);
8022  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
8023  assertNotNull(registerResponse.getClientId());
8024  assertNotNull(registerResponse.getClientSecret());
8025  assertNotNull(registerResponse.getRegistrationAccessToken());
8026  assertNotNull(registerResponse.getClientIdIssuedAt());
8027  assertNotNull(registerResponse.getClientSecretExpiresAt());
8028 
8029  String clientId = registerResponse.getClientId();
8030  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
8031  String registrationClientUri = registerResponse.getRegistrationClientUri();
8032 
8033  // 2. Client read
8034  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
8035 
8036  RegisterClient readClient = new RegisterClient(registrationClientUri);
8037  readClient.setRequest(readClientRequest);
8038  RegisterResponse readClientResponse = readClient.exec();
8039 
8040  showClient(readClient);
8041  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
8042  assertNotNull(readClientResponse.getClientId());
8043  assertNotNull(readClientResponse.getClientSecret());
8044  assertNotNull(readClientResponse.getClientIdIssuedAt());
8045  assertNotNull(readClientResponse.getClientSecretExpiresAt());
8046 
8047  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
8048  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
8050  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
8051  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
8052  SignatureAlgorithm.ES512.toString());
8053  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
8054  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
8055  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
8056  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
8057  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
8058  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
8059 
8060  // 3. Request authorization
8061  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
8062  List<String> scopes = Arrays.asList(
8063  "openid",
8064  "profile",
8065  "address",
8066  "email");
8067  String state = UUID.randomUUID().toString();
8068 
8069  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
8070  authorizationRequest.setState(state);
8071 
8073  authorizationEndpoint, authorizationRequest, userId, userSecret);
8074 
8075  assertNotNull(authorizationResponse.getLocation(), "The location is null");
8076  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
8077  assertNotNull(authorizationResponse.getState(), "The state is null");
8078  assertNotNull(authorizationResponse.getScope(), "The scope is null");
8079  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
8080 
8081  String authorizationCode = authorizationResponse.getCode();
8082 
8083  // 4. Get Access Token
8084  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
8085 
8088  tokenRequest.setAlgorithm(SignatureAlgorithm.ES384);
8089  tokenRequest.setCryptoProvider(cryptoProvider);
8090  tokenRequest.setKeyId(keyId);
8091  tokenRequest.setAudience(tokenEndpoint);
8092  tokenRequest.setCode(authorizationCode);
8093  tokenRequest.setRedirectUri(redirectUri);
8094  tokenRequest.setAuthUsername(clientId);
8095 
8096  TokenClient tokenClient = new TokenClient(tokenEndpoint);
8097  tokenClient.setRequest(tokenRequest);
8098  TokenResponse tokenResponse = tokenClient.exec();
8099 
8100  showClient(tokenClient);
8101  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
8102  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
8103  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
8104  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
ES512
Definition: SignatureAlgorithm.java:31
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
ES384
Definition: SignatureAlgorithm.java:30
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
4278  {
4279  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256");
4280 
4281  // 1. Register client
4282  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
4283  StringUtils.spaceSeparatedToList(redirectUris));
4286  registerRequest.setJwksUri(clientJwksUri);
4287  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
4288 
4289  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
4290  registerClient.setRequest(registerRequest);
4291  RegisterResponse registerResponse = registerClient.exec();
4292 
4293  showClient(registerClient);
4294  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
4295  assertNotNull(registerResponse.getClientId());
4296  assertNotNull(registerResponse.getClientSecret());
4297  assertNotNull(registerResponse.getRegistrationAccessToken());
4298  assertNotNull(registerResponse.getClientIdIssuedAt());
4299  assertNotNull(registerResponse.getClientSecretExpiresAt());
4300 
4301  String clientId = registerResponse.getClientId();
4302  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
4303  String registrationClientUri = registerResponse.getRegistrationClientUri();
4304 
4305  // 2. Client read
4306  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
4307 
4308  RegisterClient readClient = new RegisterClient(registrationClientUri);
4309  readClient.setRequest(readClientRequest);
4310  RegisterResponse readClientResponse = readClient.exec();
4311 
4312  showClient(readClient);
4313  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
4314  assertNotNull(readClientResponse.getClientId());
4315  assertNotNull(readClientResponse.getClientSecret());
4316  assertNotNull(readClientResponse.getClientIdIssuedAt());
4317  assertNotNull(readClientResponse.getClientSecretExpiresAt());
4318 
4319  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
4320  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
4322  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
4323  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
4324  SignatureAlgorithm.RS256.toString());
4325  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
4326  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
4327  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
4328  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
4329  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
4330  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
4331 
4332  // 3. Request authorization
4333  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
4334  List<String> scopes = Arrays.asList(
4335  "openid",
4336  "profile",
4337  "address",
4338  "email");
4339  String state = UUID.randomUUID().toString();
4340 
4341  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
4342  authorizationRequest.setState(state);
4343 
4345  authorizationEndpoint, authorizationRequest, userId, userSecret);
4346 
4347  assertNotNull(authorizationResponse.getLocation(), "The location is null");
4348  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
4349  assertNotNull(authorizationResponse.getState(), "The state is null");
4350  assertNotNull(authorizationResponse.getScope(), "The scope is null");
4351  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
4352 
4353  String authorizationCode = authorizationResponse.getCode();
4354 
4355  // 4. Get Access Token
4356  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
4357 
4360  tokenRequest.setAlgorithm(SignatureAlgorithm.RS256);
4361  tokenRequest.setCryptoProvider(cryptoProvider);
4362  tokenRequest.setKeyId(keyId);
4363  tokenRequest.setAudience(tokenEndpoint);
4364  tokenRequest.setCode(authorizationCode);
4365  tokenRequest.setRedirectUri(redirectUri);
4366  tokenRequest.setAuthUsername(clientId);
4367 
4368  TokenClient tokenClient = new TokenClient(tokenEndpoint);
4369  tokenClient.setRequest(tokenRequest);
4370  TokenResponse tokenResponse = tokenClient.exec();
4371 
4372  showClient(tokenClient);
4373  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
4374  assertNotNull(tokenResponse.getEntity(), "The entity is null");
4375  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
4376  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
4377  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
4378  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
4379  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail1()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail1 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
4387  {
4388  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail1");
4389 
4390  // 1. Register client
4391  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
4392  StringUtils.spaceSeparatedToList(redirectUris));
4395  registerRequest.setJwksUri(clientJwksUri);
4396  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
4397 
4398  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
4399  registerClient.setRequest(registerRequest);
4400  RegisterResponse registerResponse = registerClient.exec();
4401 
4402  showClient(registerClient);
4403  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
4404  assertNotNull(registerResponse.getClientId());
4405  assertNotNull(registerResponse.getClientSecret());
4406  assertNotNull(registerResponse.getRegistrationAccessToken());
4407  assertNotNull(registerResponse.getClientIdIssuedAt());
4408  assertNotNull(registerResponse.getClientSecretExpiresAt());
4409 
4410  String clientId = registerResponse.getClientId();
4411  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
4412  String registrationClientUri = registerResponse.getRegistrationClientUri();
4413 
4414  // 2. Client read
4415  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
4416 
4417  RegisterClient readClient = new RegisterClient(registrationClientUri);
4418  readClient.setRequest(readClientRequest);
4419  RegisterResponse readClientResponse = readClient.exec();
4420 
4421  showClient(readClient);
4422  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
4423  assertNotNull(readClientResponse.getClientId());
4424  assertNotNull(readClientResponse.getClientSecret());
4425  assertNotNull(readClientResponse.getClientIdIssuedAt());
4426  assertNotNull(readClientResponse.getClientSecretExpiresAt());
4427 
4428  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
4429  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
4431  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
4432  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
4433  SignatureAlgorithm.RS256.toString());
4434  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
4435  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
4436  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
4437  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
4438  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
4439  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
4440 
4441  // 3. Request authorization
4442  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
4443  List<String> scopes = Arrays.asList(
4444  "openid",
4445  "profile",
4446  "address",
4447  "email");
4448  String state = UUID.randomUUID().toString();
4449 
4450  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
4451  authorizationRequest.setState(state);
4452 
4454  authorizationEndpoint, authorizationRequest, userId, userSecret);
4455 
4456  assertNotNull(authorizationResponse.getLocation(), "The location is null");
4457  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
4458  assertNotNull(authorizationResponse.getState(), "The state is null");
4459  assertNotNull(authorizationResponse.getScope(), "The scope is null");
4460  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
4461 
4462  String authorizationCode = authorizationResponse.getCode();
4463 
4464  // 4. Get Access Token
4465  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
4466 
4469  tokenRequest.setAlgorithm(SignatureAlgorithm.RS384);
4470  tokenRequest.setCryptoProvider(cryptoProvider);
4471  tokenRequest.setKeyId(keyId);
4472  tokenRequest.setAudience(tokenEndpoint);
4473  tokenRequest.setCode(authorizationCode);
4474  tokenRequest.setRedirectUri(redirectUri);
4475  tokenRequest.setAuthUsername(clientId);
4476 
4477  TokenClient tokenClient = new TokenClient(tokenEndpoint);
4478  tokenClient.setRequest(tokenRequest);
4479  TokenResponse tokenResponse = tokenClient.exec();
4480 
4481  showClient(tokenClient);
4482  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
4483  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
4484  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
4485  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail2()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail2 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
4493  {
4494  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail2");
4495 
4496  // 1. Register client
4497  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
4498  StringUtils.spaceSeparatedToList(redirectUris));
4501  registerRequest.setJwksUri(clientJwksUri);
4502  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
4503 
4504  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
4505  registerClient.setRequest(registerRequest);
4506  RegisterResponse registerResponse = registerClient.exec();
4507 
4508  showClient(registerClient);
4509  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
4510  assertNotNull(registerResponse.getClientId());
4511  assertNotNull(registerResponse.getClientSecret());
4512  assertNotNull(registerResponse.getRegistrationAccessToken());
4513  assertNotNull(registerResponse.getClientIdIssuedAt());
4514  assertNotNull(registerResponse.getClientSecretExpiresAt());
4515 
4516  String clientId = registerResponse.getClientId();
4517  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
4518  String registrationClientUri = registerResponse.getRegistrationClientUri();
4519 
4520  // 2. Client read
4521  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
4522 
4523  RegisterClient readClient = new RegisterClient(registrationClientUri);
4524  readClient.setRequest(readClientRequest);
4525  RegisterResponse readClientResponse = readClient.exec();
4526 
4527  showClient(readClient);
4528  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
4529  assertNotNull(readClientResponse.getClientId());
4530  assertNotNull(readClientResponse.getClientSecret());
4531  assertNotNull(readClientResponse.getClientIdIssuedAt());
4532  assertNotNull(readClientResponse.getClientSecretExpiresAt());
4533 
4534  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
4535  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
4537  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
4538  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
4539  SignatureAlgorithm.RS256.toString());
4540  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
4541  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
4542  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
4543  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
4544  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
4545  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
4546 
4547  // 3. Request authorization
4548  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
4549  List<String> scopes = Arrays.asList(
4550  "openid",
4551  "profile",
4552  "address",
4553  "email");
4554  String state = UUID.randomUUID().toString();
4555 
4556  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
4557  authorizationRequest.setState(state);
4558 
4560  authorizationEndpoint, authorizationRequest, userId, userSecret);
4561 
4562  assertNotNull(authorizationResponse.getLocation(), "The location is null");
4563  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
4564  assertNotNull(authorizationResponse.getState(), "The state is null");
4565  assertNotNull(authorizationResponse.getScope(), "The scope is null");
4566  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
4567 
4568  String authorizationCode = authorizationResponse.getCode();
4569 
4570  // 4. Get Access Token
4571  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
4572 
4575  tokenRequest.setAlgorithm(SignatureAlgorithm.RS512);
4576  tokenRequest.setCryptoProvider(cryptoProvider);
4577  tokenRequest.setKeyId(keyId);
4578  tokenRequest.setAudience(tokenEndpoint);
4579  tokenRequest.setCode(authorizationCode);
4580  tokenRequest.setRedirectUri(redirectUri);
4581  tokenRequest.setAuthUsername(clientId);
4582 
4583  TokenClient tokenClient = new TokenClient(tokenEndpoint);
4584  tokenClient.setRequest(tokenRequest);
4585  TokenResponse tokenResponse = tokenClient.exec();
4586 
4587  showClient(tokenClient);
4588  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
4589  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
4590  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
4591  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail3()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail3 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
4599  {
4600  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail3");
4601 
4602  // 1. Register client
4603  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
4604  StringUtils.spaceSeparatedToList(redirectUris));
4607  registerRequest.setJwksUri(clientJwksUri);
4608  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
4609 
4610  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
4611  registerClient.setRequest(registerRequest);
4612  RegisterResponse registerResponse = registerClient.exec();
4613 
4614  showClient(registerClient);
4615  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
4616  assertNotNull(registerResponse.getClientId());
4617  assertNotNull(registerResponse.getClientSecret());
4618  assertNotNull(registerResponse.getRegistrationAccessToken());
4619  assertNotNull(registerResponse.getClientIdIssuedAt());
4620  assertNotNull(registerResponse.getClientSecretExpiresAt());
4621 
4622  String clientId = registerResponse.getClientId();
4623  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
4624  String registrationClientUri = registerResponse.getRegistrationClientUri();
4625 
4626  // 2. Client read
4627  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
4628 
4629  RegisterClient readClient = new RegisterClient(registrationClientUri);
4630  readClient.setRequest(readClientRequest);
4631  RegisterResponse readClientResponse = readClient.exec();
4632 
4633  showClient(readClient);
4634  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
4635  assertNotNull(readClientResponse.getClientId());
4636  assertNotNull(readClientResponse.getClientSecret());
4637  assertNotNull(readClientResponse.getClientIdIssuedAt());
4638  assertNotNull(readClientResponse.getClientSecretExpiresAt());
4639 
4640  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
4641  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
4643  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
4644  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
4645  SignatureAlgorithm.RS256.toString());
4646  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
4647  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
4648  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
4649  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
4650  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
4651  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
4652 
4653  // 3. Request authorization
4654  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
4655  List<String> scopes = Arrays.asList(
4656  "openid",
4657  "profile",
4658  "address",
4659  "email");
4660  String state = UUID.randomUUID().toString();
4661 
4662  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
4663  authorizationRequest.setState(state);
4664 
4666  authorizationEndpoint, authorizationRequest, userId, userSecret);
4667 
4668  assertNotNull(authorizationResponse.getLocation(), "The location is null");
4669  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
4670  assertNotNull(authorizationResponse.getState(), "The state is null");
4671  assertNotNull(authorizationResponse.getScope(), "The scope is null");
4672  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
4673 
4674  String authorizationCode = authorizationResponse.getCode();
4675 
4676  // 4. Get Access Token
4677  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
4678 
4681  tokenRequest.setAlgorithm(SignatureAlgorithm.ES256);
4682  tokenRequest.setCryptoProvider(cryptoProvider);
4683  tokenRequest.setKeyId(keyId);
4684  tokenRequest.setAudience(tokenEndpoint);
4685  tokenRequest.setCode(authorizationCode);
4686  tokenRequest.setRedirectUri(redirectUri);
4687  tokenRequest.setAuthUsername(clientId);
4688 
4689  TokenClient tokenClient = new TokenClient(tokenEndpoint);
4690  tokenClient.setRequest(tokenRequest);
4691  TokenResponse tokenResponse = tokenClient.exec();
4692 
4693  showClient(tokenClient);
4694  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
4695  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
4696  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
4697  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
ES256
Definition: SignatureAlgorithm.java:29
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail4()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail4 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
4705  {
4706  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail4");
4707 
4708  // 1. Register client
4709  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
4710  StringUtils.spaceSeparatedToList(redirectUris));
4713  registerRequest.setJwksUri(clientJwksUri);
4714  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
4715 
4716  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
4717  registerClient.setRequest(registerRequest);
4718  RegisterResponse registerResponse = registerClient.exec();
4719 
4720  showClient(registerClient);
4721  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
4722  assertNotNull(registerResponse.getClientId());
4723  assertNotNull(registerResponse.getClientSecret());
4724  assertNotNull(registerResponse.getRegistrationAccessToken());
4725  assertNotNull(registerResponse.getClientIdIssuedAt());
4726  assertNotNull(registerResponse.getClientSecretExpiresAt());
4727 
4728  String clientId = registerResponse.getClientId();
4729  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
4730  String registrationClientUri = registerResponse.getRegistrationClientUri();
4731 
4732  // 2. Client read
4733  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
4734 
4735  RegisterClient readClient = new RegisterClient(registrationClientUri);
4736  readClient.setRequest(readClientRequest);
4737  RegisterResponse readClientResponse = readClient.exec();
4738 
4739  showClient(readClient);
4740  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
4741  assertNotNull(readClientResponse.getClientId());
4742  assertNotNull(readClientResponse.getClientSecret());
4743  assertNotNull(readClientResponse.getClientIdIssuedAt());
4744  assertNotNull(readClientResponse.getClientSecretExpiresAt());
4745 
4746  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
4747  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
4749  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
4750  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
4751  SignatureAlgorithm.RS256.toString());
4752  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
4753  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
4754  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
4755  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
4756  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
4757  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
4758 
4759  // 3. Request authorization
4760  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
4761  List<String> scopes = Arrays.asList(
4762  "openid",
4763  "profile",
4764  "address",
4765  "email");
4766  String state = UUID.randomUUID().toString();
4767 
4768  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
4769  authorizationRequest.setState(state);
4770 
4772  authorizationEndpoint, authorizationRequest, userId, userSecret);
4773 
4774  assertNotNull(authorizationResponse.getLocation(), "The location is null");
4775  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
4776  assertNotNull(authorizationResponse.getState(), "The state is null");
4777  assertNotNull(authorizationResponse.getScope(), "The scope is null");
4778  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
4779 
4780  String authorizationCode = authorizationResponse.getCode();
4781 
4782  // 4. Get Access Token
4783  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
4784 
4787  tokenRequest.setAlgorithm(SignatureAlgorithm.ES384);
4788  tokenRequest.setCryptoProvider(cryptoProvider);
4789  tokenRequest.setKeyId(keyId);
4790  tokenRequest.setAudience(tokenEndpoint);
4791  tokenRequest.setCode(authorizationCode);
4792  tokenRequest.setRedirectUri(redirectUri);
4793  tokenRequest.setAuthUsername(clientId);
4794 
4795  TokenClient tokenClient = new TokenClient(tokenEndpoint);
4796  tokenClient.setRequest(tokenRequest);
4797  TokenResponse tokenResponse = tokenClient.exec();
4798 
4799  showClient(tokenClient);
4800  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
4801  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
4802  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
4803  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
ES384
Definition: SignatureAlgorithm.java:30
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail5()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail5 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
4811  {
4812  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS256Fail5");
4813 
4814  // 1. Register client
4815  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
4816  StringUtils.spaceSeparatedToList(redirectUris));
4819  registerRequest.setJwksUri(clientJwksUri);
4820  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
4821 
4822  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
4823  registerClient.setRequest(registerRequest);
4824  RegisterResponse registerResponse = registerClient.exec();
4825 
4826  showClient(registerClient);
4827  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
4828  assertNotNull(registerResponse.getClientId());
4829  assertNotNull(registerResponse.getClientSecret());
4830  assertNotNull(registerResponse.getRegistrationAccessToken());
4831  assertNotNull(registerResponse.getClientIdIssuedAt());
4832  assertNotNull(registerResponse.getClientSecretExpiresAt());
4833 
4834  String clientId = registerResponse.getClientId();
4835  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
4836  String registrationClientUri = registerResponse.getRegistrationClientUri();
4837 
4838  // 2. Client read
4839  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
4840 
4841  RegisterClient readClient = new RegisterClient(registrationClientUri);
4842  readClient.setRequest(readClientRequest);
4843  RegisterResponse readClientResponse = readClient.exec();
4844 
4845  showClient(readClient);
4846  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
4847  assertNotNull(readClientResponse.getClientId());
4848  assertNotNull(readClientResponse.getClientSecret());
4849  assertNotNull(readClientResponse.getClientIdIssuedAt());
4850  assertNotNull(readClientResponse.getClientSecretExpiresAt());
4851 
4852  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
4853  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
4855  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
4856  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
4857  SignatureAlgorithm.RS256.toString());
4858  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
4859  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
4860  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
4861  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
4862  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
4863  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
4864 
4865  // 3. Request authorization
4866  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
4867  List<String> scopes = Arrays.asList(
4868  "openid",
4869  "profile",
4870  "address",
4871  "email");
4872  String state = UUID.randomUUID().toString();
4873 
4874  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
4875  authorizationRequest.setState(state);
4876 
4878  authorizationEndpoint, authorizationRequest, userId, userSecret);
4879 
4880  assertNotNull(authorizationResponse.getLocation(), "The location is null");
4881  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
4882  assertNotNull(authorizationResponse.getState(), "The state is null");
4883  assertNotNull(authorizationResponse.getScope(), "The scope is null");
4884  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
4885 
4886  String authorizationCode = authorizationResponse.getCode();
4887 
4888  // 4. Get Access Token
4889  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
4890 
4893  tokenRequest.setAlgorithm(SignatureAlgorithm.ES512);
4894  tokenRequest.setCryptoProvider(cryptoProvider);
4895  tokenRequest.setKeyId(keyId);
4896  tokenRequest.setAudience(tokenEndpoint);
4897  tokenRequest.setCode(authorizationCode);
4898  tokenRequest.setRedirectUri(redirectUri);
4899  tokenRequest.setAuthUsername(clientId);
4900 
4901  TokenClient tokenClient = new TokenClient(tokenEndpoint);
4902  tokenClient.setRequest(tokenRequest);
4903  TokenResponse tokenResponse = tokenClient.exec();
4904 
4905  showClient(tokenClient);
4906  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
4907  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
4908  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
4909  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
ES512
Definition: SignatureAlgorithm.java:31
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
4917  {
4918  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384");
4919 
4920  // 1. Register client
4921  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
4922  StringUtils.spaceSeparatedToList(redirectUris));
4925  registerRequest.setJwksUri(clientJwksUri);
4926  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
4927 
4928  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
4929  registerClient.setRequest(registerRequest);
4930  RegisterResponse registerResponse = registerClient.exec();
4931 
4932  showClient(registerClient);
4933  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
4934  assertNotNull(registerResponse.getClientId());
4935  assertNotNull(registerResponse.getClientSecret());
4936  assertNotNull(registerResponse.getRegistrationAccessToken());
4937  assertNotNull(registerResponse.getClientIdIssuedAt());
4938  assertNotNull(registerResponse.getClientSecretExpiresAt());
4939 
4940  String clientId = registerResponse.getClientId();
4941  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
4942  String registrationClientUri = registerResponse.getRegistrationClientUri();
4943 
4944  // 2. Client read
4945  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
4946 
4947  RegisterClient readClient = new RegisterClient(registrationClientUri);
4948  readClient.setRequest(readClientRequest);
4949  RegisterResponse readClientResponse = readClient.exec();
4950 
4951  showClient(readClient);
4952  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
4953  assertNotNull(readClientResponse.getClientId());
4954  assertNotNull(readClientResponse.getClientSecret());
4955  assertNotNull(readClientResponse.getClientIdIssuedAt());
4956  assertNotNull(readClientResponse.getClientSecretExpiresAt());
4957 
4958  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
4959  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
4961  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
4962  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
4963  SignatureAlgorithm.RS384.toString());
4964  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
4965  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
4966  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
4967  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
4968  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
4969  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
4970 
4971  // 3. Request authorization
4972  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
4973  List<String> scopes = Arrays.asList(
4974  "openid",
4975  "profile",
4976  "address",
4977  "email");
4978  String state = UUID.randomUUID().toString();
4979 
4980  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
4981  authorizationRequest.setState(state);
4982 
4984  authorizationEndpoint, authorizationRequest, userId, userSecret);
4985 
4986  assertNotNull(authorizationResponse.getLocation(), "The location is null");
4987  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
4988  assertNotNull(authorizationResponse.getState(), "The state is null");
4989  assertNotNull(authorizationResponse.getScope(), "The scope is null");
4990  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
4991 
4992  String authorizationCode = authorizationResponse.getCode();
4993 
4994  // 4. Get Access Token
4995  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
4996 
4999  tokenRequest.setAlgorithm(SignatureAlgorithm.RS384);
5000  tokenRequest.setCryptoProvider(cryptoProvider);
5001  tokenRequest.setKeyId(keyId);
5002  tokenRequest.setAudience(tokenEndpoint);
5003  tokenRequest.setCode(authorizationCode);
5004  tokenRequest.setRedirectUri(redirectUri);
5005  tokenRequest.setAuthUsername(clientId);
5006 
5007  TokenClient tokenClient = new TokenClient(tokenEndpoint);
5008  tokenClient.setRequest(tokenRequest);
5009  TokenResponse tokenResponse = tokenClient.exec();
5010 
5011  showClient(tokenClient);
5012  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
5013  assertNotNull(tokenResponse.getEntity(), "The entity is null");
5014  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
5015  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
5016  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
5017  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
5018  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail1()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail1 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
5026  {
5027  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail1");
5028 
5029  // 1. Register client
5030  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
5031  StringUtils.spaceSeparatedToList(redirectUris));
5034  registerRequest.setJwksUri(clientJwksUri);
5035  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
5036 
5037  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
5038  registerClient.setRequest(registerRequest);
5039  RegisterResponse registerResponse = registerClient.exec();
5040 
5041  showClient(registerClient);
5042  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
5043  assertNotNull(registerResponse.getClientId());
5044  assertNotNull(registerResponse.getClientSecret());
5045  assertNotNull(registerResponse.getRegistrationAccessToken());
5046  assertNotNull(registerResponse.getClientIdIssuedAt());
5047  assertNotNull(registerResponse.getClientSecretExpiresAt());
5048 
5049  String clientId = registerResponse.getClientId();
5050  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
5051  String registrationClientUri = registerResponse.getRegistrationClientUri();
5052 
5053  // 2. Client read
5054  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
5055 
5056  RegisterClient readClient = new RegisterClient(registrationClientUri);
5057  readClient.setRequest(readClientRequest);
5058  RegisterResponse readClientResponse = readClient.exec();
5059 
5060  showClient(readClient);
5061  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
5062  assertNotNull(readClientResponse.getClientId());
5063  assertNotNull(readClientResponse.getClientSecret());
5064  assertNotNull(readClientResponse.getClientIdIssuedAt());
5065  assertNotNull(readClientResponse.getClientSecretExpiresAt());
5066 
5067  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
5068  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
5070  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
5071  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
5072  SignatureAlgorithm.RS384.toString());
5073  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
5074  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
5075  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
5076  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
5077  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
5078  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
5079 
5080  // 3. Request authorization
5081  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
5082  List<String> scopes = Arrays.asList(
5083  "openid",
5084  "profile",
5085  "address",
5086  "email");
5087  String state = UUID.randomUUID().toString();
5088 
5089  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
5090  authorizationRequest.setState(state);
5091 
5093  authorizationEndpoint, authorizationRequest, userId, userSecret);
5094 
5095  assertNotNull(authorizationResponse.getLocation(), "The location is null");
5096  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
5097  assertNotNull(authorizationResponse.getState(), "The state is null");
5098  assertNotNull(authorizationResponse.getScope(), "The scope is null");
5099  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
5100 
5101  String authorizationCode = authorizationResponse.getCode();
5102 
5103  // 4. Get Access Token
5104  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
5105 
5108  tokenRequest.setAlgorithm(SignatureAlgorithm.RS256);
5109  tokenRequest.setCryptoProvider(cryptoProvider);
5110  tokenRequest.setKeyId(keyId);
5111  tokenRequest.setAudience(tokenEndpoint);
5112  tokenRequest.setCode(authorizationCode);
5113  tokenRequest.setRedirectUri(redirectUri);
5114  tokenRequest.setAuthUsername(clientId);
5115 
5116  TokenClient tokenClient = new TokenClient(tokenEndpoint);
5117  tokenClient.setRequest(tokenRequest);
5118  TokenResponse tokenResponse = tokenClient.exec();
5119 
5120  showClient(tokenClient);
5121  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
5122  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
5123  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
5124  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail2()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail2 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
5132  {
5133  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail2");
5134 
5135  // 1. Register client
5136  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
5137  StringUtils.spaceSeparatedToList(redirectUris));
5140  registerRequest.setJwksUri(clientJwksUri);
5141  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
5142 
5143  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
5144  registerClient.setRequest(registerRequest);
5145  RegisterResponse registerResponse = registerClient.exec();
5146 
5147  showClient(registerClient);
5148  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
5149  assertNotNull(registerResponse.getClientId());
5150  assertNotNull(registerResponse.getClientSecret());
5151  assertNotNull(registerResponse.getRegistrationAccessToken());
5152  assertNotNull(registerResponse.getClientIdIssuedAt());
5153  assertNotNull(registerResponse.getClientSecretExpiresAt());
5154 
5155  String clientId = registerResponse.getClientId();
5156  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
5157  String registrationClientUri = registerResponse.getRegistrationClientUri();
5158 
5159  // 2. Client read
5160  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
5161 
5162  RegisterClient readClient = new RegisterClient(registrationClientUri);
5163  readClient.setRequest(readClientRequest);
5164  RegisterResponse readClientResponse = readClient.exec();
5165 
5166  showClient(readClient);
5167  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
5168  assertNotNull(readClientResponse.getClientId());
5169  assertNotNull(readClientResponse.getClientSecret());
5170  assertNotNull(readClientResponse.getClientIdIssuedAt());
5171  assertNotNull(readClientResponse.getClientSecretExpiresAt());
5172 
5173  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
5174  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
5176  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
5177  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
5178  SignatureAlgorithm.RS384.toString());
5179  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
5180  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
5181  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
5182  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
5183  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
5184  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
5185 
5186  // 3. Request authorization
5187  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
5188  List<String> scopes = Arrays.asList(
5189  "openid",
5190  "profile",
5191  "address",
5192  "email");
5193  String state = UUID.randomUUID().toString();
5194 
5195  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
5196  authorizationRequest.setState(state);
5197 
5199  authorizationEndpoint, authorizationRequest, userId, userSecret);
5200 
5201  assertNotNull(authorizationResponse.getLocation(), "The location is null");
5202  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
5203  assertNotNull(authorizationResponse.getState(), "The state is null");
5204  assertNotNull(authorizationResponse.getScope(), "The scope is null");
5205  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
5206 
5207  String authorizationCode = authorizationResponse.getCode();
5208 
5209  // 4. Get Access Token
5210  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
5211 
5214  tokenRequest.setAlgorithm(SignatureAlgorithm.RS512);
5215  tokenRequest.setCryptoProvider(cryptoProvider);
5216  tokenRequest.setKeyId(keyId);
5217  tokenRequest.setAudience(tokenEndpoint);
5218  tokenRequest.setCode(authorizationCode);
5219  tokenRequest.setRedirectUri(redirectUri);
5220  tokenRequest.setAuthUsername(clientId);
5221 
5222  TokenClient tokenClient = new TokenClient(tokenEndpoint);
5223  tokenClient.setRequest(tokenRequest);
5224  TokenResponse tokenResponse = tokenClient.exec();
5225 
5226  showClient(tokenClient);
5227  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
5228  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
5229  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
5230  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail3()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail3 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
5238  {
5239  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail3");
5240 
5241  // 1. Register client
5242  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
5243  StringUtils.spaceSeparatedToList(redirectUris));
5246  registerRequest.setJwksUri(clientJwksUri);
5247  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
5248 
5249  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
5250  registerClient.setRequest(registerRequest);
5251  RegisterResponse registerResponse = registerClient.exec();
5252 
5253  showClient(registerClient);
5254  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
5255  assertNotNull(registerResponse.getClientId());
5256  assertNotNull(registerResponse.getClientSecret());
5257  assertNotNull(registerResponse.getRegistrationAccessToken());
5258  assertNotNull(registerResponse.getClientIdIssuedAt());
5259  assertNotNull(registerResponse.getClientSecretExpiresAt());
5260 
5261  String clientId = registerResponse.getClientId();
5262  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
5263  String registrationClientUri = registerResponse.getRegistrationClientUri();
5264 
5265  // 2. Client read
5266  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
5267 
5268  RegisterClient readClient = new RegisterClient(registrationClientUri);
5269  readClient.setRequest(readClientRequest);
5270  RegisterResponse readClientResponse = readClient.exec();
5271 
5272  showClient(readClient);
5273  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
5274  assertNotNull(readClientResponse.getClientId());
5275  assertNotNull(readClientResponse.getClientSecret());
5276  assertNotNull(readClientResponse.getClientIdIssuedAt());
5277  assertNotNull(readClientResponse.getClientSecretExpiresAt());
5278 
5279  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
5280  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
5282  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
5283  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
5284  SignatureAlgorithm.RS384.toString());
5285  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
5286  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
5287  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
5288  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
5289  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
5290  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
5291 
5292  // 3. Request authorization
5293  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
5294  List<String> scopes = Arrays.asList(
5295  "openid",
5296  "profile",
5297  "address",
5298  "email");
5299  String state = UUID.randomUUID().toString();
5300 
5301  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
5302  authorizationRequest.setState(state);
5303 
5305  authorizationEndpoint, authorizationRequest, userId, userSecret);
5306 
5307  assertNotNull(authorizationResponse.getLocation(), "The location is null");
5308  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
5309  assertNotNull(authorizationResponse.getState(), "The state is null");
5310  assertNotNull(authorizationResponse.getScope(), "The scope is null");
5311  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
5312 
5313  String authorizationCode = authorizationResponse.getCode();
5314 
5315  // 4. Get Access Token
5316  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
5317 
5320  tokenRequest.setAlgorithm(SignatureAlgorithm.ES256);
5321  tokenRequest.setCryptoProvider(cryptoProvider);
5322  tokenRequest.setKeyId(keyId);
5323  tokenRequest.setAudience(tokenEndpoint);
5324  tokenRequest.setCode(authorizationCode);
5325  tokenRequest.setRedirectUri(redirectUri);
5326  tokenRequest.setAuthUsername(clientId);
5327 
5328  TokenClient tokenClient = new TokenClient(tokenEndpoint);
5329  tokenClient.setRequest(tokenRequest);
5330  TokenResponse tokenResponse = tokenClient.exec();
5331 
5332  showClient(tokenClient);
5333  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
5334  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
5335  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
5336  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
ES256
Definition: SignatureAlgorithm.java:29
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail4()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail4 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
5344  {
5345  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail4");
5346 
5347  // 1. Register client
5348  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
5349  StringUtils.spaceSeparatedToList(redirectUris));
5352  registerRequest.setJwksUri(clientJwksUri);
5353  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
5354 
5355  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
5356  registerClient.setRequest(registerRequest);
5357  RegisterResponse registerResponse = registerClient.exec();
5358 
5359  showClient(registerClient);
5360  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
5361  assertNotNull(registerResponse.getClientId());
5362  assertNotNull(registerResponse.getClientSecret());
5363  assertNotNull(registerResponse.getRegistrationAccessToken());
5364  assertNotNull(registerResponse.getClientIdIssuedAt());
5365  assertNotNull(registerResponse.getClientSecretExpiresAt());
5366 
5367  String clientId = registerResponse.getClientId();
5368  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
5369  String registrationClientUri = registerResponse.getRegistrationClientUri();
5370 
5371  // 2. Client read
5372  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
5373 
5374  RegisterClient readClient = new RegisterClient(registrationClientUri);
5375  readClient.setRequest(readClientRequest);
5376  RegisterResponse readClientResponse = readClient.exec();
5377 
5378  showClient(readClient);
5379  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
5380  assertNotNull(readClientResponse.getClientId());
5381  assertNotNull(readClientResponse.getClientSecret());
5382  assertNotNull(readClientResponse.getClientIdIssuedAt());
5383  assertNotNull(readClientResponse.getClientSecretExpiresAt());
5384 
5385  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
5386  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
5388  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
5389  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
5390  SignatureAlgorithm.RS384.toString());
5391  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
5392  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
5393  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
5394  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
5395  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
5396  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
5397 
5398  // 3. Request authorization
5399  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
5400  List<String> scopes = Arrays.asList(
5401  "openid",
5402  "profile",
5403  "address",
5404  "email");
5405  String state = UUID.randomUUID().toString();
5406 
5407  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
5408  authorizationRequest.setState(state);
5409 
5411  authorizationEndpoint, authorizationRequest, userId, userSecret);
5412 
5413  assertNotNull(authorizationResponse.getLocation(), "The location is null");
5414  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
5415  assertNotNull(authorizationResponse.getState(), "The state is null");
5416  assertNotNull(authorizationResponse.getScope(), "The scope is null");
5417  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
5418 
5419  String authorizationCode = authorizationResponse.getCode();
5420 
5421  // 4. Get Access Token
5422  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
5423 
5426  tokenRequest.setAlgorithm(SignatureAlgorithm.ES384);
5427  tokenRequest.setCryptoProvider(cryptoProvider);
5428  tokenRequest.setKeyId(keyId);
5429  tokenRequest.setAudience(tokenEndpoint);
5430  tokenRequest.setCode(authorizationCode);
5431  tokenRequest.setRedirectUri(redirectUri);
5432  tokenRequest.setAuthUsername(clientId);
5433 
5434  TokenClient tokenClient = new TokenClient(tokenEndpoint);
5435  tokenClient.setRequest(tokenRequest);
5436  TokenResponse tokenResponse = tokenClient.exec();
5437 
5438  showClient(tokenClient);
5439  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
5440  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
5441  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
5442  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
ES384
Definition: SignatureAlgorithm.java:30
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail5()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail5 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
5450  {
5451  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS384Fail5");
5452 
5453  // 1. Register client
5454  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
5455  StringUtils.spaceSeparatedToList(redirectUris));
5458  registerRequest.setJwksUri(clientJwksUri);
5459  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
5460 
5461  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
5462  registerClient.setRequest(registerRequest);
5463  RegisterResponse registerResponse = registerClient.exec();
5464 
5465  showClient(registerClient);
5466  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
5467  assertNotNull(registerResponse.getClientId());
5468  assertNotNull(registerResponse.getClientSecret());
5469  assertNotNull(registerResponse.getRegistrationAccessToken());
5470  assertNotNull(registerResponse.getClientIdIssuedAt());
5471  assertNotNull(registerResponse.getClientSecretExpiresAt());
5472 
5473  String clientId = registerResponse.getClientId();
5474  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
5475  String registrationClientUri = registerResponse.getRegistrationClientUri();
5476 
5477  // 2. Client read
5478  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
5479 
5480  RegisterClient readClient = new RegisterClient(registrationClientUri);
5481  readClient.setRequest(readClientRequest);
5482  RegisterResponse readClientResponse = readClient.exec();
5483 
5484  showClient(readClient);
5485  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
5486  assertNotNull(readClientResponse.getClientId());
5487  assertNotNull(readClientResponse.getClientSecret());
5488  assertNotNull(readClientResponse.getClientIdIssuedAt());
5489  assertNotNull(readClientResponse.getClientSecretExpiresAt());
5490 
5491  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
5492  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
5494  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
5495  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
5496  SignatureAlgorithm.RS384.toString());
5497  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
5498  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
5499  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
5500  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
5501  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
5502  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
5503 
5504  // 3. Request authorization
5505  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
5506  List<String> scopes = Arrays.asList(
5507  "openid",
5508  "profile",
5509  "address",
5510  "email");
5511  String state = UUID.randomUUID().toString();
5512 
5513  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
5514  authorizationRequest.setState(state);
5515 
5517  authorizationEndpoint, authorizationRequest, userId, userSecret);
5518 
5519  assertNotNull(authorizationResponse.getLocation(), "The location is null");
5520  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
5521  assertNotNull(authorizationResponse.getState(), "The state is null");
5522  assertNotNull(authorizationResponse.getScope(), "The scope is null");
5523  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
5524 
5525  String authorizationCode = authorizationResponse.getCode();
5526 
5527  // 4. Get Access Token
5528  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
5529 
5532  tokenRequest.setAlgorithm(SignatureAlgorithm.ES512);
5533  tokenRequest.setCryptoProvider(cryptoProvider);
5534  tokenRequest.setKeyId(keyId);
5535  tokenRequest.setAudience(tokenEndpoint);
5536  tokenRequest.setCode(authorizationCode);
5537  tokenRequest.setRedirectUri(redirectUri);
5538  tokenRequest.setAuthUsername(clientId);
5539 
5540  TokenClient tokenClient = new TokenClient(tokenEndpoint);
5541  tokenClient.setRequest(tokenRequest);
5542  TokenResponse tokenResponse = tokenClient.exec();
5543 
5544  showClient(tokenClient);
5545  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
5546  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
5547  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
5548  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
ES512
Definition: SignatureAlgorithm.java:31
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
5556  {
5557  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512");
5558 
5559  // 1. Register client
5560  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
5561  StringUtils.spaceSeparatedToList(redirectUris));
5564  registerRequest.setJwksUri(clientJwksUri);
5565  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
5566 
5567  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
5568  registerClient.setRequest(registerRequest);
5569  RegisterResponse registerResponse = registerClient.exec();
5570 
5571  showClient(registerClient);
5572  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
5573  assertNotNull(registerResponse.getClientId());
5574  assertNotNull(registerResponse.getClientSecret());
5575  assertNotNull(registerResponse.getRegistrationAccessToken());
5576  assertNotNull(registerResponse.getClientIdIssuedAt());
5577  assertNotNull(registerResponse.getClientSecretExpiresAt());
5578 
5579  String clientId = registerResponse.getClientId();
5580  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
5581  String registrationClientUri = registerResponse.getRegistrationClientUri();
5582 
5583  // 2. Client read
5584  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
5585 
5586  RegisterClient readClient = new RegisterClient(registrationClientUri);
5587  readClient.setRequest(readClientRequest);
5588  RegisterResponse readClientResponse = readClient.exec();
5589 
5590  showClient(readClient);
5591  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
5592  assertNotNull(readClientResponse.getClientId());
5593  assertNotNull(readClientResponse.getClientSecret());
5594  assertNotNull(readClientResponse.getClientIdIssuedAt());
5595  assertNotNull(readClientResponse.getClientSecretExpiresAt());
5596 
5597  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
5598  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
5600  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
5601  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
5602  SignatureAlgorithm.RS512.toString());
5603  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
5604  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
5605  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
5606  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
5607  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
5608  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
5609 
5610  // 3. Request authorization
5611  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
5612  List<String> scopes = Arrays.asList(
5613  "openid",
5614  "profile",
5615  "address",
5616  "email");
5617  String state = UUID.randomUUID().toString();
5618 
5619  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
5620  authorizationRequest.setState(state);
5621 
5623  authorizationEndpoint, authorizationRequest, userId, userSecret);
5624 
5625  assertNotNull(authorizationResponse.getLocation(), "The location is null");
5626  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
5627  assertNotNull(authorizationResponse.getState(), "The state is null");
5628  assertNotNull(authorizationResponse.getScope(), "The scope is null");
5629  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
5630 
5631  String authorizationCode = authorizationResponse.getCode();
5632 
5633  // 4. Get Access Token
5634  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
5635 
5638  tokenRequest.setAlgorithm(SignatureAlgorithm.RS512);
5639  tokenRequest.setCryptoProvider(cryptoProvider);
5640  tokenRequest.setKeyId(keyId);
5641  tokenRequest.setAudience(tokenEndpoint);
5642  tokenRequest.setCode(authorizationCode);
5643  tokenRequest.setRedirectUri(redirectUri);
5644  tokenRequest.setAuthUsername(clientId);
5645 
5646  TokenClient tokenClient = new TokenClient(tokenEndpoint);
5647  tokenClient.setRequest(tokenRequest);
5648  TokenResponse tokenResponse = tokenClient.exec();
5649 
5650  showClient(tokenClient);
5651  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
5652  assertNotNull(tokenResponse.getEntity(), "The entity is null");
5653  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
5654  assertNotNull(tokenResponse.getExpiresIn(), "The expires in value is null");
5655  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
5656  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
5657  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail1()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail1 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
5665  {
5666  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail1");
5667 
5668  // 1. Register client
5669  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
5670  StringUtils.spaceSeparatedToList(redirectUris));
5673  registerRequest.setJwksUri(clientJwksUri);
5674  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
5675 
5676  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
5677  registerClient.setRequest(registerRequest);
5678  RegisterResponse registerResponse = registerClient.exec();
5679 
5680  showClient(registerClient);
5681  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
5682  assertNotNull(registerResponse.getClientId());
5683  assertNotNull(registerResponse.getClientSecret());
5684  assertNotNull(registerResponse.getRegistrationAccessToken());
5685  assertNotNull(registerResponse.getClientIdIssuedAt());
5686  assertNotNull(registerResponse.getClientSecretExpiresAt());
5687 
5688  String clientId = registerResponse.getClientId();
5689  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
5690  String registrationClientUri = registerResponse.getRegistrationClientUri();
5691 
5692  // 2. Client read
5693  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
5694 
5695  RegisterClient readClient = new RegisterClient(registrationClientUri);
5696  readClient.setRequest(readClientRequest);
5697  RegisterResponse readClientResponse = readClient.exec();
5698 
5699  showClient(readClient);
5700  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
5701  assertNotNull(readClientResponse.getClientId());
5702  assertNotNull(readClientResponse.getClientSecret());
5703  assertNotNull(readClientResponse.getClientIdIssuedAt());
5704  assertNotNull(readClientResponse.getClientSecretExpiresAt());
5705 
5706  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
5707  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
5709  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
5710  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
5711  SignatureAlgorithm.RS512.toString());
5712  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
5713  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
5714  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
5715  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
5716  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
5717  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
5718 
5719  // 3. Request authorization
5720  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
5721  List<String> scopes = Arrays.asList(
5722  "openid",
5723  "profile",
5724  "address",
5725  "email");
5726  String state = UUID.randomUUID().toString();
5727 
5728  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
5729  authorizationRequest.setState(state);
5730 
5732  authorizationEndpoint, authorizationRequest, userId, userSecret);
5733 
5734  assertNotNull(authorizationResponse.getLocation(), "The location is null");
5735  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
5736  assertNotNull(authorizationResponse.getState(), "The state is null");
5737  assertNotNull(authorizationResponse.getScope(), "The scope is null");
5738  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
5739 
5740  String authorizationCode = authorizationResponse.getCode();
5741 
5742  // 4. Get Access Token
5743  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
5744 
5747  tokenRequest.setAlgorithm(SignatureAlgorithm.RS256);
5748  tokenRequest.setCryptoProvider(cryptoProvider);
5749  tokenRequest.setKeyId(keyId);
5750  tokenRequest.setAudience(tokenEndpoint);
5751  tokenRequest.setCode(authorizationCode);
5752  tokenRequest.setRedirectUri(redirectUri);
5753  tokenRequest.setAuthUsername(clientId);
5754 
5755  TokenClient tokenClient = new TokenClient(tokenEndpoint);
5756  tokenClient.setRequest(tokenRequest);
5757  TokenResponse tokenResponse = tokenClient.exec();
5758 
5759  showClient(tokenClient);
5760  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
5761  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
5762  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
5763  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail2()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail2 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
5771  {
5772  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail2");
5773 
5774  // 1. Register client
5775  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
5776  StringUtils.spaceSeparatedToList(redirectUris));
5779  registerRequest.setJwksUri(clientJwksUri);
5780  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
5781 
5782  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
5783  registerClient.setRequest(registerRequest);
5784  RegisterResponse registerResponse = registerClient.exec();
5785 
5786  showClient(registerClient);
5787  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
5788  assertNotNull(registerResponse.getClientId());
5789  assertNotNull(registerResponse.getClientSecret());
5790  assertNotNull(registerResponse.getRegistrationAccessToken());
5791  assertNotNull(registerResponse.getClientIdIssuedAt());
5792  assertNotNull(registerResponse.getClientSecretExpiresAt());
5793 
5794  String clientId = registerResponse.getClientId();
5795  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
5796  String registrationClientUri = registerResponse.getRegistrationClientUri();
5797 
5798  // 2. Client read
5799  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
5800 
5801  RegisterClient readClient = new RegisterClient(registrationClientUri);
5802  readClient.setRequest(readClientRequest);
5803  RegisterResponse readClientResponse = readClient.exec();
5804 
5805  showClient(readClient);
5806  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
5807  assertNotNull(readClientResponse.getClientId());
5808  assertNotNull(readClientResponse.getClientSecret());
5809  assertNotNull(readClientResponse.getClientIdIssuedAt());
5810  assertNotNull(readClientResponse.getClientSecretExpiresAt());
5811 
5812  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
5813  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
5815  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
5816  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
5817  SignatureAlgorithm.RS512.toString());
5818  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
5819  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
5820  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
5821  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
5822  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
5823  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
5824 
5825  // 3. Request authorization
5826  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
5827  List<String> scopes = Arrays.asList(
5828  "openid",
5829  "profile",
5830  "address",
5831  "email");
5832  String state = UUID.randomUUID().toString();
5833 
5834  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
5835  authorizationRequest.setState(state);
5836 
5838  authorizationEndpoint, authorizationRequest, userId, userSecret);
5839 
5840  assertNotNull(authorizationResponse.getLocation(), "The location is null");
5841  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
5842  assertNotNull(authorizationResponse.getState(), "The state is null");
5843  assertNotNull(authorizationResponse.getScope(), "The scope is null");
5844  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
5845 
5846  String authorizationCode = authorizationResponse.getCode();
5847 
5848  // 4. Get Access Token
5849  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
5850 
5853  tokenRequest.setAlgorithm(SignatureAlgorithm.RS384);
5854  tokenRequest.setCryptoProvider(cryptoProvider);
5855  tokenRequest.setKeyId(keyId);
5856  tokenRequest.setAudience(tokenEndpoint);
5857  tokenRequest.setCode(authorizationCode);
5858  tokenRequest.setRedirectUri(redirectUri);
5859  tokenRequest.setAuthUsername(clientId);
5860 
5861  TokenClient tokenClient = new TokenClient(tokenEndpoint);
5862  tokenClient.setRequest(tokenRequest);
5863  TokenResponse tokenResponse = tokenClient.exec();
5864 
5865  showClient(tokenClient);
5866  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
5867  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
5868  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
5869  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
RS384
Definition: SignatureAlgorithm.java:27
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail3()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail3 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
5877  {
5878  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail3");
5879 
5880  // 1. Register client
5881  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
5882  StringUtils.spaceSeparatedToList(redirectUris));
5885  registerRequest.setJwksUri(clientJwksUri);
5886  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
5887 
5888  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
5889  registerClient.setRequest(registerRequest);
5890  RegisterResponse registerResponse = registerClient.exec();
5891 
5892  showClient(registerClient);
5893  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
5894  assertNotNull(registerResponse.getClientId());
5895  assertNotNull(registerResponse.getClientSecret());
5896  assertNotNull(registerResponse.getRegistrationAccessToken());
5897  assertNotNull(registerResponse.getClientIdIssuedAt());
5898  assertNotNull(registerResponse.getClientSecretExpiresAt());
5899 
5900  String clientId = registerResponse.getClientId();
5901  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
5902  String registrationClientUri = registerResponse.getRegistrationClientUri();
5903 
5904  // 2. Client read
5905  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
5906 
5907  RegisterClient readClient = new RegisterClient(registrationClientUri);
5908  readClient.setRequest(readClientRequest);
5909  RegisterResponse readClientResponse = readClient.exec();
5910 
5911  showClient(readClient);
5912  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
5913  assertNotNull(readClientResponse.getClientId());
5914  assertNotNull(readClientResponse.getClientSecret());
5915  assertNotNull(readClientResponse.getClientIdIssuedAt());
5916  assertNotNull(readClientResponse.getClientSecretExpiresAt());
5917 
5918  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
5919  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
5921  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
5922  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
5923  SignatureAlgorithm.RS512.toString());
5924  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
5925  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
5926  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
5927  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
5928  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
5929  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
5930 
5931  // 3. Request authorization
5932  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
5933  List<String> scopes = Arrays.asList(
5934  "openid",
5935  "profile",
5936  "address",
5937  "email");
5938  String state = UUID.randomUUID().toString();
5939 
5940  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
5941  authorizationRequest.setState(state);
5942 
5944  authorizationEndpoint, authorizationRequest, userId, userSecret);
5945 
5946  assertNotNull(authorizationResponse.getLocation(), "The location is null");
5947  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
5948  assertNotNull(authorizationResponse.getState(), "The state is null");
5949  assertNotNull(authorizationResponse.getScope(), "The scope is null");
5950  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
5951 
5952  String authorizationCode = authorizationResponse.getCode();
5953 
5954  // 4. Get Access Token
5955  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
5956 
5959  tokenRequest.setAlgorithm(SignatureAlgorithm.ES256);
5960  tokenRequest.setCryptoProvider(cryptoProvider);
5961  tokenRequest.setKeyId(keyId);
5962  tokenRequest.setAudience(tokenEndpoint);
5963  tokenRequest.setCode(authorizationCode);
5964  tokenRequest.setRedirectUri(redirectUri);
5965  tokenRequest.setAuthUsername(clientId);
5966 
5967  TokenClient tokenClient = new TokenClient(tokenEndpoint);
5968  tokenClient.setRequest(tokenRequest);
5969  TokenResponse tokenResponse = tokenClient.exec();
5970 
5971  showClient(tokenClient);
5972  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
5973  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
5974  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
5975  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
ES256
Definition: SignatureAlgorithm.java:29
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail4()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail4 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
5983  {
5984  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail4");
5985 
5986  // 1. Register client
5987  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
5988  StringUtils.spaceSeparatedToList(redirectUris));
5991  registerRequest.setJwksUri(clientJwksUri);
5992  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
5993 
5994  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
5995  registerClient.setRequest(registerRequest);
5996  RegisterResponse registerResponse = registerClient.exec();
5997 
5998  showClient(registerClient);
5999  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
6000  assertNotNull(registerResponse.getClientId());
6001  assertNotNull(registerResponse.getClientSecret());
6002  assertNotNull(registerResponse.getRegistrationAccessToken());
6003  assertNotNull(registerResponse.getClientIdIssuedAt());
6004  assertNotNull(registerResponse.getClientSecretExpiresAt());
6005 
6006  String clientId = registerResponse.getClientId();
6007  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
6008  String registrationClientUri = registerResponse.getRegistrationClientUri();
6009 
6010  // 2. Client read
6011  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
6012 
6013  RegisterClient readClient = new RegisterClient(registrationClientUri);
6014  readClient.setRequest(readClientRequest);
6015  RegisterResponse readClientResponse = readClient.exec();
6016 
6017  showClient(readClient);
6018  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
6019  assertNotNull(readClientResponse.getClientId());
6020  assertNotNull(readClientResponse.getClientSecret());
6021  assertNotNull(readClientResponse.getClientIdIssuedAt());
6022  assertNotNull(readClientResponse.getClientSecretExpiresAt());
6023 
6024  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
6025  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
6027  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
6028  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
6029  SignatureAlgorithm.RS512.toString());
6030  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
6031  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
6032  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
6033  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
6034  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
6035  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
6036 
6037  // 3. Request authorization
6038  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
6039  List<String> scopes = Arrays.asList(
6040  "openid",
6041  "profile",
6042  "address",
6043  "email");
6044  String state = UUID.randomUUID().toString();
6045 
6046  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
6047  authorizationRequest.setState(state);
6048 
6050  authorizationEndpoint, authorizationRequest, userId, userSecret);
6051 
6052  assertNotNull(authorizationResponse.getLocation(), "The location is null");
6053  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
6054  assertNotNull(authorizationResponse.getState(), "The state is null");
6055  assertNotNull(authorizationResponse.getScope(), "The scope is null");
6056  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
6057 
6058  String authorizationCode = authorizationResponse.getCode();
6059 
6060  // 4. Get Access Token
6061  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
6062 
6065  tokenRequest.setAlgorithm(SignatureAlgorithm.ES384);
6066  tokenRequest.setCryptoProvider(cryptoProvider);
6067  tokenRequest.setKeyId(keyId);
6068  tokenRequest.setAudience(tokenEndpoint);
6069  tokenRequest.setCode(authorizationCode);
6070  tokenRequest.setRedirectUri(redirectUri);
6071  tokenRequest.setAuthUsername(clientId);
6072 
6073  TokenClient tokenClient = new TokenClient(tokenEndpoint);
6074  tokenClient.setRequest(tokenRequest);
6075  TokenResponse tokenResponse = tokenClient.exec();
6076 
6077  showClient(tokenClient);
6078  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
6079  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
6080  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
6081  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
ES384
Definition: SignatureAlgorithm.java:30
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail5()

void org.xdi.oxauth.ws.rs.TokenEndpointAuthMethodRestrictionHttpTest.tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail5 ( final String  redirectUris,
final String  redirectUri,
final String  userId,
final String  userSecret,
final String  clientJwksUri,
final String  keyId,
final String  dnName,
final String  keyStoreFile,
final String  keyStoreSecret,
final String  sectorIdentifierUri 
) throws Exception
inline
6089  {
6090  showTitle("tokenEndpointAuthMethodPrivateKeyJwtSigningAlgRS512Fail5");
6091 
6092  // 1. Register client
6093  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
6094  StringUtils.spaceSeparatedToList(redirectUris));
6097  registerRequest.setJwksUri(clientJwksUri);
6098  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
6099 
6100  RegisterClient registerClient = new RegisterClient(registrationEndpoint);
6101  registerClient.setRequest(registerRequest);
6102  RegisterResponse registerResponse = registerClient.exec();
6103 
6104  showClient(registerClient);
6105  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
6106  assertNotNull(registerResponse.getClientId());
6107  assertNotNull(registerResponse.getClientSecret());
6108  assertNotNull(registerResponse.getRegistrationAccessToken());
6109  assertNotNull(registerResponse.getClientIdIssuedAt());
6110  assertNotNull(registerResponse.getClientSecretExpiresAt());
6111 
6112  String clientId = registerResponse.getClientId();
6113  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
6114  String registrationClientUri = registerResponse.getRegistrationClientUri();
6115 
6116  // 2. Client read
6117  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
6118 
6119  RegisterClient readClient = new RegisterClient(registrationClientUri);
6120  readClient.setRequest(readClientRequest);
6121  RegisterResponse readClientResponse = readClient.exec();
6122 
6123  showClient(readClient);
6124  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
6125  assertNotNull(readClientResponse.getClientId());
6126  assertNotNull(readClientResponse.getClientSecret());
6127  assertNotNull(readClientResponse.getClientIdIssuedAt());
6128  assertNotNull(readClientResponse.getClientSecretExpiresAt());
6129 
6130  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_METHOD.toString()));
6131  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_METHOD.toString()),
6133  assertTrue(readClientResponse.getClaims().containsKey(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()));
6134  assertEquals(readClientResponse.getClaims().get(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString()),
6135  SignatureAlgorithm.RS512.toString());
6136  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
6137  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
6138  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
6139  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
6140  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
6141  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
6142 
6143  // 3. Request authorization
6144  List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE);
6145  List<String> scopes = Arrays.asList(
6146  "openid",
6147  "profile",
6148  "address",
6149  "email");
6150  String state = UUID.randomUUID().toString();
6151 
6152  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, null);
6153  authorizationRequest.setState(state);
6154 
6156  authorizationEndpoint, authorizationRequest, userId, userSecret);
6157 
6158  assertNotNull(authorizationResponse.getLocation(), "The location is null");
6159  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
6160  assertNotNull(authorizationResponse.getState(), "The state is null");
6161  assertNotNull(authorizationResponse.getScope(), "The scope is null");
6162  assertNull(authorizationResponse.getIdToken(), "The id token is not null");
6163 
6164  String authorizationCode = authorizationResponse.getCode();
6165 
6166  // 4. Get Access Token
6167  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
6168 
6171  tokenRequest.setAlgorithm(SignatureAlgorithm.ES512);
6172  tokenRequest.setCryptoProvider(cryptoProvider);
6173  tokenRequest.setKeyId(keyId);
6174  tokenRequest.setAudience(tokenEndpoint);
6175  tokenRequest.setCode(authorizationCode);
6176  tokenRequest.setRedirectUri(redirectUri);
6177  tokenRequest.setAuthUsername(clientId);
6178 
6179  TokenClient tokenClient = new TokenClient(tokenEndpoint);
6180  tokenClient.setRequest(tokenRequest);
6181  TokenResponse tokenResponse = tokenClient.exec();
6182 
6183  showClient(tokenClient);
6184  assertEquals(tokenResponse.getStatus(), 401, "Unexpected response code: " + tokenResponse.getStatus());
6185  assertNotNull(tokenResponse.getErrorType(), "The error type is null");
6186  assertNotNull(tokenResponse.getErrorDescription(), "The error description is null");
6187  }
void setTokenEndpointAuthSigningAlg(SignatureAlgorithm tokenEndpointAuthSigningAlg)
Definition: RegisterRequest.java:740
void setTokenEndpointAuthMethod(AuthenticationMethod tokenEndpointAuthMethod)
Definition: RegisterRequest.java:722
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
void setKeyId(String keyId)
Definition: TokenRequest.java:303
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
ES512
Definition: SignatureAlgorithm.java:31
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
Definition: RegisterResponse.java:34
void setAudience(String audience)
Definition: TokenRequest.java:273
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setJwksUri(String jwksUri)
Definition: RegisterRequest.java:454
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
Definition: AuthorizationResponse.java:32
Definition: RegisterRequest.java:37
RS512
Definition: SignatureAlgorithm.java:28
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
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
Definition: AuthenticationMethod.java:12
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
Definition: OxAuthCryptoProvider.java:62
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ waitForResourceOwnerAndGrantLoginForm() [1/2]

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

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

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

◆ waitForResourceOwnerAndGrantLoginForm() [2/2]

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

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

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

メンバ詳解

◆ authorizationEndpoint

String org.xdi.oxauth.BaseTest.authorizationEndpoint
protectedinherited

◆ authorizationPageEndpoint

String org.xdi.oxauth.BaseTest.authorizationPageEndpoint
protectedinherited

◆ checkSessionIFrame

String org.xdi.oxauth.BaseTest.checkSessionIFrame
protectedinherited

◆ 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

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