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

公開メンバ関数

void authorizationCodeFlow (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri) throws Exception
 
void authorizationCodeFlowNegativeTest (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri) throws Exception
 
void authorizationCodeWithNotAllowedScopeFlow (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri) throws Exception
 
void authorizationCodeDynamicScopeFlow (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri) throws Exception
 
void authorizationCodeFlowWithOptionalNonce (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri) throws Exception
 
void revokeTokens (final String userId, final String userSecret, final String redirectUris, final String redirectUri, final String sectorIdentifierUri) throws Exception
 
void authorizationCodeFlowLoginHint (final String userId, final String userSecret, final String redirectUris, final String redirectUri, 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
 

非公開メンバ関数

AuthorizationResponse requestAuthorization (final String userId, final String userSecret, final String redirectUri, List< ResponseType > responseTypes, List< String > scopes, String clientId, String nonce)
 
RegisterResponse registerClient (final String redirectUris, List< ResponseType > responseTypes, List< String > scopes, String sectorIdentifierUri)
 

詳解

Test cases for the authorization code flow (HTTP)

著者
Javier Rojas Blum
バージョン
January 30, 2018

関数詳解

◆ 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

◆ authorizationCodeDynamicScopeFlow()

void org.xdi.oxauth.ws.rs.AuthorizationCodeFlowHttpTest.authorizationCodeDynamicScopeFlow ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri 
) throws Exception
inline
358  {
359  showTitle("authorizationCodeDynamicScopeFlow");
360 
361  List<ResponseType> responseTypes = Arrays.asList(
364  List<String> scopes = Arrays.asList("openid", "profile", "address", "email", "user_name", "org_name", "work_phone");
365 
366  // 1. Register client
367  RegisterResponse registerResponse = registerClient(redirectUris, responseTypes, scopes, sectorIdentifierUri);
368 
369  String clientId = registerResponse.getClientId();
370  String clientSecret = registerResponse.getClientSecret();
371 
372  // 2. Request authorization and receive the authorization code.
373  String nonce = UUID.randomUUID().toString();
374  AuthorizationResponse authorizationResponse = requestAuthorization(userId, userSecret, redirectUri, responseTypes, scopes, clientId, nonce);
375 
376  String idToken = authorizationResponse.getIdToken();
377  String authorizationCode = authorizationResponse.getCode();
378 
379  // 3. Validate id_token
380  Jwt jwt = Jwt.parse(idToken);
381  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.TYPE));
382  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.ALGORITHM));
383  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUER));
384  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUDIENCE));
385  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.EXPIRATION_TIME));
386  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUED_AT));
387  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.SUBJECT_IDENTIFIER));
388  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.CODE_HASH));
389  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUTHENTICATION_TIME));
390  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.OX_OPENID_CONNECT_VERSION));
391 
392  // 4. Request access token
394  tokenRequest.setCode(authorizationCode);
395  tokenRequest.setRedirectUri(redirectUri);
396  tokenRequest.setAuthUsername(clientId);
397  tokenRequest.setAuthPassword(clientSecret);
398  tokenRequest.setAuthenticationMethod(AuthenticationMethod.CLIENT_SECRET_BASIC);
399 
400  TokenClient tokenClient = new TokenClient(tokenEndpoint);
401  tokenClient.setRequest(tokenRequest);
402  TokenResponse tokenResponse = tokenClient.exec();
403 
404  showClient(tokenClient);
405  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
406  assertNotNull(tokenResponse.getEntity(), "The entity is null");
407  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
408  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
409  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
410 
411  String accessToken = tokenResponse.getAccessToken();
412 
413  // 5. Request user info
414  UserInfoClient userInfoClient = new UserInfoClient(userInfoEndpoint);
415  UserInfoResponse userInfoResponse = userInfoClient.execUserInfo(accessToken);
416 
417  showClient(userInfoClient);
418  assertEquals(userInfoResponse.getStatus(), 200, "Unexpected response code: " + userInfoResponse.getStatus());
419  assertNotNull(userInfoResponse.getClaim(JwtClaimName.SUBJECT_IDENTIFIER));
420  assertNotNull(userInfoResponse.getClaim(JwtClaimName.NAME));
421  assertNotNull(userInfoResponse.getClaim("user_name"));
422  assertNotNull(userInfoResponse.getClaim("org_name"));
423  assertNotNull(userInfoResponse.getClaim("work_phone"));
424  }
ID_TOKEN
Definition: ResponseType.java:47
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
UserInfoResponse execUserInfo(String accessToken)
Definition: UserInfoClient.java:66
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
Definition: RegisterResponse.java:34
TokenType getTokenType()
Definition: TokenResponse.java:107
RegisterResponse registerClient(final String redirectUris, List< ResponseType > responseTypes, List< String > scopes, String sectorIdentifierUri)
Definition: AuthorizationCodeFlowHttpTest.java:804
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
List< String > getClaim(String claimName)
Definition: UserInfoResponse.java:109
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
AuthorizationResponse requestAuthorization(final String userId, final String userSecret, final String redirectUri, List< ResponseType > responseTypes, List< String > scopes, String clientId, String nonce)
Definition: AuthorizationCodeFlowHttpTest.java:787
JwtHeader getHeader()
Definition: JsonWebResponse.java:33
Definition: UserInfoClient.java:34
String userInfoEndpoint
Definition: BaseTest.java:76
int getStatus()
Definition: BaseResponse.java:49
Definition: ResponseType.java:34
Definition: AuthenticationMethod.java:12
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: UserInfoResponse.java:20
String getRefreshToken()
Definition: TokenResponse.java:144

◆ authorizationCodeFlow()

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

Test for the complete Authorization Code Flow.

