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 2016/04/06 17:28:01 UTC
cxf git commit: Some cleanup around saving refresh tokens
Repository: cxf
Updated Branches:
refs/heads/master 075b4f205 -> f4bc11621
Some cleanup around saving refresh tokens
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/f4bc1162
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/f4bc1162
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/f4bc1162
Branch: refs/heads/master
Commit: f4bc1162145e0aa5d87bc0c3e04fb74a70df080e
Parents: 075b4f2
Author: Sergey Beryozkin <sb...@gmail.com>
Authored: Wed Apr 6 16:27:45 2016 +0100
Committer: Sergey Beryozkin <sb...@gmail.com>
Committed: Wed Apr 6 16:27:45 2016 +0100
----------------------------------------------------------------------
.../oauth2/provider/AbstractOAuthDataProvider.java | 17 +++++++++--------
.../provider/DefaultEHCacheOAuthDataProvider.java | 2 +-
.../DefaultEncryptingOAuthDataProvider.java | 10 +++++-----
.../oauth2/provider/JPAOAuthDataProvider.java | 2 +-
4 files changed, 16 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/f4bc1162/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/AbstractOAuthDataProvider.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/AbstractOAuthDataProvider.java b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/AbstractOAuthDataProvider.java
index c971985..1a312f6 100644
--- a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/AbstractOAuthDataProvider.java
+++ b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/AbstractOAuthDataProvider.java
@@ -131,7 +131,7 @@ public abstract class AbstractOAuthDataProvider implements OAuthDataProvider, Cl
if (rt.getAccessTokens().isEmpty()) {
revokeRefreshToken(rt.getTokenKey());
} else {
- saveRefreshToken(null, rt);
+ saveRefreshToken(rt);
}
}
@@ -215,14 +215,14 @@ public abstract class AbstractOAuthDataProvider implements OAuthDataProvider, Cl
}
protected RefreshToken updateRefreshToken(RefreshToken rt, ServerAccessToken at) {
- linkRefreshAccessTokens(rt, at);
- saveRefreshToken(at, rt);
+ linkAccessTokenToRefreshToken(rt, at);
+ saveRefreshToken(rt);
+ linkRefreshTokenToAccessToken(rt, at);
return rt;
}
protected RefreshToken createNewRefreshToken(ServerAccessToken at) {
RefreshToken rt = doCreateNewRefreshToken(at);
- saveRefreshToken(at, rt);
- return rt;
+ return updateRefreshToken(rt, at);
}
protected RefreshToken doCreateNewRefreshToken(ServerAccessToken at) {
RefreshToken rt = new RefreshToken(at.getClient(), refreshTokenLifetime);
@@ -239,12 +239,13 @@ public abstract class AbstractOAuthDataProvider implements OAuthDataProvider, Cl
}
rt.setSubject(at.getSubject());
rt.setClientCodeVerifier(at.getClientCodeVerifier());
- linkRefreshAccessTokens(rt, at);
return rt;
}
- private void linkRefreshAccessTokens(RefreshToken rt, ServerAccessToken at) {
+ protected void linkAccessTokenToRefreshToken(RefreshToken rt, ServerAccessToken at) {
rt.getAccessTokens().add(at.getTokenKey());
+ }
+ protected void linkRefreshTokenToAccessToken(RefreshToken rt, ServerAccessToken at) {
at.setRefreshToken(rt.getTokenKey());
}
@@ -351,7 +352,7 @@ public abstract class AbstractOAuthDataProvider implements OAuthDataProvider, Cl
protected abstract void saveAccessToken(ServerAccessToken serverToken);
- protected abstract void saveRefreshToken(ServerAccessToken at, RefreshToken refreshToken);
+ protected abstract void saveRefreshToken(RefreshToken refreshToken);
protected abstract void doRevokeAccessToken(ServerAccessToken accessToken);
protected abstract void doRevokeRefreshToken(RefreshToken refreshToken);
protected abstract RefreshToken getRefreshToken(String refreshTokenKey);
http://git-wip-us.apache.org/repos/asf/cxf/blob/f4bc1162/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/DefaultEHCacheOAuthDataProvider.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/DefaultEHCacheOAuthDataProvider.java b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/DefaultEHCacheOAuthDataProvider.java
index c6e65f3..7d376ed 100644
--- a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/DefaultEHCacheOAuthDataProvider.java
+++ b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/DefaultEHCacheOAuthDataProvider.java
@@ -143,7 +143,7 @@ public class DefaultEHCacheOAuthDataProvider extends AbstractOAuthDataProvider {
putCacheValue(accessTokenCache, serverToken.getTokenKey(), serverToken, serverToken.getExpiresIn());
}
- protected void saveRefreshToken(ServerAccessToken at, RefreshToken refreshToken) {
+ protected void saveRefreshToken(RefreshToken refreshToken) {
putCacheValue(refreshTokenCache, refreshToken.getTokenKey(), refreshToken, refreshToken.getExpiresIn());
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/f4bc1162/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/DefaultEncryptingOAuthDataProvider.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/DefaultEncryptingOAuthDataProvider.java b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/DefaultEncryptingOAuthDataProvider.java
index e436aec..02d66d8 100644
--- a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/DefaultEncryptingOAuthDataProvider.java
+++ b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/DefaultEncryptingOAuthDataProvider.java
@@ -39,7 +39,7 @@ import org.apache.cxf.rt.security.crypto.KeyProperties;
public class DefaultEncryptingOAuthDataProvider extends AbstractOAuthDataProvider {
protected SecretKey key;
private Set<String> tokens = Collections.synchronizedSet(new HashSet<String>());
- private ConcurrentHashMap<String, String> refreshTokens = new ConcurrentHashMap<String, String>();
+ private Set<String> refreshTokens = Collections.synchronizedSet(new HashSet<String>());
private ConcurrentHashMap<String, String> clientsMap = new ConcurrentHashMap<String, String>();
public DefaultEncryptingOAuthDataProvider(String algo, int keySize) {
this(new KeyProperties(algo, keySize));
@@ -90,7 +90,7 @@ public class DefaultEncryptingOAuthDataProvider extends AbstractOAuthDataProvide
@Override
public List<RefreshToken> getRefreshTokens(Client c, UserSubject sub) {
List<RefreshToken> list = new ArrayList<RefreshToken>(refreshTokens.size());
- for (String tokenKey : tokens) {
+ for (String tokenKey : refreshTokens) {
RefreshToken token = getRefreshToken(tokenKey);
if (isTokenMatched(token, c, sub)) {
list.add(token);
@@ -118,9 +118,10 @@ public class DefaultEncryptingOAuthDataProvider extends AbstractOAuthDataProvide
}
@Override
- protected void saveRefreshToken(ServerAccessToken at, RefreshToken refreshToken) {
+ protected void saveRefreshToken(RefreshToken refreshToken) {
String encryptedRefreshToken = ModelEncryptionSupport.encryptRefreshToken(refreshToken, key);
- at.setRefreshToken(encryptedRefreshToken);
+ refreshToken.setTokenKey(encryptedRefreshToken);
+ refreshTokens.add(encryptedRefreshToken);
}
@Override
@@ -131,7 +132,6 @@ public class DefaultEncryptingOAuthDataProvider extends AbstractOAuthDataProvide
private void encryptAccessToken(ServerAccessToken token) {
String encryptedToken = ModelEncryptionSupport.encryptAccessToken(token, key);
tokens.add(encryptedToken);
- refreshTokens.put(token.getRefreshToken(), encryptedToken);
token.setTokenKey(encryptedToken);
}
@Override
http://git-wip-us.apache.org/repos/asf/cxf/blob/f4bc1162/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/JPAOAuthDataProvider.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/JPAOAuthDataProvider.java b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/JPAOAuthDataProvider.java
index bc9db23..409fe25 100644
--- a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/JPAOAuthDataProvider.java
+++ b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/JPAOAuthDataProvider.java
@@ -103,7 +103,7 @@ public class JPAOAuthDataProvider extends AbstractOAuthDataProvider {
persistEntity(serverToken);
}
- protected void saveRefreshToken(ServerAccessToken at, RefreshToken refreshToken) {
+ protected void saveRefreshToken(RefreshToken refreshToken) {
persistEntity(refreshToken);
}
protected void persistEntityWithPossibleRollback(Object entity) {