You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by li...@apache.org on 2010/05/18 18:57:40 UTC

svn commit: r945750 - in /shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/DefaultUrlGenerator.java test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java

Author: lindner
Date: Tue May 18 16:57:40 2010
New Revision: 945750

URL: http://svn.apache.org/viewvc?rev=945750&view=rev
Log:
add security tokens to metadata output, if set

Modified:
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultUrlGenerator.java
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultUrlGenerator.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultUrlGenerator.java?rev=945750&r1=945749&r2=945750&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultUrlGenerator.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultUrlGenerator.java Tue May 18 16:57:40 2010
@@ -18,6 +18,9 @@
  */
 package org.apache.shindig.gadgets;
 
+import org.apache.commons.lang.StringUtils;
+import org.apache.shindig.auth.SecurityTokenDecoder;
+import org.apache.shindig.auth.SecurityTokenException;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.common.uri.UriBuilder;
 import org.apache.shindig.common.util.HashUtil;
@@ -59,11 +62,13 @@ public class DefaultUrlGenerator impleme
   private final Map<String, String> oauthCallbackUriTemplates;
 
   private final LockedDomainService lockedDomainService;
+  private final SecurityTokenDecoder securityTokenDecoder;
 
   @Inject
   public DefaultUrlGenerator(ContainerConfig config,
                              LockedDomainService lockedDomainService,
-                             FeatureRegistry registry) {
+                             FeatureRegistry registry,
+                             SecurityTokenDecoder securityTokenDecoder) {
     iframeBaseUris = Maps.newHashMap();
     jsUriTemplates = Maps.newHashMap();
     oauthCallbackUriTemplates = Maps.newHashMap();
@@ -75,6 +80,7 @@ public class DefaultUrlGenerator impleme
     }
 
     this.lockedDomainService = lockedDomainService;
+    this.securityTokenDecoder = securityTokenDecoder;
 
     StringBuilder jsBuf = new StringBuilder();
     for (FeatureResource resource : registry.getAllFeatures()) {
@@ -176,6 +182,19 @@ public class DefaultUrlGenerator impleme
       }
       uri.addQueryParameter("up_" + pref.getName(), value);
     }
+
+    // Need a security token if we expect server-side templates etc to work
+    try {
+      if (securityTokenDecoder != null && context.getToken() != null) {
+        String tokenVal = securityTokenDecoder.encodeToken(context.getToken());
+        if (StringUtils.isNotEmpty(tokenVal)) {
+          uri.addQueryParameter("st", tokenVal);
+        }
+      }
+    } catch (SecurityTokenException e) {
+      // ignore, fall back to anonymous?
+    }
+
     // add url last to work around browser bugs
     if (type != View.ContentType.URL) {
       uri.addQueryParameter("url", url);

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java?rev=945750&r1=945749&r2=945750&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java Tue May 18 16:57:40 2010
@@ -94,7 +94,7 @@ public class DefaultUrlGeneratorTest ext
 
     // Yikes!
     replay(registry);
-    urlGenerator = new DefaultUrlGenerator(config, lockedDomainService, registry);
+    urlGenerator = new DefaultUrlGenerator(config, lockedDomainService, registry, null);
     reset(registry);
   }