diff --git a/oauth2_http/java/com/google/auth/oauth2/UserAuthorizer.java b/oauth2_http/java/com/google/auth/oauth2/UserAuthorizer.java index ed55f47af..7b041a319 100644 --- a/oauth2_http/java/com/google/auth/oauth2/UserAuthorizer.java +++ b/oauth2_http/java/com/google/auth/oauth2/UserAuthorizer.java @@ -315,10 +315,14 @@ public void revokeAuthorization(String userId) throws IOException { OAuth2Utils.validateOptionalString(tokenJson, "refresh_token", TOKEN_STORE_ERROR); // If both tokens are present, either can be used String revokeToken = (refreshToken != null) ? refreshToken : accessTokenValue; + GenericUrl revokeUrl = new GenericUrl(OAuth2Utils.TOKEN_REVOKE_URI); - revokeUrl.put("token", revokeToken); + GenericData genericData = new GenericData(); + genericData.put("token", revokeToken); + UrlEncodedContent content = new UrlEncodedContent(genericData); + HttpRequestFactory requestFactory = transportFactory.create().createRequestFactory(); - HttpRequest tokenRequest = requestFactory.buildGetRequest(revokeUrl); + HttpRequest tokenRequest = requestFactory.buildPostRequest(revokeUrl, content); tokenRequest.execute(); if (deleteTokenException != null) { diff --git a/oauth2_http/javatests/com/google/auth/oauth2/MockTokenServerTransport.java b/oauth2_http/javatests/com/google/auth/oauth2/MockTokenServerTransport.java index add74834a..297b497b4 100644 --- a/oauth2_http/javatests/com/google/auth/oauth2/MockTokenServerTransport.java +++ b/oauth2_http/javatests/com/google/auth/oauth2/MockTokenServerTransport.java @@ -257,7 +257,7 @@ public LowLevelHttpResponse execute() throws IOException { return new MockLowLevelHttpRequest(url) { @Override public LowLevelHttpResponse execute() throws IOException { - Map parameters = TestUtils.parseQuery(query); + Map parameters = TestUtils.parseQuery(this.getContentAsString()); String token = parameters.get("token"); if (token == null) { throw new IOException("Token to revoke not found.");