48  {
49  showTitle("authorizationCodeFlow");
50 
51  List<ResponseType> responseTypes = Arrays.asList(
54  List<String> scopes = Arrays.asList("openid", "profile", "address", "email", "phone", "user_name");
55 
56  // 1. Register client
57  RegisterResponse registerResponse = registerClient(redirectUris, responseTypes, scopes, sectorIdentifierUri);
58 
59  String clientId = registerResponse.getClientId();
60  String clientSecret = registerResponse.getClientSecret();
61 
62  // 2. Request authorization and receive the authorization code.
63  String nonce = UUID.randomUUID().toString();
64  AuthorizationResponse authorizationResponse = requestAuthorization(userId, userSecret, redirectUri, responseTypes, scopes, clientId, nonce);
65 
66  String scope = authorizationResponse.getScope();
67  String authorizationCode = authorizationResponse.getCode();
68  String idToken = authorizationResponse.getIdToken();
69 
70  // 3. Request access token using the authorization code.
72  tokenRequest.setCode(authorizationCode);
73  tokenRequest.setRedirectUri(redirectUri);
74  tokenRequest.setAuthUsername(clientId);
75  tokenRequest.setAuthPassword(clientSecret);
77 
78  TokenClient tokenClient1 = new TokenClient(tokenEndpoint);
79  tokenClient1.setRequest(tokenRequest);
80  TokenResponse tokenResponse1 = tokenClient1.exec();
81 
82  showClient(tokenClient1);
83  assertEquals(tokenResponse1.getStatus(), 200, "Unexpected response code: " + tokenResponse1.getStatus());
84  assertNotNull(tokenResponse1.getEntity(), "The entity is null");
85  assertNotNull(tokenResponse1.getAccessToken(), "The access token is null");
86  assertNotNull(tokenResponse1.getExpiresIn(), "The expires in value is null");
87  assertNotNull(tokenResponse1.getTokenType(), "The token type is null");
88  assertNotNull(tokenResponse1.getRefreshToken(), "The refresh token is null");
89 
90  String refreshToken = tokenResponse1.getRefreshToken();
91 
92  // 4. Validate id_token
93  Jwt jwt = Jwt.parse(idToken);
94  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.TYPE));
95  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.ALGORITHM));
96  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUER));
97  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUDIENCE));
98  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.EXPIRATION_TIME));
99  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUED_AT));
100  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.SUBJECT_IDENTIFIER));
101  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.CODE_HASH));
102  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUTHENTICATION_TIME));
103  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.OX_OPENID_CONNECT_VERSION));
104 
106  jwksUri,
107  jwt.getHeader().getClaimAsString(JwtHeaderName.KEY_ID));
108  RSASigner rsaSigner = new RSASigner(SignatureAlgorithm.RS256, publicKey);
109 
110  assertTrue(rsaSigner.validate(jwt));
111 
112  // 5. Request new access token using the refresh token.
113  TokenClient tokenClient2 = new TokenClient(tokenEndpoint);
114  TokenResponse tokenResponse2 = tokenClient2.execRefreshToken(scope, refreshToken, clientId, clientSecret);
115 
116  showClient(tokenClient2);
117  assertEquals(tokenResponse2.getStatus(), 200, "Unexpected response code: " + tokenResponse2.getStatus());
118  assertNotNull(tokenResponse2.getEntity(), "The entity is null");
119  assertNotNull(tokenResponse2.getAccessToken(), "The access token is null");
120  assertNotNull(tokenResponse2.getTokenType(), "The token type is null");
121  assertNotNull(tokenResponse2.getRefreshToken(), "The refresh token is null");
122  assertNotNull(tokenResponse2.getScope(), "The scope is null");
123 
124  String accessToken = tokenResponse2.getAccessToken();
125 
126  // 6. Request user info
127  UserInfoClient userInfoClient = new UserInfoClient(userInfoEndpoint);
128  UserInfoResponse userInfoResponse = userInfoClient.execUserInfo(accessToken);
129 
130  showClient(userInfoClient);
131  assertEquals(userInfoResponse.getStatus(), 200, "Unexpected response code: " + userInfoResponse.getStatus());
132  assertNotNull(userInfoResponse.getClaim(JwtClaimName.SUBJECT_IDENTIFIER));
133  assertNotNull(userInfoResponse.getClaim(JwtClaimName.NAME));
134  assertNotNull(userInfoResponse.getClaim(JwtClaimName.BIRTHDATE));
135  assertNotNull(userInfoResponse.getClaim(JwtClaimName.FAMILY_NAME));
136  assertNotNull(userInfoResponse.getClaim(JwtClaimName.GENDER));
137  assertNotNull(userInfoResponse.getClaim(JwtClaimName.GIVEN_NAME));
138  assertNotNull(userInfoResponse.getClaim(JwtClaimName.MIDDLE_NAME));
139  assertNotNull(userInfoResponse.getClaim(JwtClaimName.NICKNAME));
140  assertNotNull(userInfoResponse.getClaim(JwtClaimName.PICTURE));
141  assertNotNull(userInfoResponse.getClaim(JwtClaimName.PREFERRED_USERNAME));
142  assertNotNull(userInfoResponse.getClaim(JwtClaimName.PROFILE));
143  assertNotNull(userInfoResponse.getClaim(JwtClaimName.WEBSITE));
144  assertNotNull(userInfoResponse.getClaim(JwtClaimName.EMAIL));
145  assertNotNull(userInfoResponse.getClaim(JwtClaimName.EMAIL_VERIFIED));
146  assertNotNull(userInfoResponse.getClaim(JwtClaimName.PHONE_NUMBER));
147  assertNotNull(userInfoResponse.getClaim(JwtClaimName.PHONE_NUMBER_VERIFIED));
148  assertNotNull(userInfoResponse.getClaim(JwtClaimName.ADDRESS));
149  assertNotNull(userInfoResponse.getClaim(JwtClaimName.LOCALE));
150  assertNotNull(userInfoResponse.getClaim(JwtClaimName.ZONEINFO));
151  assertNotNull(userInfoResponse.getClaim(JwtClaimName.USER_NAME));
152  assertNull(userInfoResponse.getClaim("org_name"));
153  assertNull(userInfoResponse.getClaim("work_phone"));
154  }
ID_TOKEN
Definition: ResponseType.java:47
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
UserInfoResponse execUserInfo(String accessToken)
Definition: UserInfoClient.java:66
String jwksUri
Definition: BaseTest.java:80
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
String getScope()
Definition: TokenResponse.java:163
Definition: RegisterResponse.java:34
TokenType getTokenType()
Definition: TokenResponse.java:107
RegisterResponse registerClient(final String redirectUris, List< ResponseType > responseTypes, List< String > scopes, String sectorIdentifierUri)
Definition: AuthorizationCodeFlowHttpTest.java:804
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
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
RS256
Definition: SignatureAlgorithm.java:26
List< String > getClaim(String claimName)
Definition: UserInfoResponse.java:109
Definition: TokenResponse.java:22
Definition: JwkClient.java:29
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
AuthorizationResponse requestAuthorization(final String userId, final String userSecret, final String redirectUri, List< ResponseType > responseTypes, List< String > scopes, String clientId, String nonce)
Definition: AuthorizationCodeFlowHttpTest.java:787
String getScope()
Definition: AuthorizationResponse.java:277
static RSAPublicKey getRSAPublicKey(String jwkSetUri, String keyId)
Definition: JwkClient.java:94
JwtHeader getHeader()
Definition: JsonWebResponse.java:33
Definition: UserInfoClient.java:34
String userInfoEndpoint
Definition: BaseTest.java:76
void setCode(String code)
Definition: TokenRequest.java:143
int getStatus()
Definition: BaseResponse.java:49
Definition: ResponseType.java:34
Definition: AuthenticationMethod.java:12
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: UserInfoResponse.java:20
String getRefreshToken()
Definition: TokenResponse.java:144

◆ authorizationCodeFlowLoginHint()

