mirror of
https://github.com/hs-web/hsweb-framework.git
synced 2026-06-04 03:43:14 +08:00
修复oauth2 token 无法更新缓存的问题
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user