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);
}