void org.xdi.oxauth.ws.rs.AuthorizationCodeFlowHttpTest.authorizationCodeFlowLoginHint ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri 
) throws Exception
inline
684  {
685  showTitle("authorizationCodeFlowLoginHint");
686 
687  List<ResponseType> responseTypes = Arrays.asList(
690  List<String> scopes = Arrays.asList("openid", "profile", "address", "email", "user_name");
691 
692  // 1. Register client
693  RegisterResponse registerResponse = registerClient(redirectUris, responseTypes, scopes, sectorIdentifierUri);
694 
695  String clientId = registerResponse.getClientId();
696  String clientSecret = registerResponse.getClientSecret();
697 
698  // 2. Request authorization and receive the authorization code.
699  String nonce = UUID.randomUUID().toString();
700  String state = UUID.randomUUID().toString();
701 
702  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
703  authorizationRequest.setLoginHint(userId);
704  authorizationRequest.setState(state);
705 
707  authorizationEndpoint, authorizationRequest, null, userSecret);
708 
709  assertNotNull(authorizationResponse.getLocation(), "The location is null");
710  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
711  assertNotNull(authorizationResponse.getState(), "The state is null");
712  assertNotNull(authorizationResponse.getScope(), "The scope is null");
713 
714  String scope = authorizationResponse.getScope();
715  String authorizationCode = authorizationResponse.getCode();
716  String idToken = authorizationResponse.getIdToken();
717 
718  // 3. Request access token using the authorization code.
720  tokenRequest.setCode(authorizationCode);
721  tokenRequest.setRedirectUri(redirectUri);
722  tokenRequest.setAuthUsername(clientId);
723  tokenRequest.setAuthPassword(clientSecret);
725 
726  TokenClient tokenClient1 = new TokenClient(tokenEndpoint);
727  tokenClient1.setRequest(tokenRequest);
728  TokenResponse tokenResponse1 = tokenClient1.exec();
729 
730  showClient(tokenClient1);
731  assertEquals(tokenResponse1.getStatus(), 200, "Unexpected response code: " + tokenResponse1.getStatus());
732  assertNotNull(tokenResponse1.getEntity(), "The entity is null");
733  assertNotNull(tokenResponse1.getAccessToken(), "The access token is null");
734  assertNotNull(tokenResponse1.getExpiresIn(), "The expires in value is null");
735  assertNotNull(tokenResponse1.getTokenType(), "The token type is null");
736  assertNotNull(tokenResponse1.getRefreshToken(), "The refresh token is null");
737 
738  String refreshToken = tokenResponse1.getRefreshToken();
739 
740  // 4. Validate id_token
741  Jwt jwt = Jwt.parse(idToken);
742  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.TYPE));
743  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.ALGORITHM));
744  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUER));
745  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUDIENCE));
746  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.EXPIRATION_TIME));
747  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUED_AT));
748  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.SUBJECT_IDENTIFIER));
749  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.CODE_HASH));
750  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUTHENTICATION_TIME));
751  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.OX_OPENID_CONNECT_VERSION));
752 
754  jwksUri,
755  jwt.getHeader().getClaimAsString(JwtHeaderName.KEY_ID));
756  RSASigner rsaSigner = new RSASigner(SignatureAlgorithm.RS256, publicKey);
757 
758  assertTrue(rsaSigner.validate(jwt));
759 
760  // 5. Request new access token using the refresh token.
761  TokenClient tokenClient2 = new TokenClient(tokenEndpoint);
762  TokenResponse tokenResponse2 = tokenClient2.execRefreshToken(scope, refreshToken, clientId, clientSecret);
763 
764  showClient(tokenClient2);
765  assertEquals(tokenResponse2.getStatus(), 200, "Unexpected response code: " + tokenResponse2.getStatus());
766  assertNotNull(tokenResponse2.getEntity(), "The entity is null");
767  assertNotNull(tokenResponse2.getAccessToken(), "The access token is null");
768  assertNotNull(tokenResponse2.getTokenType(), "The token type is null");
769  assertNotNull(tokenResponse2.getRefreshToken(), "The refresh token is null");
770  assertNotNull(tokenResponse2.getScope(), "The scope is null");
771 
772  String accessToken = tokenResponse2.getAccessToken();
773 
774  // 6. Request user info
775  UserInfoClient userInfoClient = new UserInfoClient(userInfoEndpoint);
776  UserInfoResponse userInfoResponse = userInfoClient.execUserInfo(accessToken);
777 
778  showClient(userInfoClient);
779  assertEquals(userInfoResponse.getStatus(), 200, "Unexpected response code: " + userInfoResponse.getStatus());
780  assertNotNull(userInfoResponse.getClaim(JwtClaimName.SUBJECT_IDENTIFIER));
781  assertNotNull(userInfoResponse.getClaim(JwtClaimName.NAME));
782  assertNotNull(userInfoResponse.getClaim("user_name"));
783  assertNull(userInfoResponse.getClaim("org_name"));
784  assertNull(userInfoResponse.getClaim("work_phone"));
785  }
ID_TOKEN
Definition: ResponseType.java:47
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
UserInfoResponse execUserInfo(String accessToken)
Definition: UserInfoClient.java:66
String jwksUri
Definition: BaseTest.java:80
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
String getScope()
Definition: TokenResponse.java:163
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setLoginHint(String loginHint)
Definition: AuthorizationRequest.java:319
RegisterResponse registerClient(final String redirectUris, List< ResponseType > responseTypes, List< String > scopes, String sectorIdentifierUri)
Definition: AuthorizationCodeFlowHttpTest.java:804
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
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
RS256
Definition: SignatureAlgorithm.java:26
List< String > getClaim(String claimName)
Definition: UserInfoResponse.java:109
Definition: TokenResponse.java:22
Definition: JwkClient.java:29
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
String getScope()
Definition: AuthorizationResponse.java:277
static RSAPublicKey getRSAPublicKey(String jwkSetUri, String keyId)
Definition: JwkClient.java:94
JwtHeader getHeader()
Definition: JsonWebResponse.java:33
Definition: UserInfoClient.java:34
String userInfoEndpoint
Definition: BaseTest.java:76
void setCode(String code)
Definition: TokenRequest.java:143
String getLocation()
Definition: BaseResponse.java:58
int getStatus()
Definition: BaseResponse.java:49
Definition: AuthorizationRequest.java:33
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
String authorizationEndpoint
Definition: BaseTest.java:72
Definition: AuthenticationMethod.java:12
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: UserInfoResponse.java:20
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144

◆ authorizationCodeFlowNegativeTest()

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

Test for the complete Authorization Code Flow. Register just the openid scope. Request authorization with scopes openid, profile, address, email, phone, user_name. Expected result is just prompt the user to authorize openid scope.

166  {
167  showTitle("authorizationCodeFlowNegativeTest");
168 
169  List<ResponseType> responseTypes = Arrays.asList(
172  List<String> registerScopes = Arrays.asList("openid");
173 
174  // 1. Register client
175  RegisterResponse registerResponse = registerClient(redirectUris, responseTypes, registerScopes, sectorIdentifierUri);
176 
177  assertTrue(registerResponse.getClaims().containsKey(SCOPE.toString()));
178  assertNotNull(registerResponse.getClaims().get(SCOPE.toString()));
179  assertEquals(registerResponse.getClaims().get(SCOPE.toString()), "openid");
180 
181  String clientId = registerResponse.getClientId();
182  String clientSecret = registerResponse.getClientSecret();
183 
184  // 2. Request authorization and receive the authorization code.
185  String nonce = UUID.randomUUID().toString();
186  List<String> scopes = Arrays.asList("openid", "profile", "address", "email", "phone", "user_name");
187  AuthorizationResponse authorizationResponse = requestAuthorization(userId, userSecret, redirectUri, responseTypes, scopes, clientId, nonce);
188 
189  assertEquals(authorizationResponse.getScope(), "openid");
190 
191  String scope = authorizationResponse.getScope();
192  String authorizationCode = authorizationResponse.getCode();
193  String idToken = authorizationResponse.getIdToken();
194 
195  // 3. Request access token using the authorization code.
197  tokenRequest.setCode(authorizationCode);
198  tokenRequest.setRedirectUri(redirectUri);
199  tokenRequest.setAuthUsername(clientId);
200  tokenRequest.setAuthPassword(clientSecret);
202 
203  TokenClient tokenClient1 = new TokenClient(tokenEndpoint);
204  tokenClient1.setRequest(tokenRequest);
205  TokenResponse tokenResponse1 = tokenClient1.exec();
206 
207  showClient(tokenClient1);
208  assertEquals(tokenResponse1.getStatus(), 200, "Unexpected response code: " + tokenResponse1.getStatus());
209  assertNotNull(tokenResponse1.getEntity(), "The entity is null");
210  assertNotNull(tokenResponse1.getAccessToken(), "The access token is null");
211  assertNotNull(tokenResponse1.getExpiresIn(), "The expires in value is null");
212  assertNotNull(tokenResponse1.getTokenType(), "The token type is null");
213  assertNotNull(tokenResponse1.getRefreshToken(), "The refresh token is null");
214 
215  String refreshToken = tokenResponse1.getRefreshToken();
216 
217  // 4. Validate id_token
218  Jwt jwt = Jwt.parse(idToken);
219  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.TYPE));
220  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.ALGORITHM));
221  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUER));
222  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUDIENCE));
223  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.EXPIRATION_TIME));
224  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUED_AT));
225  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.SUBJECT_IDENTIFIER));
226  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.CODE_HASH));
227  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUTHENTICATION_TIME));
228  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.OX_OPENID_CONNECT_VERSION));
229 
231  jwksUri,
232  jwt.getHeader().getClaimAsString(JwtHeaderName.KEY_ID));
233  RSASigner rsaSigner = new RSASigner(SignatureAlgorithm.RS256, publicKey);
234 
235  assertTrue(rsaSigner.validate(jwt));
236 
237  // 5. Request new access token using the refresh token.
238  TokenClient tokenClient2 = new TokenClient(tokenEndpoint);
239  TokenResponse tokenResponse2 = tokenClient2.execRefreshToken(scope, refreshToken, clientId, clientSecret);
240 
241  showClient(tokenClient2);
242  assertEquals(tokenResponse2.getStatus(), 200, "Unexpected response code: " + tokenResponse2.getStatus());
243  assertNotNull(tokenResponse2.getEntity(), "The entity is null");
244  assertNotNull(tokenResponse2.getAccessToken(), "The access token is null");
245  assertNotNull(tokenResponse2.getTokenType(), "The token type is null");
246  assertNotNull(tokenResponse2.getRefreshToken(), "The refresh token is null");
247  assertNotNull(tokenResponse2.getScope(), "The scope is null");
248  assertEquals(tokenResponse2.getScope(), "openid");
249 
250  String accessToken = tokenResponse2.getAccessToken();
251 
252  // 6. Request user info
253  UserInfoClient userInfoClient = new UserInfoClient(userInfoEndpoint);
254  UserInfoResponse userInfoResponse = userInfoClient.execUserInfo(accessToken);
255 
256  showClient(userInfoClient);
257  assertEquals(userInfoResponse.getStatus(), 200, "Unexpected response code: " + userInfoResponse.getStatus());
258  assertNotNull(userInfoResponse.getClaim(JwtClaimName.SUBJECT_IDENTIFIER));
259  assertNull(userInfoResponse.getClaim(JwtClaimName.NAME));
260  assertNull(userInfoResponse.getClaim(JwtClaimName.BIRTHDATE));
261  assertNull(userInfoResponse.getClaim(JwtClaimName.FAMILY_NAME));
262  assertNull(userInfoResponse.getClaim(JwtClaimName.GENDER));
263  assertNull(userInfoResponse.getClaim(JwtClaimName.GIVEN_NAME));
264  assertNull(userInfoResponse.getClaim(JwtClaimName.MIDDLE_NAME));
265  assertNull(userInfoResponse.getClaim(JwtClaimName.NICKNAME));
266  assertNull(userInfoResponse.getClaim(JwtClaimName.PICTURE));
267  assertNull(userInfoResponse.getClaim(JwtClaimName.PREFERRED_USERNAME));
268  assertNull(userInfoResponse.getClaim(JwtClaimName.PROFILE));
269  assertNull(userInfoResponse.getClaim(JwtClaimName.WEBSITE));
270  assertNull(userInfoResponse.getClaim(JwtClaimName.EMAIL));
271  assertNull(userInfoResponse.getClaim(JwtClaimName.EMAIL_VERIFIED));
272  assertNull(userInfoResponse.getClaim(JwtClaimName.PHONE_NUMBER));
273  assertNull(userInfoResponse.getClaim(JwtClaimName.PHONE_NUMBER_VERIFIED));
274  assertNull(userInfoResponse.getClaim(JwtClaimName.ADDRESS));
275  assertNull(userInfoResponse.getClaim(JwtClaimName.LOCALE));
276  assertNull(userInfoResponse.getClaim(JwtClaimName.ZONEINFO));
277  assertNull(userInfoResponse.getClaim(JwtClaimName.USER_NAME));
278  assertNull(userInfoResponse.getClaim("org_name"));
279  assertNull(userInfoResponse.getClaim("work_phone"));
280  }
ID_TOKEN
Definition: ResponseType.java:47
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
UserInfoResponse execUserInfo(String accessToken)
Definition: UserInfoClient.java:66
String jwksUri
Definition: BaseTest.java:80
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
String getScope()
Definition: TokenResponse.java:163
Definition: RegisterResponse.java:34
TokenType getTokenType()
Definition: TokenResponse.java:107
RegisterResponse registerClient(final String redirectUris, List< ResponseType > responseTypes, List< String > scopes, String sectorIdentifierUri)
Definition: AuthorizationCodeFlowHttpTest.java:804
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
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
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
RS256
Definition: SignatureAlgorithm.java:26
List< String > getClaim(String claimName)
Definition: UserInfoResponse.java:109
Definition: TokenResponse.java:22
Definition: JwkClient.java:29
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
AuthorizationResponse requestAuthorization(final String userId, final String userSecret, final String redirectUri, List< ResponseType > responseTypes, List< String > scopes, String clientId, String nonce)
Definition: AuthorizationCodeFlowHttpTest.java:787
String getScope()
Definition: AuthorizationResponse.java:277
static RSAPublicKey getRSAPublicKey(String jwkSetUri, String keyId)
Definition: JwkClient.java:94
JwtHeader getHeader()
Definition: JsonWebResponse.java:33
Definition: UserInfoClient.java:34
String userInfoEndpoint
Definition: BaseTest.java:76
void setCode(String code)
Definition: TokenRequest.java:143
int getStatus()
Definition: BaseResponse.java:49
Definition: ResponseType.java:34
Definition: AuthenticationMethod.java:12
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: UserInfoResponse.java:20
String getRefreshToken()
Definition: TokenResponse.java:144

