This commit is contained in:
Leo
2026-01-15 21:07:53 +08:00
parent 4379277a08
commit c837917be3
2 changed files with 44 additions and 9 deletions

View File

@@ -261,8 +261,33 @@ public class WPS365OAuthServiceImpl implements IWPS365OAuthService {
@Override
public WPS365TokenInfo getCurrentToken() {
// 这里需要根据实际业务获取当前用户ID
// 暂时返回null需要在Controller中处理用户ID获取逻辑
// 尝试查找所有WPS365 token通常只有一个
// 使用Redis的keys命令查找所有匹配的token key
try {
String pattern = TOKEN_KEY_PREFIX + "*";
// 注意keys命令在生产环境可能性能较差但这里token数量通常很少
java.util.Collection<String> keys = redisCache.keys(pattern);
if (keys != null && !keys.isEmpty()) {
// 返回第一个找到的有效token
for (String key : keys) {
WPS365TokenInfo tokenInfo = redisCache.getCacheObject(key);
if (tokenInfo != null && isTokenValid(tokenInfo)) {
log.debug("找到有效的WPS365 token: {}", key);
return tokenInfo;
}
}
// 如果没有有效的token返回第一个即使过期
for (String key : keys) {
WPS365TokenInfo tokenInfo = redisCache.getCacheObject(key);
if (tokenInfo != null) {
log.debug("找到WPS365 token可能已过期: {}", key);
return tokenInfo;
}
}
}
} catch (Exception e) {
log.warn("查找WPS365 token失败", e);
}
return null;
}