diff --git a/services/src/main/java/org/keycloak/services/resources/TokenService.java b/services/src/main/java/org/keycloak/services/resources/TokenService.java
index bf8b878..625055f 100755
--- a/services/src/main/java/org/keycloak/services/resources/TokenService.java
+++ b/services/src/main/java/org/keycloak/services/resources/TokenService.java
@@ -310,14 +310,14 @@ public class TokenService {
* @return Unmarshalled token
*/
@Path("validate")
- @POST
+ @GET
@Produces(MediaType.APPLICATION_JSON)
- public Response validateAccessToken(String tokenString) {
+ public Response validateAccessToken(@QueryParam("access_token") String tokenString) {
audit.event(EventType.VALIDATE_ACCESS_TOKEN);
AccessToken token = null;
try {
token = RSATokenVerifier.verifyToken(tokenString, realm.getPublicKey(), realm.getName());
- } catch (VerificationException e) {
+ } catch (Exception e) {
Map<String, String> err = new HashMap<String, String>();
err.put(OAuth2Constants.ERROR, OAuthErrorException.INVALID_GRANT);
err.put(OAuth2Constants.ERROR_DESCRIPTION, "Token invalid");
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/AccessTokenTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/AccessTokenTest.java
index 9216bf2..980879c 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/AccessTokenTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/AccessTokenTest.java
@@ -274,7 +274,7 @@ public class AccessTokenTest {
WebTarget validateTarget = client.target(validateUri);
{
- Response response = validateTarget.request().post(Entity.text("bad token"));
+ Response response = validateTarget.queryParam("access_token", "bad token").request().get();
Assert.assertEquals(400, response.getStatus());
HashMap<String, String> error = response.readEntity(new GenericType <HashMap<String, String>>() {});
Assert.assertNotNull(error.get("error"));
@@ -296,7 +296,7 @@ public class AccessTokenTest {
}
{
- Response response = validateTarget.request().post(Entity.text(tokenResponse.getToken()));
+ Response response = validateTarget.queryParam("access_token", tokenResponse.getToken()).request().get();
Assert.assertEquals(200, response.getStatus());
AccessToken token = response.readEntity(AccessToken.class);
Assert.assertNotNull(token);
@@ -310,7 +310,7 @@ public class AccessTokenTest {
response.close();
}
{
- Response response = validateTarget.request().post(Entity.text(tokenResponse.getToken()));
+ Response response = validateTarget.queryParam("access_token", tokenResponse.getToken()).request().get();
Assert.assertEquals(400, response.getStatus());
HashMap<String, String> error = response.readEntity(new GenericType <HashMap<String, String>>() {});
Assert.assertNotNull(error.get("error"));