Test for the complete Authorization Code Flow.
47 showTitle(
"enableClientToRestrictJavascriptOrigin");
49 List<ResponseType> responseTypes = Arrays.asList(
52 List<String> scopes = Arrays.asList(
"openid",
"profile",
"address",
"email",
"phone",
"user_name");
55 List<String> authorizedOrigins = Arrays.asList(
"https://ce.gluu.info:8443");
58 StringUtils.spaceSeparatedToList(redirectUris));
70 assertEquals(registerResponse.getStatus(), 200,
"Unexpected response code: " + registerResponse.getEntity());
82 String nonce = UUID.randomUUID().toString();
83 String state = UUID.randomUUID().toString();
86 authorizationRequest.
setState(state);
91 assertNotNull(authorizationResponse.
getLocation(),
"The location is null");
92 assertNotNull(authorizationResponse.
getCode(),
"The authorization code is null");
93 assertNotNull(authorizationResponse.
getState(),
"The state is null");
94 assertNotNull(authorizationResponse.
getScope(),
"The scope is null");
96 String scope = authorizationResponse.
getScope();
97 String authorizationCode = authorizationResponse.
getCode();
98 String idToken = authorizationResponse.
getIdToken();
102 tokenRequest.
setCode(authorizationCode);
113 assertEquals(tokenResponse1.getStatus(), 200,
"Unexpected response code: " + tokenResponse1.getStatus());
114 assertNotNull(tokenResponse1.getEntity(),
"The entity is null");
115 assertNotNull(tokenResponse1.
getAccessToken(),
"The access token is null");
116 assertNotNull(tokenResponse1.
getExpiresIn(),
"The expires in value is null");
117 assertNotNull(tokenResponse1.
getTokenType(),
"The token type is null");
118 assertNotNull(tokenResponse1.
getRefreshToken(),
"The refresh token is null");
140 assertTrue(rsaSigner.validate(jwt));
144 TokenResponse tokenResponse2 = tokenClient2.execRefreshToken(scope, refreshToken, clientId, clientSecret);
147 assertEquals(tokenResponse2.getStatus(), 200,
"Unexpected response code: " + tokenResponse2.getStatus());
148 assertNotNull(tokenResponse2.getEntity(),
"The entity is null");
149 assertNotNull(tokenResponse2.
getAccessToken(),
"The access token is null");
150 assertNotNull(tokenResponse2.
getTokenType(),
"The token type is null");
151 assertNotNull(tokenResponse2.
getRefreshToken(),
"The refresh token is null");
152 assertNotNull(tokenResponse2.
getScope(),
"The scope is null");
161 assertEquals(userInfoResponse.
getStatus(), 200,
"Unexpected response code: " + userInfoResponse.
getStatus());
162 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.SUBJECT_IDENTIFIER));
163 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.NAME));
164 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.BIRTHDATE));
165 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.FAMILY_NAME));
166 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.GENDER));
167 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.GIVEN_NAME));
168 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.MIDDLE_NAME));
169 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.NICKNAME));
170 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.PICTURE));
171 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.PREFERRED_USERNAME));
172 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.PROFILE));
173 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.WEBSITE));
174 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.EMAIL));
175 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.EMAIL_VERIFIED));
176 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.PHONE_NUMBER));
177 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.PHONE_NUMBER_VERIFIED));
178 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.ADDRESS));
179 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.LOCALE));
180 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.ZONEINFO));
181 assertNotNull(userInfoResponse.
getClaim(JwtClaimName.USER_NAME));
182 assertNull(userInfoResponse.
getClaim(
"org_name"));
183 assertNull(userInfoResponse.
getClaim(
"work_phone"));
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
void setSubjectType(SubjectType subjectType)
Definition: RegisterRequest.java:522
String getClaimAsString(String key)
Definition: JwtClaimSet.java:55
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
UserInfoResponse execUserInfo(String accessToken)
Definition: UserInfoClient.java:66
PAIRWISE
Definition: SubjectType.java:14
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
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
void setAuthorizedOrigins(List< String > authorizedOrigins)
Definition: RegisterRequest.java:873
AUTHORIZED_ORIGINS
Definition: RegisterRequestParam.java:262
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
Definition: SubjectType.java:12
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
String getClientSecret()
Definition: RegisterResponse.java:160
WEB
Definition: ApplicationType.java:28
Definition: RSAPublicKey.java:25
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 setScope(List< String > scope)
Definition: RegisterRequest.java:895
void showTitle(String title)
Definition: BaseTest.java:761
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
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
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: 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
Definition: UserInfoResponse.java:20
AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret)
Definition: BaseTest.java:252
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: RegisterRequestParam.java:19
String getRegistrationAccessToken()
Definition: RegisterResponse.java:173