◆ authorizationCodeFlowWithOptionalNonce()

void org.xdi.oxauth.ws.rs.AuthorizationCodeFlowHttpTest.authorizationCodeFlowWithOptionalNonce ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri 
) throws Exception
inline
430  {
431  showTitle("authorizationCodeFlowWithOptionalNonce");
432 
433  List<ResponseType> responseTypes = Arrays.asList(
436 
437  // 1. Register client
438  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
439  StringUtils.spaceSeparatedToList(redirectUris));
440  registerRequest.setResponseTypes(responseTypes);
441  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
442 
444  registerClient.setRequest(registerRequest);
445  RegisterResponse registerResponse = registerClient.exec();
446 
447  showClient(registerClient);
448  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
449  assertNotNull(registerResponse.getClientId());
450  assertNotNull(registerResponse.getClientSecret());
451  assertNotNull(registerResponse.getRegistrationAccessToken());
452  assertNotNull(registerResponse.getClientIdIssuedAt());
453  assertNotNull(registerResponse.getClientSecretExpiresAt());
454 
455  String clientId = registerResponse.getClientId();
456  String clientSecret = registerResponse.getClientSecret();
457 
458  // 2. Request authorization and receive the authorization code.
459  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
460  String state = UUID.randomUUID().toString();
461 
462  String nonce = UUID.randomUUID().toString();
463  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
464  authorizationRequest.setState(state);
465 
467  authorizationEndpoint, authorizationRequest, userId, userSecret);
468 
469  assertNotNull(authorizationResponse.getLocation(), "The location is null");
470  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
471  assertNotNull(authorizationResponse.getState(), "The state is null");
472  assertNotNull(authorizationResponse.getScope(), "The scope is null");
473 
474  String scope = authorizationResponse.getScope();
475  String authorizationCode = authorizationResponse.getCode();
476  String idToken = authorizationResponse.getIdToken();
477 
478  // 3. Request access token using the authorization code.
480  tokenRequest.setCode(authorizationCode);
481  tokenRequest.setRedirectUri(redirectUri);
482  tokenRequest.setAuthUsername(clientId);
483  tokenRequest.setAuthPassword(clientSecret);
485 
486  TokenClient tokenClient1 = new TokenClient(tokenEndpoint);
487  tokenClient1.setRequest(tokenRequest);
488  TokenResponse tokenResponse1 = tokenClient1.exec();
489 
490  showClient(tokenClient1);
491  assertEquals(tokenResponse1.getStatus(), 200, "Unexpected response code: " + tokenResponse1.getStatus());
492  assertNotNull(tokenResponse1.getEntity(), "The entity is null");
493  assertNotNull(tokenResponse1.getAccessToken(), "The access token is null");
494  assertNotNull(tokenResponse1.getExpiresIn(), "The expires in value is null");
495  assertNotNull(tokenResponse1.getTokenType(), "The token type is null");
496  assertNotNull(tokenResponse1.getRefreshToken(), "The refresh token is null");
497 
498  String refreshToken = tokenResponse1.getRefreshToken();
499 
500  // 4. Validate id_token
501  Jwt jwt = Jwt.parse(idToken);
502 
503  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.NONCE));
504  assertEquals(jwt.getClaims().getClaimAsString(JwtClaimName.NONCE), nonce);
505  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.TYPE));
506  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.ALGORITHM));
507  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUER));
508  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUDIENCE));
509  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.EXPIRATION_TIME));
510  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUED_AT));
511  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.SUBJECT_IDENTIFIER));
512  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.CODE_HASH));
513  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUTHENTICATION_TIME));
514  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.OX_OPENID_CONNECT_VERSION));
515 
517  jwksUri,
518  jwt.getHeader().getClaimAsString(JwtHeaderName.KEY_ID));
519  RSASigner rsaSigner = new RSASigner(SignatureAlgorithm.RS256, publicKey);
520 
521  assertTrue(rsaSigner.validate(jwt));
522 
523  // 5. Request new access token using the refresh token.
524  TokenClient tokenClient2 = new TokenClient(tokenEndpoint);
525  TokenResponse tokenResponse2 = tokenClient2.execRefreshToken(scope, refreshToken, clientId, clientSecret);
526 
527  showClient(tokenClient2);
528  assertEquals(tokenResponse2.getStatus(), 200, "Unexpected response code: " + tokenResponse2.getStatus());
529  assertNotNull(tokenResponse2.getEntity(), "The entity is null");
530  assertNotNull(tokenResponse2.getAccessToken(), "The access token is null");
531  assertNotNull(tokenResponse2.getTokenType(), "The token type is null");
532  assertNotNull(tokenResponse2.getRefreshToken(), "The refresh token is null");
533  assertNotNull(tokenResponse2.getScope(), "The scope is null");
534  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
String jwksUri
Definition: BaseTest.java:80
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
String getScope()
Definition: TokenResponse.java:163
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
RegisterResponse registerClient(final String redirectUris, List< ResponseType > responseTypes, List< String > scopes, String sectorIdentifierUri)
Definition: AuthorizationCodeFlowHttpTest.java:804
Definition: SignatureAlgorithm.java:20
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
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
RS256
Definition: SignatureAlgorithm.java:26
Definition: TokenResponse.java:22
Definition: JwkClient.java:29
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
static RSAPublicKey getRSAPublicKey(String jwkSetUri, String keyId)
Definition: JwkClient.java:94
JwtHeader getHeader()
Definition: JsonWebResponse.java:33
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
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
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

