You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by ry...@apache.org on 2015/03/27 21:58:00 UTC

incubator-usergrid git commit: Fix ping indentity validation be POSTing a form rather than query params

Repository: incubator-usergrid
Updated Branches:
  refs/heads/post-content-length-fix [created] 84eb59f0b


Fix ping indentity validation be POSTing a form rather than query params


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/84eb59f0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/84eb59f0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/84eb59f0

Branch: refs/heads/post-content-length-fix
Commit: 84eb59f0bf3f439ee3209a14cca34754de9000e0
Parents: 4d7be24
Author: ryan bridges <rb...@apigee.com>
Authored: Fri Mar 27 16:54:41 2015 -0400
Committer: ryan bridges <rb...@apigee.com>
Committed: Fri Mar 27 16:54:41 2015 -0400

----------------------------------------------------------------------
 .../security/providers/AbstractProvider.java        |  6 ++++++
 .../security/providers/PingIdentityProvider.java    | 16 ++++++++++------
 2 files changed, 16 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/84eb59f0/stack/services/src/main/java/org/apache/usergrid/security/providers/AbstractProvider.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/providers/AbstractProvider.java b/stack/services/src/main/java/org/apache/usergrid/security/providers/AbstractProvider.java
index 05e12a8..54f765c 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/providers/AbstractProvider.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/providers/AbstractProvider.java
@@ -19,6 +19,7 @@ package org.apache.usergrid.security.providers;
 
 import java.util.Map;
 
+import com.sun.jersey.core.util.MultivaluedMapImpl;
 import org.apache.usergrid.management.ManagementService;
 import org.apache.usergrid.persistence.EntityManager;
 
@@ -27,6 +28,8 @@ import com.sun.jersey.api.client.config.ClientConfig;
 import com.sun.jersey.api.client.config.DefaultClientConfig;
 import com.sun.jersey.api.json.JSONConfiguration;
 
+import javax.ws.rs.core.MultivaluedMap;
+
 
 /** @author zznate */
 public abstract class AbstractProvider implements SignInAsProvider {
@@ -53,6 +56,9 @@ public abstract class AbstractProvider implements SignInAsProvider {
 
     public abstract void saveToConfiguration( Map<String, Object> config );
 
+    protected MultivaluedMap getMultivaluedMapImpl() {
+      return new MultivaluedMapImpl();
+    }
 
     /** Encapsulates the dictionary lookup for any configuration required */
     protected Map<Object, Object> loadConfigurationFor( String providerKey ) {

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/84eb59f0/stack/services/src/main/java/org/apache/usergrid/security/providers/PingIdentityProvider.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/providers/PingIdentityProvider.java b/stack/services/src/main/java/org/apache/usergrid/security/providers/PingIdentityProvider.java
index 0d01fe7..3ab51ca 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/providers/PingIdentityProvider.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/providers/PingIdentityProvider.java
@@ -22,6 +22,7 @@ import java.util.LinkedHashMap;
 import java.util.Map;
 
 import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
 
 import org.codehaus.jackson.JsonNode;
 import org.slf4j.Logger;
@@ -122,12 +123,15 @@ public class PingIdentityProvider extends AbstractProvider {
     @Override
     Map<String, Object> userFromResource( String externalToken ) {
 
-        JsonNode node = client.resource( apiUrl )
-                              .queryParam( "grant_type", "urn:pingidentity.com:oauth2:grant_type:validate_bearer" )
-                              .queryParam( "client_secret", clientSecret ).queryParam( "client_id", clientId )
-                              .queryParam( "token", externalToken ).type( MediaType.APPLICATION_FORM_URLENCODED_TYPE )
-                              .header("Content-Length", "0")
-                              .post( JsonNode.class );
+      MultivaluedMap<String, String> formData =  getMultivaluedMapImpl();
+      formData.add("grant_type", "urn:pingidentity.com:oauth2:grant_type:validate_bearer");
+      formData.add("client_id", clientId);
+      formData.add("client_secret", clientSecret);
+      formData.add("token", externalToken);
+
+      JsonNode node = client.resource( apiUrl )
+          .type( MediaType.APPLICATION_FORM_URLENCODED_TYPE )
+          .post( JsonNode.class, formData );
 
         String rawEmail = node.get( "access_token" ).get( "subject" ).asText();