Author: lindner
Date: Tue May 11 19:57:36 2010
New Revision: 943254
URL: http://svn.apache.org/viewvc?rev=943254&view=rev
Log:
Add expiresTime and isExpired to security token
Added:
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AbstractSecurityToken.java
Modified:
shindig/trunk/UPGRADING
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AnonymousSecurityToken.java
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityToken.java
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityTokenDecoder.java
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityToken.java
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityTokenDecoder.java
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/ForwardingSecurityToken.java
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/SecurityToken.java
shindig/trunk/java/common/src/test/java/org/apache/shindig/common/testing/FakeGadgetToken.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGeneratorTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthRequestTest.java
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthAuthenticationHandler.java
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthSecurityToken.java
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleOAuthDataStore.java
Modified: shindig/trunk/UPGRADING
URL:
http://svn.apache.org/viewvc/shindig/trunk/UPGRADING?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
--- shindig/trunk/UPGRADING (original)
+++ shindig/trunk/UPGRADING Tue May 11 19:57:36 2010
@@ -17,6 +17,11 @@ An array of valid origin domains for the
Changed signature on getMap() and getList() to use Java
generics.
+* SecurityToken
+
+New methods: getExpiresAt() and isExpired() are now required. A new
AbstractSecurityToken
+base class is available.
+
* SecurityTokenDecoder
The interface and implementation are replaced
Added:
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AbstractSecurityToken.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AbstractSecurityToken.java?rev=943254&view=auto
==============================================================================
---
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AbstractSecurityToken.java
(added)
+++
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AbstractSecurityToken.java
Tue May 11 19:57:36 2010
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.shindig.auth;
+
+/**
+ * A base class for SecurityToken Implementations. Currently provides an
isExpired() method
+ *
+ */
+public abstract class AbstractSecurityToken implements SecurityToken {
+
+ public boolean isExpired() {
+ Long expiresAt = getExpiresAt();
+ return (expiresAt == null) ? false : (System.currentTimeMillis()
>expiresAt);
+ }
+
+ public String getActiveUrl() {
+ throw new UnsupportedOperationException("No active URL available");
+ }
+}
Modified:
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AnonymousSecurityToken.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AnonymousSecurityToken.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AnonymousSecurityToken.java
(original)
+++
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AnonymousSecurityToken.java
Tue May 11 19:57:36 2010
@@ -18,44 +18,52 @@
*/
package org.apache.shindig.auth;
+import org.apache.shindig.config.ContainerConfig;
+
/**
* A special class of Token representing the anonymous viewer/owner
*
- * All methods except for isAnonymous will throw IllegalArgumentExceptions
*/
-public class AnonymousSecurityToken implements SecurityToken {
-
- private String container;
+public class AnonymousSecurityToken extends AbstractSecurityToken implements
SecurityToken {
+ private final String container;
+ private final long moduleId;
+ private final String appUrl;
+ private final Long expiresAt;
public AnonymousSecurityToken() {
- this.container = "default";
+ this(ContainerConfig.DEFAULT_CONTAINER);
}
+
public AnonymousSecurityToken(String container) {
+ this(container, 0L, "", null);
+ }
+
+ public AnonymousSecurityToken(String container, long moduleId, String
appUrl, Long expiresAt) {
this.container = container;
+ this.moduleId = moduleId;
+ this.appUrl = appUrl;
+ this.expiresAt = expiresAt;
}
public boolean isAnonymous() {
return true;
}
- public String toSerialForm() {
- return "";
- }
-
public String getOwnerId() {
- return "";
+ return "-1";
}
public String getViewerId() {
- return "";
+ return "-1";
}
public String getAppId() {
- return "";
+ return appUrl;
}
public String getDomain() {
return "";
+ return appUrl;
}
public String getContainer() {
@@ -63,11 +71,15 @@ public class AnonymousSecurityToken impl
}
public String getAppUrl() {
- return "";
+ return appUrl;
}
public long getModuleId() {
- return 0L;
+ return moduleId;
+ }
+
+ public Long getExpiresAt() {
+ return expiresAt;
}
public String getUpdatedToken() {
@@ -81,8 +93,4 @@ public class AnonymousSecurityToken impl
public String getTrustedJson() {
return "";
}
-
- public String getActiveUrl() {
- throw new UnsupportedOperationException("No active URL available");
- }
-}
\ No newline at end of file
+}
Modified:
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityToken.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityToken.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityToken.java
(original)
+++
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityToken.java
Tue May 11 19:57:36 2010
@@ -29,7 +29,7 @@ import java.util.Map;
/**
* Primitive token implementation that uses strings as tokens.
*/
-public class BasicSecurityToken implements SecurityToken {
+public class BasicSecurityToken extends AbstractSecurityToken implements
SecurityToken {
/** serialized form of the token */
private final String token;
@@ -51,10 +51,7 @@ public class BasicSecurityToken implemen
private static final String APPURL_KEY = "u";
private static final String MODULE_KEY = "m";
private static final String CONTAINER_KEY = "c";
-
- public String toSerialForm() {
- return token;
- }
+ private static final String EXPIRES_KEY = "x";
/**
* Generates a token from an input string
@@ -70,7 +67,7 @@ public class BasicSecurityToken implemen
}
public BasicSecurityToken(String owner, String viewer, String app,
- String domain, String appUrl, String moduleId, String container, String
activeUrl)
+ String domain, String appUrl, String moduleId, String container, String
activeUrl, Long expiresAt)
throws BlobCrypterException {
tokenData = Maps.newHashMapWithExpectedSize(7);
putNullSafe(OWNER_KEY, owner);
@@ -80,6 +77,9 @@ public class BasicSecurityToken implemen
putNullSafe(APPURL_KEY, appUrl);
putNullSafe(MODULE_KEY, moduleId);
putNullSafe(CONTAINER_KEY, container);
+ if (expiresAt != null)
+ putNullSafe(EXPIRES_KEY, expiresAt.toString());
+
token = crypter.wrap(tokenData);
this.activeUrl = activeUrl;
}
@@ -139,6 +139,10 @@ public class BasicSecurityToken implemen
return Long.parseLong(tokenData.get(MODULE_KEY));
}
+ public Long getExpiresAt() {
+ return Long.parseLong(tokenData.get(EXPIRES_KEY));
+ }
+
/**
* {...@inheritdoc}
*/
Modified:
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityTokenDecoder.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityTokenDecoder.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityTokenDecoder.java
(original)
+++
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityTokenDecoder.java
Tue May 11 19:57:36 2010
@@ -88,7 +88,8 @@ public class BasicSecurityTokenDecoder i
Utf8UrlCoder.decode(tokens[APP_URL_INDEX]),
Utf8UrlCoder.decode(tokens[MODULE_ID_INDEX]),
Utf8UrlCoder.decode(tokens[CONTAINER_ID_INDEX]),
- parameters.get(SecurityTokenDecoder.ACTIVE_URL_NAME));
+ parameters.get(SecurityTokenDecoder.ACTIVE_URL_NAME),
+ null);
} catch (BlobCrypterException e) {
throw new SecurityTokenException(e);
} catch (ArrayIndexOutOfBoundsException e) {
Modified:
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityToken.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityToken.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityToken.java
(original)
+++
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityToken.java
Tue May 11 19:57:36 2010
@@ -32,7 +32,7 @@ import java.util.Map;
*
* Container is included so different containers can use different security
tokens if necessary.
*/
-public class BlobCrypterSecurityToken implements SecurityToken {
+public class BlobCrypterSecurityToken extends AbstractSecurityToken implements
SecurityToken {
protected static final int MAX_TOKEN_LIFETIME_SECS = 3600;
@@ -41,6 +41,7 @@ public class BlobCrypterSecurityToken im
protected static final String GADGET_KEY = "g";
protected static final String GADGET_INSTANCE_KEY = "i";
protected static final String TRUSTED_JSON_KEY = "j";
+ protected static final String EXPIRES_KEY = "x";
protected final BlobCrypter crypter;
protected final String container;
@@ -50,6 +51,8 @@ public class BlobCrypterSecurityToken im
protected String viewerId;
protected String appUrl;
protected long moduleId;
+ protected Long expiresAt;
+
protected String trustedJson;
protected String activeUrl;
@@ -95,6 +98,10 @@ public class BlobCrypterSecurityToken im
if (moduleId != null) {
token.setModuleId(Long.parseLong(moduleId));
}
+ String expiresAt = values.get(EXPIRES_KEY);
+ if (expiresAt != null) {
+ token.setExpiresAt(Long.parseLong(expiresAt));
+ }
token.setTrustedJson(values.get(TRUSTED_JSON_KEY));
}
@@ -121,6 +128,9 @@ public class BlobCrypterSecurityToken im
if (moduleId != 0) {
values.put(GADGET_INSTANCE_KEY, Long.toString(moduleId));
}
+ if (expiresAt != null) {
+ values.put(EXPIRES_KEY, Long.toString(expiresAt));
+ }
if (trustedJson != null) {
values.put(TRUSTED_JSON_KEY, trustedJson);
}
@@ -157,6 +167,14 @@ public class BlobCrypterSecurityToken im
this.moduleId = moduleId;
}
+ public Long getExpiresAt() {
+ return expiresAt;
+ }
+
+ public void setExpiresAt(Long expiresAt) {
+ this.expiresAt = expiresAt;
+ }
+
public String getOwnerId() {
return ownerId;
}
Modified:
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityTokenDecoder.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityTokenDecoder.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityTokenDecoder.java
(original)
+++
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityTokenDecoder.java
Tue May 11 19:57:36 2010
@@ -95,7 +95,7 @@ public class BlobCrypterSecurityTokenDec
public SecurityToken createToken(Map<String, String> tokenParameters)
throws SecurityTokenException {
String token =
tokenParameters.get(SecurityTokenDecoder.SECURITY_TOKEN_NAME);
- if (token == null || token.trim().length() == 0) {
+ if (StringUtils.isBlank(token)) {
// No token is present, assume anonymous access
return new AnonymousSecurityToken();
}
Modified:
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/ForwardingSecurityToken.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/ForwardingSecurityToken.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/ForwardingSecurityToken.java
(original)
+++
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/ForwardingSecurityToken.java
Tue May 11 19:57:36 2010
@@ -56,6 +56,14 @@ public abstract class ForwardingSecurity
return delegate.getModuleId();
}
+ public Long getExpiresAt() {
+ return delegate.getExpiresAt();
+ }
+
+ public boolean isExpired() {
+ return delegate.isExpired();
+ }
+
public String getUpdatedToken() {
return delegate.getUpdatedToken();
}
Modified:
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/SecurityToken.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/SecurityToken.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/SecurityToken.java
(original)
+++
shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/SecurityToken.java
Tue May 11 19:57:36 2010
@@ -60,6 +60,16 @@ public interface SecurityToken {
long getModuleId();
/**
+ * @return the timestamp that this token expires or null if unknown or
indeterminate
+ */
+ Long getExpiresAt();
+
+ /**
+ * @return true if the token is no longer valid
+ */
+ boolean isExpired();
+
+ /**
* @return an updated version of the token to return to the gadget, or null
* if there is no need to update the token.
*/
Modified:
shindig/trunk/java/common/src/test/java/org/apache/shindig/common/testing/FakeGadgetToken.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/testing/FakeGadgetToken.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/common/src/test/java/org/apache/shindig/common/testing/FakeGadgetToken.java
(original)
+++
shindig/trunk/java/common/src/test/java/org/apache/shindig/common/testing/FakeGadgetToken.java
Tue May 11 19:57:36 2010
@@ -18,6 +18,7 @@
*/
package org.apache.shindig.common.testing;
+import org.apache.shindig.auth.AbstractSecurityToken;
import org.apache.shindig.auth.AuthenticationMode;
import org.apache.shindig.auth.SecurityToken;
import org.apache.shindig.auth.SecurityTokenDecoder;
@@ -30,7 +31,7 @@ import java.util.Map;
/**
* A fake SecurityToken implementation to help testing.
*/
-public class FakeGadgetToken implements SecurityToken {
+public class FakeGadgetToken extends AbstractSecurityToken implements
SecurityToken {
private String updatedToken = null;
private String trustedJson = null;
@@ -44,6 +45,7 @@ public class FakeGadgetToken implements
private String activeUrl = null;
private String authMode =
AuthenticationMode.SECURITY_TOKEN_URL_PARAMETER.name();
private int moduleId = 0;
+ private Long expiresAt = null;
public FakeGadgetToken setUpdatedToken(String updatedToken) {
this.updatedToken = updatedToken;
@@ -89,7 +91,12 @@ public class FakeGadgetToken implements
this.moduleId = moduleId;
return this;
}
-
+
+ public FakeGadgetToken setExpiresAt(Long expiresAt) {
+ this.expiresAt = expiresAt;
+ return this;
+ }
+
public FakeGadgetToken setActiveUrl(String activeUrl) {
this.activeUrl = activeUrl;
return this;
@@ -119,10 +126,6 @@ public class FakeGadgetToken implements
return container;
}
- public String toSerialForm() {
- return "";
- }
-
public String getAppUrl() {
return appUrl;
}
@@ -131,6 +134,10 @@ public class FakeGadgetToken implements
return moduleId;
}
+ public Long getExpiresAt() {
+ return expiresAt;
+ }
+
public String getUpdatedToken() {
return updatedToken;
}
Modified:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java
Tue May 11 19:57:36 2010
@@ -71,7 +71,7 @@ public class AbstractHttpCacheTest {
String ownerId = "owner eye dee";
SecurityToken securityToken = new BasicSecurityToken(ownerId, "", "", "",
- APP_URI.toString(), MODULE_ID, CONTAINER_NAME, null);
+ APP_URI.toString(), MODULE_ID, CONTAINER_NAME, null, null);
HttpRequest request = new HttpRequest(DEFAULT_URI)
.setAuthType(AuthType.SIGNED)
@@ -112,7 +112,7 @@ public class AbstractHttpCacheTest {
String viewerId = "viewer eye dee";
SecurityToken securityToken = new BasicSecurityToken(
- "", viewerId, "", "", APP_URI.toString(), MODULE_ID, CONTAINER_NAME,
null);
+ "", viewerId, "", "", APP_URI.toString(), MODULE_ID, CONTAINER_NAME,
null, null);
HttpRequest request = new HttpRequest(DEFAULT_URI)
.setAuthType(AuthType.SIGNED)
@@ -142,7 +142,7 @@ public class AbstractHttpCacheTest {
String userId = "user id";
SecurityToken securityToken = new BasicSecurityToken(
- userId, userId, "", "", APP_URI.toString(), MODULE_ID, CONTAINER_NAME,
null);
+ userId, userId, "", "", APP_URI.toString(), MODULE_ID, CONTAINER_NAME,
null, null);
HttpRequest request = new HttpRequest(DEFAULT_URI)
.setAuthType(AuthType.SIGNED)
Modified:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGeneratorTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGeneratorTest.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGeneratorTest.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGeneratorTest.java
Tue May 11 19:57:36 2010
@@ -67,7 +67,7 @@ public class GadgetOAuthCallbackGenerato
urlGenerator = control.createMock(UrlGenerator.class);
stateCrypter = new BasicBlobCrypter("1111111111111111111".getBytes());
securityToken = new BasicSecurityToken("viewer", "viewer", "app",
"container.com",
- "gadget", "0", "default", MAKE_REQUEST_URL);
+ "gadget", "0", "default", MAKE_REQUEST_URL, null);
gadget = control.createMock(Gadget.class);
fetcherConfig = new OAuthFetcherConfig(null, null, null, null, false);
responseParams = new OAuthResponseParams(null, null, null);
Modified:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthRequestTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthRequestTest.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthRequestTest.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthRequestTest.java
Tue May 11 19:57:36 2010
@@ -275,7 +275,7 @@ public class OAuthRequestTest {
public static SecurityToken getSecurityToken(String owner, String viewer,
String gadget)
throws Exception {
return new BasicSecurityToken(owner, viewer, "app", "container.com",
gadget, "0", "default",
- GADGET_MAKE_REQUEST_URL);
+ GADGET_MAKE_REQUEST_URL, null);
}
@After
Modified:
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
(original)
+++
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
Tue May 11 19:57:36 2010
@@ -443,6 +443,6 @@ public class EndToEndTest {
private BasicSecurityToken createToken(String owner, String viewer)
throws BlobCrypterException {
- return new BasicSecurityToken(owner, viewer, "test", "domain", "appUrl",
"1", "default", null);
+ return new BasicSecurityToken(owner, viewer, "test", "domain", "appUrl",
"1", "default", null, null);
}
}
Modified:
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthAuthenticationHandler.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthAuthenticationHandler.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthAuthenticationHandler.java
(original)
+++
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthAuthenticationHandler.java
Tue May 11 19:57:36 2010
@@ -178,7 +178,7 @@ public class OAuthAuthenticationHandler
OAuthConsumer authConsumer) throws OAuthProblemException {
if (entry != null) {
return new OAuthSecurityToken(entry.userId, entry.callbackUrl,
entry.appId,
- entry.domain, entry.container);
+ entry.domain, entry.container, entry.expiresAt().getTime());
} else {
String userId = getParameter(message, REQUESTOR_ID_PARAM);
return
store.getSecurityTokenForConsumerRequest(authConsumer.consumerKey, userId);
Modified:
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthSecurityToken.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthSecurityToken.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthSecurityToken.java
(original)
+++
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthSecurityToken.java
Tue May 11 19:57:36 2010
@@ -17,30 +17,33 @@
*/
package org.apache.shindig.social.core.oauth;
+import org.apache.shindig.auth.AbstractSecurityToken;
import org.apache.shindig.auth.AuthenticationMode;
import org.apache.shindig.auth.SecurityToken;
-public class OAuthSecurityToken implements SecurityToken {
+public class OAuthSecurityToken extends AbstractSecurityToken implements
SecurityToken {
private final String userId;
private final String appUrl;
private final String appId;
private final String domain;
private final String container;
private final String authMode;
+ private final Long expiresAt;
public OAuthSecurityToken(String userId, String appUrl, String appId, String
domain,
- String container) {
- this(userId, appUrl, appId, domain, container,
AuthenticationMode.OAUTH.name());
+ String container, Long expiresAt) {
+ this(userId, appUrl, appId, domain, container, expiresAt,
AuthenticationMode.OAUTH.name());
}
public OAuthSecurityToken(String userId, String appUrl, String appId, String
domain,
- String container, String authMode) {
+ String container, Long expiresAt, String authMode) {
this.userId = userId;
this.appUrl = appUrl;
this.appId = appId;
this.domain = domain;
this.container = container;
this.authMode = authMode;
+ this.expiresAt = null; // TODO add
}
public String getOwnerId() {
@@ -67,17 +70,16 @@ public class OAuthSecurityToken implemen
return appUrl;
}
+ public Long getExpiresAt() {
+ return expiresAt;
+ }
+
// We don't support this concept yet. We probably don't need to as
opensocial calls don't
// currently depend on the app instance id.
public long getModuleId() {
throw new UnsupportedOperationException();
}
- // Not needed for this basic token
- public String toSerialForm() {
- throw new UnsupportedOperationException();
- }
-
public String getUpdatedToken() {
throw new UnsupportedOperationException();
}
@@ -89,11 +91,8 @@ public class OAuthSecurityToken implemen
public String getTrustedJson() {
throw new UnsupportedOperationException();
}
+
public boolean isAnonymous() {
return false;
}
-
- public String getActiveUrl() {
- throw new UnsupportedOperationException("No active URL available");
- }
}
Modified:
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleOAuthDataStore.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleOAuthDataStore.java?rev=943254&r1=943253&r2=943254&view=diff
==============================================================================
---
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleOAuthDataStore.java
(original)
+++
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleOAuthDataStore.java
Tue May 11 19:57:36 2010
@@ -169,7 +169,7 @@ public class SampleOAuthDataStore implem
String domain = "samplecontainer.com";
String container = "default";
- return new OAuthSecurityToken(userId, null, consumerKey, domain, container,
+ return new OAuthSecurityToken(userId, null, consumerKey, domain,
container, null,
AuthenticationMode.OAUTH_CONSUMER_REQUEST.name());
}