◆ authorizationCodeWithNotAllowedScopeFlow()

void org.xdi.oxauth.ws.rs.AuthorizationCodeFlowHttpTest.authorizationCodeWithNotAllowedScopeFlow ( final String  userId,
final String  userSecret,
final String  redirectUris,
final String  redirectUri,
final String  sectorIdentifierUri 
) throws Exception
inline
286  {
287  showTitle("authorizationCodeWithNotAllowedScopeFlow");
288 
289  List<ResponseType> responseTypes = Arrays.asList(
292  List<String> scopes = Arrays.asList("openid", "profile", "address", "email", "user_name");
293 
294  // 1. Register client
295  RegisterResponse registerResponse = registerClient(redirectUris, responseTypes, scopes, sectorIdentifierUri);
296 
297  String clientId = registerResponse.getClientId();
298  String clientSecret = registerResponse.getClientSecret();
299 
300  // 2. Request authorization and receive the authorization code.
301  List<String> authorizationScopes = Arrays.asList("openid", "profile", "address", "email", "user_name", "mobile_phone");
302  String nonce = UUID.randomUUID().toString();
303  AuthorizationResponse authorizationResponse = requestAuthorization(userId, userSecret, redirectUri, responseTypes, authorizationScopes, clientId, nonce);
304 
305  String idToken = authorizationResponse.getIdToken();
306  String authorizationCode = authorizationResponse.getCode();
307 
308  // 3. Validate id_token
309  Jwt jwt = Jwt.parse(idToken);
310  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.TYPE));
311  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.ALGORITHM));
312  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUER));
313  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUDIENCE));
314  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.EXPIRATION_TIME));
315  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUED_AT));
316  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.SUBJECT_IDENTIFIER));
317  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.CODE_HASH));
318  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUTHENTICATION_TIME));
319  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.OX_OPENID_CONNECT_VERSION));
320 
321  // 4. Request access token
323  tokenRequest.setCode(authorizationCode);
324  tokenRequest.setRedirectUri(redirectUri);
325  tokenRequest.setAuthUsername(clientId);
326  tokenRequest.setAuthPassword(clientSecret);
327  tokenRequest.setAuthenticationMethod(AuthenticationMethod.CLIENT_SECRET_BASIC);
328 
329  TokenClient tokenClient = new TokenClient(tokenEndpoint);
330  tokenClient.setRequest(tokenRequest);
331  TokenResponse tokenResponse = tokenClient.exec();
332 
333  showClient(tokenClient);
334  assertEquals(tokenResponse.getStatus(), 200, "Unexpected response code: " + tokenResponse.getStatus());
335  assertNotNull(tokenResponse.getEntity(), "The entity is null");
336  assertNotNull(tokenResponse.getAccessToken(), "The access token is null");
337  assertNotNull(tokenResponse.getTokenType(), "The token type is null");
338  assertNotNull(tokenResponse.getRefreshToken(), "The refresh token is null");
339 
340  String accessToken = tokenResponse.getAccessToken();
341 
342  // 5. Request user info
343  UserInfoClient userInfoClient = new UserInfoClient(userInfoEndpoint);
344  UserInfoResponse userInfoResponse = userInfoClient.execUserInfo(accessToken);
345 
346  showClient(userInfoClient);
347  assertEquals(userInfoResponse.getStatus(), 200, "Unexpected response code: " + userInfoResponse.getStatus());
348  assertNotNull(userInfoResponse.getClaim(JwtClaimName.SUBJECT_IDENTIFIER));
349  assertNotNull(userInfoResponse.getClaim(JwtClaimName.NAME));
350  assertNotNull(userInfoResponse.getClaim("user_name"));
351  assertNull(userInfoResponse.getClaim("phone_mobile_number"));
352  }
ID_TOKEN
Definition: ResponseType.java:47
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
UserInfoResponse execUserInfo(String accessToken)
Definition: UserInfoClient.java:66
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
Definition: RegisterResponse.java:34
TokenType getTokenType()
Definition: TokenResponse.java:107
RegisterResponse registerClient(final String redirectUris, List< ResponseType > responseTypes, List< String > scopes, String sectorIdentifierUri)
Definition: AuthorizationCodeFlowHttpTest.java:804
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Definition: GrantType.java:23
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
String tokenEndpoint
Definition: BaseTest.java:75
Definition: TokenRequest.java:34
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
List< String > getClaim(String claimName)
Definition: UserInfoResponse.java:109
Definition: TokenResponse.java:22
String getClientId()
Definition: RegisterResponse.java:142
TokenResponse exec()
Definition: TokenClient.java:218
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
AuthorizationResponse requestAuthorization(final String userId, final String userSecret, final String redirectUri, List< ResponseType > responseTypes, List< String > scopes, String clientId, String nonce)
Definition: AuthorizationCodeFlowHttpTest.java:787
JwtHeader getHeader()
Definition: JsonWebResponse.java:33
Definition: UserInfoClient.java:34
String userInfoEndpoint
Definition: BaseTest.java:76
int getStatus()
Definition: BaseResponse.java:49
Definition: ResponseType.java:34
Definition: AuthenticationMethod.java:12
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: UserInfoResponse.java:20
String getRefreshToken()
Definition: TokenResponse.java:144

◆ authorizationRequestAndDenyAccess()

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

◆ authorizationRequestAndGrantAccess()

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

◆ clientExecutor() [1/2]

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

◆ clientExecutor() [2/2]

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

◆ createDeployment()

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

◆ createHttpClient() [1/2]

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

◆ createHttpClient() [2/2]

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

◆ createHttpClientTrustAll()

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

◆ discovery()

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

◆ fails()

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

◆ getAuthorizationEndpoint()

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

◆ getCheckSessionIFrame()

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

◆ getClientInfoEndpoint()

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

◆ getConfigurationEndpoint()

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

◆ getDriver()

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

◆ getEndSessionEndpoint()

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

◆ getIdGenEndpoint()

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

◆ getIntrospectionEndpoint()

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

◆ getJwksUri()

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

◆ getRegistrationEndpoint()

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

◆ getScopeToClaimsMapping()

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

◆ getTokenEndpoint()

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

◆ getUserInfoEndpoint()

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

◆ initTestSuite()

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

◆ output()

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

◆ registerClient()

