Skip to content

Commit a87b9d8

Browse files
committed
add #40
1 parent 327e542 commit a87b9d8

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

springboot-starter-security/src/main/java/com/codingapi/springboot/security/jwt/JWTSecurityConfiguration.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import org.springframework.context.annotation.Configuration;
99

1010
@Configuration
11-
@ConditionalOnProperty(prefix = "codingapi.security.jwt", name = "enable", havingValue = "true", matchIfMissing = true)
11+
@ConditionalOnProperty(prefix = "codingapi.security.jwt", name = "enable", havingValue = "true")
1212
public class JWTSecurityConfiguration {
1313

1414

springboot-starter-security/src/main/java/com/codingapi/springboot/security/redis/RedisSecurityConfiguration.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.codingapi.springboot.security.redis;
22

3-
import com.codingapi.springboot.security.gateway.Token;
43
import com.codingapi.springboot.security.gateway.TokenGateway;
54
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
65
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -23,7 +22,7 @@ public SecurityRedisProperties securityRedisProperties() {
2322

2423
@Bean
2524
@ConditionalOnMissingBean
26-
public TokenGateway redisTokenGateway(RedisTemplate<String, Token> redisTemplate, SecurityRedisProperties properties) {
25+
public TokenGateway redisTokenGateway(RedisTemplate<String, String> redisTemplate, SecurityRedisProperties properties) {
2726
return new RedisTokenGatewayImpl(redisTemplate, properties);
2827
}
2928

Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
package com.codingapi.springboot.security.redis;
22

3+
import com.alibaba.fastjson2.JSONObject;
34
import com.codingapi.springboot.security.gateway.Token;
45
import com.codingapi.springboot.security.gateway.TokenGateway;
56
import org.springframework.data.redis.core.RedisTemplate;
67

78
import java.util.List;
89
import java.util.UUID;
10+
import java.util.concurrent.TimeUnit;
911

1012
public class RedisTokenGatewayImpl implements TokenGateway {
1113

12-
private final RedisTemplate<String, Token> redisTemplate;
14+
private final RedisTemplate<String, String> redisTemplate;
1315
private final int validTime;
1416
private final int restTime;
1517

16-
public RedisTokenGatewayImpl(RedisTemplate<String, Token> redisTemplate, SecurityRedisProperties properties) {
18+
public RedisTokenGatewayImpl(RedisTemplate<String, String> redisTemplate, SecurityRedisProperties properties) {
1719
this.redisTemplate = redisTemplate;
1820
this.validTime = properties.getValidTime();
1921
this.restTime = properties.getRestTime();
@@ -24,13 +26,17 @@ public Token create(String username, String iv, List<String> authorities, String
2426
Token token = new Token(username, iv, extra, authorities, validTime, restTime);
2527
String key = String.format("%s:%s", username, UUID.randomUUID().toString().replaceAll("-", ""));
2628
token.setToken(key);
27-
redisTemplate.opsForValue().set(key, token);
29+
redisTemplate.opsForValue().set(key, token.toJson(), validTime, TimeUnit.MILLISECONDS);
2830
return token;
2931
}
3032

3133
@Override
3234
public Token parser(String sign) {
33-
return redisTemplate.opsForValue().get(sign);
35+
String json = redisTemplate.opsForValue().get(sign);
36+
if (json == null) {
37+
return null;
38+
}
39+
return JSONObject.parseObject(json, Token.class);
3440
}
3541

3642
}

0 commit comments

Comments
 (0)