You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2013/08/15 10:35:01 UTC
svn commit: r1514198 - in
/cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2:
tokens/refresh/ tokens/refresh/RefreshToken.java utils/OAuthConstants.java
Author: sergeyb
Date: Thu Aug 15 08:35:01 2013
New Revision: 1514198
URL: http://svn.apache.org/r1514198
Log:
[CXF-5180] Adding a simple RefreshToken implementation, patch on behalf of Thorsten Hoeger applied
Added:
cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/tokens/refresh/
cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/tokens/refresh/RefreshToken.java (with props)
Modified:
cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/utils/OAuthConstants.java
Added: cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/tokens/refresh/RefreshToken.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/tokens/refresh/RefreshToken.java?rev=1514198&view=auto
==============================================================================
--- cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/tokens/refresh/RefreshToken.java (added)
+++ cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/tokens/refresh/RefreshToken.java Thu Aug 15 08:35:01 2013
@@ -0,0 +1,71 @@
+/**
+ * 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.cxf.rs.security.oauth2.tokens.refresh;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.cxf.rs.security.oauth2.common.Client;
+import org.apache.cxf.rs.security.oauth2.common.ServerAccessToken;
+import org.apache.cxf.rs.security.oauth2.utils.OAuthConstants;
+import org.apache.cxf.rs.security.oauth2.utils.OAuthUtils;
+
+/**
+ * Simple Refresh Token implementation
+ */
+public class RefreshToken extends ServerAccessToken {
+
+ private Set<String> accessTokens = new HashSet<String>();
+
+ public RefreshToken(Client client,
+ long lifetime) {
+ super(client,
+ OAuthConstants.REFRESH_TOKEN_TYPE,
+ OAuthUtils.generateRandomTokenKey(),
+ lifetime,
+ System.currentTimeMillis() / 1000);
+ }
+
+ public RefreshToken(Client client,
+ String tokenKey,
+ long lifetime,
+ long issuedAt) {
+ super(client,
+ OAuthConstants.REFRESH_TOKEN_TYPE,
+ tokenKey,
+ lifetime,
+ issuedAt);
+ }
+
+ public Set<String> getAccessTokens() {
+ return accessTokens;
+ }
+
+ public void setAccessTokens(Set<String> accessTokens) {
+ this.accessTokens = accessTokens;
+ }
+
+ public void addAccessToken(String token) {
+ accessTokens.add(token);
+ }
+
+ public boolean removeAccessToken(String token) {
+ return accessTokens.remove(token);
+ }
+}
Propchange: cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/tokens/refresh/RefreshToken.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/tokens/refresh/RefreshToken.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/utils/OAuthConstants.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/utils/OAuthConstants.java?rev=1514198&r1=1514197&r2=1514198&view=diff
==============================================================================
--- cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/utils/OAuthConstants.java (original)
+++ cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/utils/OAuthConstants.java Thu Aug 15 08:35:01 2013
@@ -32,6 +32,8 @@ public final class OAuthConstants {
public static final String ACCESS_TOKEN = "access_token";
public static final String ACCESS_TOKEN_TYPE = "token_type";
public static final String ACCESS_TOKEN_EXPIRES_IN = "expires_in";
+ // CXF-Specific
+ public static final String ACCESS_TOKEN_ISSUED_AT = "issued_at";
public static final String GRANT_TYPE = "grant_type";
public static final String RESPONSE_TYPE = "response_type";
public static final String TOKEN_RESPONSE_TYPE = "token";
@@ -47,7 +49,9 @@ public final class OAuthConstants {
// Well-known token types
public static final String BEARER_TOKEN_TYPE = "bearer";
public static final String MAC_TOKEN_TYPE = "mac";
-
+ // CXF-specific
+ public static final String REFRESH_TOKEN_TYPE = "refresh";
+
// MAC token parameters
// Set by Access Token Service
public static final String MAC_TOKEN_KEY = "mac_key";
@@ -103,11 +107,6 @@ public final class OAuthConstants {
public static final String REVOKED_TOKEN_TYPE_HINT = "token_type_hint";
public static final String UNSUPPORTED_TOKEN_TYPE = "unsupported_token_type";
- // CXF-Specific parameters
- public static final String ACCESS_TOKEN_ISSUED_AT = "issued_at";
- // End Of CXF-Specific
-
-
private OAuthConstants() {
}