RegisterResponse org.xdi.oxauth.ws.rs.AuthorizationCodeFlowHttpTest.registerClient ( final String  redirectUris,
List< ResponseType responseTypes,
List< String >  scopes,
String  sectorIdentifierUri 
)
inlineprivate
805  {
806  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
807  StringUtils.spaceSeparatedToList(redirectUris));
808  registerRequest.setResponseTypes(responseTypes);
809  registerRequest.setScope(scopes);
810  registerRequest.setSubjectType(SubjectType.PAIRWISE);
811  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
812 
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  return registerResponse;
825  }
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
void setSubjectType(SubjectType subjectType)
Definition: RegisterRequest.java:522
PAIRWISE
Definition: SubjectType.java:14
Definition: RegisterResponse.java:34
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
RegisterResponse registerClient(final String redirectUris, List< ResponseType > responseTypes, List< String > scopes, String sectorIdentifierUri)
Definition: AuthorizationCodeFlowHttpTest.java:804
static void showClient(BaseClient client)
Definition: BaseTest.java:775
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
Definition: SubjectType.java:12
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
String getClientId()
Definition: RegisterResponse.java:142
void setScope(List< String > scope)
Definition: RegisterRequest.java:895
void setRequest(T request)
Definition: BaseClient.java:68
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
Definition: ApplicationType.java:12
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ requestAuthorization()

AuthorizationResponse org.xdi.oxauth.ws.rs.AuthorizationCodeFlowHttpTest.requestAuthorization ( final String  userId,
final String  userSecret,
final String  redirectUri,
List< ResponseType responseTypes,
List< String >  scopes,
String  clientId,
String  nonce 
)
inlineprivate
788  {
789  String state = UUID.randomUUID().toString();
790 
791  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
792  authorizationRequest.setState(state);
793 
795  authorizationEndpoint, authorizationRequest, userId, userSecret);
796 
797  assertNotNull(authorizationResponse.getLocation(), "The location is null");
798  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
799  assertNotNull(authorizationResponse.getState(), "The state is null");
800  assertNotNull(authorizationResponse.getScope(), "The scope is null");
801  return authorizationResponse;
802  }
String getCode()
Definition: AuthorizationResponse.java:167
String getState()
Definition: AuthorizationResponse.java:314
Definition: AuthorizationResponse.java:32
String getScope()
Definition: AuthorizationResponse.java:277
String getLocation()
Definition: BaseResponse.java:58
Definition: AuthorizationRequest.java:33
void setState(String state)
Definition: AuthorizationRequest.java:217
String authorizationEndpoint
Definition: BaseTest.java:72
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252

◆ revokeTokens()

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

When an authorization code is used more than once, all the tokens issued for that authorization code must be revoked.

