SpringBoot3+Jwt+Redis的Token有效性检查以及自动续期的实现
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
public class TokenService {
@Autowired
private StringRedisTemplate redisTemplate;
// 检查Token是否有效
public boolean checkToken(String token) {
// 从Redis获取Token对应的用户ID
String userId = redisTemplate.opsForValue().get(token);
return userId != null && !userId.isEmpty();
}
// 更新Token的有效期
@Transactional
public void updateToken(String token, String userId) {
// 假设token有效时长为30天,这里需要设置相应的过期时间
redisTemplate.opsForValue().set(token, userId, 30, TimeUnit.DAYS);
}
}
这个简化版的代码示例展示了如何在Spring Boot应用中使用Redis来检查Token的有效性以及如何在Token即将过期时自动更新它的有效期。在实际应用中,你需要根据具体的业务逻辑来调整Token的过期时长和更新策略。
评论已关闭