修复oauth2 token 无法更新缓存的问题

This commit is contained in:
zhouhao
2017-12-25 10:17:24 +08:00
parent 3799880930
commit f7ff919f5c
2 changed files with 14 additions and 6 deletions

View File

@@ -82,15 +82,15 @@ public class SimpleOAuth2SessionBuilder implements OAuth2SessionBuilder {
readWriteLock.writeLock().lock();
AccessTokenInfo tokenInfo = tokenGetter.get();
try {
token.setGrantType(grantType);
token.setServerId(serverConfig.getId());
if (tokenInfo != null) {
token.setId(tokenInfo.getId());
tokenInfo.setUpdateTime(System.currentTimeMillis());
token.setUpdateTime(System.currentTimeMillis());
oAuth2UserTokenRepository.update(tokenInfo.getId(), token);
} else {
token.setGrantType(grantType);
token.setCreateTime(System.currentTimeMillis());
token.setUpdateTime(System.currentTimeMillis());
token.setServerId(serverConfig.getId());
oAuth2UserTokenRepository.insert(token);
}
} finally {
@@ -112,7 +112,7 @@ public class SimpleOAuth2SessionBuilder implements OAuth2SessionBuilder {
}
private Supplier<AccessTokenInfo> tokenGetter = () -> {
private Supplier<AccessTokenInfo> tokenGetter = () -> {
readWriteLock.readLock().lock();
try {
return getClientCredentialsToken();

View File

@@ -87,6 +87,9 @@ public class SimpleOAuth2UserTokenService extends GenericEntityService<OAuth2Use
info.setCreateTime(entity.getCreateTime());
info.setUpdateTime(entity.getUpdateTime());
info.setRefreshToken(entity.getRefreshToken());
info.setServerId(entity.getServerId());
info.setGrantType(entity.getGrantType());
info.setScope(entity.getScope());
return info;
};
}
@@ -97,7 +100,12 @@ public class SimpleOAuth2UserTokenService extends GenericEntityService<OAuth2Use
OAuth2UserTokenEntity entity = entityFactory.newInstance(OAuth2UserTokenEntity.class, info);
entity.setExpiresIn(info.getExpiresIn());
entity.setAccessToken(info.getAccessToken());
entity.setCreateTime(info.getCreateTime());
entity.setUpdateTime(info.getUpdateTime());
entity.setRefreshToken(info.getRefreshToken());
entity.setServerId(info.getServerId());
entity.setGrantType(info.getGrantType());
entity.setScope(info.getScope());
return entity;
};
}
@@ -126,8 +134,8 @@ public class SimpleOAuth2UserTokenService extends GenericEntityService<OAuth2Use
tokenInfo.setId(getIDGenerator().generate());
}
OAuth2UserTokenEntity entity = entityTokenInfoMapping().apply(tokenInfo);
entity.setUpdateTime(System.currentTimeMillis());
entity.setCreateTime(tokenInfo.getCreateTime());
entity.setUpdateTime(tokenInfo.getUpdateTime());
insert(entity);
return tokenInfo;