543  {
544  showTitle("revokeTokens");
545 
546  List<ResponseType> responseTypes = Arrays.asList(
549 
550  // 1. Register client
551  RegisterRequest registerRequest = new RegisterRequest(ApplicationType.WEB, "oxAuth test app",
552  StringUtils.spaceSeparatedToList(redirectUris));
553  registerRequest.setResponseTypes(responseTypes);
554  registerRequest.setSectorIdentifierUri(sectorIdentifierUri);
555 
557  registerClient.setRequest(registerRequest);
558  RegisterResponse registerResponse = registerClient.exec();
559 
560  showClient(registerClient);
561  assertEquals(registerResponse.getStatus(), 200, "Unexpected response code: " + registerResponse.getEntity());
562  assertNotNull(registerResponse.getClientId());
563  assertNotNull(registerResponse.getClientSecret());
564  assertNotNull(registerResponse.getRegistrationAccessToken());
565  assertNotNull(registerResponse.getClientIdIssuedAt());
566  assertNotNull(registerResponse.getClientSecretExpiresAt());
567 
568  String clientId = registerResponse.getClientId();
569  String clientSecret = registerResponse.getClientSecret();
570  String registrationAccessToken = registerResponse.getRegistrationAccessToken();
571  String registrationClientUri = registerResponse.getRegistrationClientUri();
572 
573  // 2. Client read
574  RegisterRequest readClientRequest = new RegisterRequest(registrationAccessToken);
575 
576  RegisterClient readClient = new RegisterClient(registrationClientUri);
577  readClient.setRequest(readClientRequest);
578  RegisterResponse readClientResponse = readClient.exec();
579 
580  showClient(readClient);
581  assertEquals(readClientResponse.getStatus(), 200, "Unexpected response code: " + readClientResponse.getEntity());
582  assertNotNull(readClientResponse.getClientId());
583  assertNotNull(readClientResponse.getClientSecret());
584  assertNotNull(readClientResponse.getClientIdIssuedAt());
585  assertNotNull(readClientResponse.getClientSecretExpiresAt());
586 
587  assertNotNull(readClientResponse.getClaims().get(RESPONSE_TYPES.toString()));
588  assertNotNull(readClientResponse.getClaims().get(REDIRECT_URIS.toString()));
589  assertNotNull(readClientResponse.getClaims().get(APPLICATION_TYPE.toString()));
590  assertNotNull(readClientResponse.getClaims().get(CLIENT_NAME.toString()));
591  assertNotNull(readClientResponse.getClaims().get(ID_TOKEN_SIGNED_RESPONSE_ALG.toString()));
592  assertNotNull(readClientResponse.getClaims().get(SCOPE.toString()));
593 
594  // 3. Request authorization and receive the authorization code.
595  List<String> scopes = Arrays.asList("openid", "profile", "address", "email");
596  String state = UUID.randomUUID().toString();
597  String nonce = UUID.randomUUID().toString();
598 
599  AuthorizationRequest authorizationRequest = new AuthorizationRequest(responseTypes, clientId, scopes, redirectUri, nonce);
600  authorizationRequest.setState(state);
601 
603  authorizationEndpoint, authorizationRequest, userId, userSecret);
604 
605  assertNotNull(authorizationResponse.getLocation(), "The location is null");
606  assertNotNull(authorizationResponse.getCode(), "The authorization code is null");
607  assertNotNull(authorizationResponse.getState(), "The state is null");
608  assertNotNull(authorizationResponse.getScope(), "The scope is null");
609  assertNotNull(authorizationResponse.getIdToken(), "The id token is null");
610 
611  String scope = authorizationResponse.getScope();
612  String authorizationCode = authorizationResponse.getCode();
613  String idToken = authorizationResponse.getIdToken();
614 
615  // 4. Validate id_token
616  Jwt jwt = Jwt.parse(idToken);
617  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.TYPE));
618  assertNotNull(jwt.getHeader().getClaimAsString(JwtHeaderName.ALGORITHM));
619  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUER));
620  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUDIENCE));
621  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.EXPIRATION_TIME));
622  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.ISSUED_AT));
623  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.SUBJECT_IDENTIFIER));
624  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.CODE_HASH));
625  assertNotNull(jwt.getClaims().getClaimAsString(JwtClaimName.AUTHENTICATION_TIME));
626 
628  jwksUri,
629  jwt.getHeader().getClaimAsString(JwtHeaderName.KEY_ID));
630  RSASigner rsaSigner = new RSASigner(SignatureAlgorithm.RS256, publicKey);
631 
632  assertTrue(rsaSigner.validate(jwt));
633 
634  // 5. Request access token using the authorization code.
635  TokenClient tokenClient1 = new TokenClient(tokenEndpoint);
636  TokenResponse response2 = tokenClient1.execAuthorizationCode(authorizationCode, redirectUri,
637  clientId, clientSecret);
638 
639  showClient(tokenClient1);
640  assertEquals(response2.getStatus(), 200, "Unexpected response code: " + response2.getStatus());
641  assertNotNull(response2.getEntity(), "The entity is null");
642  assertNotNull(response2.getAccessToken(), "The access token is null");
643  assertNotNull(response2.getTokenType(), "The token type is null");
644  assertNotNull(response2.getRefreshToken(), "The refresh token is null");
645 
646  String accessToken = response2.getAccessToken();
647  String refreshToken = response2.getRefreshToken();
648 
649  // 6. Request access token using the same authorization code one more time. This call must fail.
650  TokenClient tokenClient2 = new TokenClient(tokenEndpoint);
651  TokenResponse response4 = tokenClient2.execAuthorizationCode(authorizationCode, redirectUri,
652  clientId, clientSecret);
653 
654  showClient(tokenClient2);
655  assertEquals(response4.getStatus(), 400, "Unexpected response code: " + response4.getStatus());
656  assertNotNull(response4.getEntity(), "The entity is null");
657  assertNotNull(response4.getErrorType(), "The error type is null");
658  assertNotNull(response4.getErrorDescription(), "The error description is null");
659 
660  // 7. Request new access token using the refresh token. This call must fail too.
661  TokenClient tokenClient3 = new TokenClient(tokenEndpoint);
662  TokenResponse response5 = tokenClient3.execRefreshToken(scope, refreshToken, clientId, clientSecret);
663 
664  showClient(tokenClient3);
665  assertEquals(response5.getStatus(), 401, "Unexpected response code: " + response5.getStatus());
666  assertNotNull(response5.getEntity(), "The entity is null");
667  assertNotNull(response5.getErrorType(), "The error type is null");
668  assertNotNull(response5.getErrorDescription(), "The error description is null");
669 
670  // 8. Request user info should fail
671  UserInfoClient userInfoClient = new UserInfoClient(userInfoEndpoint);
672  UserInfoResponse response7 = userInfoClient.execUserInfo(accessToken);
673 
674  showClient(userInfoClient);
675  assertEquals(response7.getStatus(), 400, "Unexpected response code: " + response7.getStatus());
676  assertNotNull(response7.getErrorType(), "Unexpected result: errorType not found");
677  assertNotNull(response7.getErrorDescription(), "Unexpected result: errorDescription not found");
678  }
ID_TOKEN
Definition: ResponseType.java:47
String registrationEndpoint
Definition: BaseTest.java:81
Definition: RegisterClient.java:34
String getIdToken()
Definition: AuthorizationResponse.java:295
CODE
Definition: ResponseType.java:39
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
String getRegistrationClientUri()
Definition: RegisterResponse.java:181
String jwksUri
Definition: BaseTest.java:80
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
Definition: RegisterResponse.java:34
String getState()
Definition: AuthorizationResponse.java:314
T getErrorType()
Definition: BaseResponseWithErrors.java:48
TokenType getTokenType()
Definition: TokenResponse.java:107
void setSectorIdentifierUri(String sectorIdentifierUri)
Definition: RegisterRequest.java:504
RegisterResponse registerClient(final String redirectUris, List< ResponseType > responseTypes, List< String > scopes, String sectorIdentifierUri)
Definition: AuthorizationCodeFlowHttpTest.java:804
Map< String, String > getClaims()
Definition: RegisterResponse.java:237
Definition: SignatureAlgorithm.java:20
UserInfoErrorResponseType getErrorType()
Definition: UserInfoResponse.java:51
static void showClient(BaseClient client)
Definition: BaseTest.java:775
TokenResponse execAuthorizationCode(String code, String redirectUri, String clientId, String clientSecret)
Definition: TokenClient.java:77
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
String tokenEndpoint
Definition: BaseTest.java:75
Date getClientSecretExpiresAt()
Definition: RegisterResponse.java:205
RegisterResponse exec()
Definition: RegisterClient.java:76
String getErrorDescription()
Definition: UserInfoResponse.java:72
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
Definition: JwkClient.java:29
String getClientId()
Definition: RegisterResponse.java:142
void showTitle(String title)
Definition: BaseTest.java:761
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
Definition: AuthorizationResponse.java:32
void setResponseTypes(List< ResponseType > responseTypes)
Definition: RegisterRequest.java:272
Definition: RegisterRequest.java:37
String getScope()
Definition: AuthorizationResponse.java:277
static RSAPublicKey getRSAPublicKey(String jwkSetUri, String keyId)
Definition: JwkClient.java:94
JwtHeader getHeader()
Definition: JsonWebResponse.java:33
Definition: UserInfoClient.java:34
String userInfoEndpoint
Definition: BaseTest.java:76
String getLocation()
Definition: BaseResponse.java:58
int getStatus()
Definition: BaseResponse.java:49
Definition: AuthorizationRequest.java:33
Definition: ApplicationType.java:12
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Date getClientIdIssuedAt()
Definition: RegisterResponse.java:189
String authorizationEndpoint
Definition: BaseTest.java:72
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
Definition: UserInfoResponse.java:20
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
String getErrorDescription()
Definition: BaseResponseWithErrors.java:40
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173

◆ setAuthorizationEndpoint()

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

◆ setCheckSessionIFrame()

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

◆ setClientInfoEndpoint()

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

◆ setConfigurationEndpoint()

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

◆ setDriver()

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

◆ setEndSessionEndpoint()

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

◆ setIdGenEndpoint()

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

◆ setIntrospectionEndpoint()

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

◆ setJwksUri()

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

◆ setRegistrationEndpoint()

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

◆ setScopeToClaimsMapping()

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

◆ setTokenEndpoint()

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

◆ setUserInfoEndpoint()

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

◆ showClient() [1/2]

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

◆ showClient() [2/2]

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

◆ showClientUserAgent()

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

◆ showEntity()

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

◆ showResponse() [1/2]

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

◆ showResponse() [2/2]

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

◆ showTitle() [1/2]

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

◆ showTitle() [2/2]

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

◆ startSelenium()

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

◆ stopSelenium()

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

◆ waitForResourceOwnerAndGrantLoginForm() [1/2]

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

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

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

◆ waitForResourceOwnerAndGrantLoginForm() [2/2]

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

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

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

メンバ詳解

◆ authorizationEndpoint

String org.xdi.oxauth.BaseTest.authorizationEndpoint
protectedinherited

◆ authorizationPageEndpoint

String org.xdi.oxauth.BaseTest.authorizationPageEndpoint
protectedinherited

◆ checkSessionIFrame

String org.xdi.oxauth.BaseTest.checkSessionIFrame
protectedinherited

◆ 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

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