Implemented OAuth2 refresh_token process
This commit is contained in:
parent
7519763b62
commit
2786e93df2
5 changed files with 208 additions and 86 deletions
|
|
@ -153,7 +153,7 @@ public class OAuth2AuthorizationPageTest {
|
|||
assertNotNull(url.getParameter("code"));
|
||||
assertNull(url.getParameter("state"));
|
||||
|
||||
assertTrue(registry.isAuthorizationCodeValid("12345", url.getParameter("code")));
|
||||
assertTrue(registry.isAuthorizationCodeValid(url.getParameter("code")));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -169,6 +169,6 @@ public class OAuth2AuthorizationPageTest {
|
|||
HttpURL url = new HttpURL(rspHeader.getHeader("Location"));
|
||||
assertEquals("app_state", url.getParameter("state"));
|
||||
|
||||
assertTrue(registry.isAuthorizationCodeValid("12345", url.getParameter("code")));
|
||||
assertTrue(registry.isAuthorizationCodeValid(url.getParameter("code")));
|
||||
}
|
||||
}
|
||||
|
|
@ -157,8 +157,7 @@ public class OAuth2TokenPageTest {
|
|||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void requestBasic() throws IOException {
|
||||
private HttpHeader doBasicRequest() throws IOException {
|
||||
HttpHeader reqHeader = new HttpHeader();
|
||||
reqHeader.setURLAttribute("client_id", VALID_CLIENT_ID);
|
||||
reqHeader.setURLAttribute("redirect_uri", VALID_REDIRECT_URI);
|
||||
|
|
@ -166,6 +165,13 @@ public class OAuth2TokenPageTest {
|
|||
reqHeader.setURLAttribute("code", VALID_AUTH_CODE);
|
||||
HttpHeader rspHeader = HttpTestUtil.makeRequest(tokenPage, reqHeader);
|
||||
|
||||
return rspHeader;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void requestBasic() throws IOException {
|
||||
HttpHeader rspHeader = doBasicRequest();
|
||||
|
||||
assertEquals(200, rspHeader.getResponseStatusCode());
|
||||
assertEquals("application/json", rspHeader.getHeader("Content-Type"));
|
||||
DataNode json = JSONParser.read(IOUtil.readContentAsString(rspHeader.getInputStream()));
|
||||
|
|
@ -174,6 +180,47 @@ public class OAuth2TokenPageTest {
|
|||
assertNotNull(json.getString("expires_in"));
|
||||
assertEquals("bearer", json.getString("token_type"));
|
||||
|
||||
assertTrue(registry.isAccessTokenValid(VALID_CLIENT_ID, json.getString("access_token")));
|
||||
assertTrue(registry.isAccessTokenValid(json.getString("access_token")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void revocationCode() throws IOException {
|
||||
requestBasic();
|
||||
|
||||
HttpHeader reqHeader = new HttpHeader();
|
||||
reqHeader.setURLAttribute("client_id", VALID_CLIENT_ID);
|
||||
reqHeader.setURLAttribute("redirect_uri", VALID_REDIRECT_URI);
|
||||
reqHeader.setURLAttribute("grant_type", VALID_GRANT_TYPE);
|
||||
reqHeader.setURLAttribute("code", VALID_AUTH_CODE);
|
||||
HttpHeader rspHeader = HttpTestUtil.makeRequest(tokenPage, reqHeader);
|
||||
|
||||
assertEquals(400, rspHeader.getResponseStatusCode());
|
||||
DataNode json = JSONParser.read(IOUtil.readContentAsString(rspHeader.getInputStream()));
|
||||
assertEquals("invalid_grant", json.getString("error"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void requestRefreshToken() throws IOException {
|
||||
HttpHeader rspHeader = doBasicRequest();
|
||||
DataNode json = JSONParser.read(IOUtil.readContentAsString(rspHeader.getInputStream()));
|
||||
String refreshToken = json.getString("refresh_token");
|
||||
|
||||
assertTrue(registry.isAuthorizationCodeValid(refreshToken));
|
||||
|
||||
HttpHeader reqHeader = new HttpHeader();
|
||||
reqHeader.setURLAttribute("grant_type", "refresh_token");
|
||||
reqHeader.setURLAttribute("refresh_token", refreshToken);
|
||||
rspHeader = HttpTestUtil.makeRequest(tokenPage, reqHeader);
|
||||
|
||||
assertEquals(200, rspHeader.getResponseStatusCode());
|
||||
json = JSONParser.read(IOUtil.readContentAsString(rspHeader.getInputStream()));
|
||||
assertNotNull(json.getString("refresh_token"));
|
||||
assertNotNull(json.getString("access_token"));
|
||||
assertNotNull(json.getString("expires_in"));
|
||||
assertEquals("bearer", json.getString("token_type"));
|
||||
|
||||
assertTrue(registry.isAccessTokenValid(json.getString("access_token")));
|
||||
assertTrue(registry.isAuthorizationCodeValid(json.getString("refresh_token")));
|
||||
assertFalse(registry.isAuthorizationCodeValid(refreshToken));
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue