Skip to content

Commit 2f6b1ca

Browse files
committed
Moved TextCodec.BASE64.decode calls into service. Refactored method names to drive home that you're getting bytes back.
1 parent 6bd3b38 commit 2f6b1ca

7 files changed

Lines changed: 19 additions & 23 deletions

File tree

jjwt/src/main/java/io/jsonwebtoken/jjwtfun/config/CSRFConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ public class CSRFConfig {
1616
@Bean
1717
@ConditionalOnMissingBean
1818
public CsrfTokenRepository jwtCsrfTokenRepository() {
19-
return new JWTCsrfTokenRepository(secretService.getHS256Secret());
19+
return new JWTCsrfTokenRepository(secretService.getHS256SecretBytes());
2020
}
2121
}

jjwt/src/main/java/io/jsonwebtoken/jjwtfun/config/JWTCsrfTokenRepository.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import io.jsonwebtoken.Jwts;
44
import io.jsonwebtoken.SignatureAlgorithm;
5-
import io.jsonwebtoken.impl.TextCodec;
65
import org.slf4j.Logger;
76
import org.slf4j.LoggerFactory;
87
import org.springframework.security.web.csrf.CsrfToken;
@@ -22,8 +21,8 @@ public class JWTCsrfTokenRepository implements CsrfTokenRepository {
2221
private static final Logger log = LoggerFactory.getLogger(JWTCsrfTokenRepository.class);
2322
private byte[] secret;
2423

25-
public JWTCsrfTokenRepository(String base64Secret) {
26-
this.secret = TextCodec.BASE64.decode(base64Secret);
24+
public JWTCsrfTokenRepository(byte[] secret) {
25+
this.secret = secret;
2726
}
2827

2928
@Override

jjwt/src/main/java/io/jsonwebtoken/jjwtfun/config/WebSecurityConfig.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22

33
import io.jsonwebtoken.JwtException;
44
import io.jsonwebtoken.Jwts;
5-
import io.jsonwebtoken.impl.TextCodec;
65
import io.jsonwebtoken.jjwtfun.service.SecretService;
76
import org.springframework.beans.factory.annotation.Autowired;
8-
import org.springframework.beans.factory.annotation.Value;
97
import org.springframework.context.annotation.Configuration;
108
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
119
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

jjwt/src/main/java/io/jsonwebtoken/jjwtfun/controller/DynamicJWTController.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public JwtResponse dynamicBuilderGeneric(@RequestBody Map<String, Object> claims
3131
.setClaims(claims)
3232
.signWith(
3333
SignatureAlgorithm.HS256,
34-
secretService.getHS256Secret()
34+
secretService.getHS256SecretBytes()
3535
)
3636
.compact();
3737
return new JwtResponse(jws);
@@ -44,7 +44,7 @@ public JwtResponse dynamicBuildercompress(@RequestBody Map<String, Object> claim
4444
.compressWith(CompressionCodecs.DEFLATE)
4545
.signWith(
4646
SignatureAlgorithm.HS256,
47-
secretService.getHS256Secret()
47+
secretService.getHS256SecretBytes()
4848
)
4949
.compact();
5050
return new JwtResponse(jws);
@@ -89,7 +89,7 @@ public JwtResponse dynamicBuilderSpecific(@RequestBody Map<String, Object> claim
8989
}
9090
});
9191

92-
builder.signWith(SignatureAlgorithm.HS256, secretService.getHS256Secret());
92+
builder.signWith(SignatureAlgorithm.HS256, secretService.getHS256SecretBytes());
9393

9494
return new JwtResponse(builder.compact());
9595
}

jjwt/src/main/java/io/jsonwebtoken/jjwtfun/controller/StaticJWTController.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import io.jsonwebtoken.Jws;
55
import io.jsonwebtoken.Jwts;
66
import io.jsonwebtoken.SignatureAlgorithm;
7-
import io.jsonwebtoken.impl.TextCodec;
87
import io.jsonwebtoken.jjwtfun.model.JwtResponse;
98
import io.jsonwebtoken.jjwtfun.service.SecretService;
109
import org.springframework.beans.factory.annotation.Autowired;
@@ -35,7 +34,7 @@ public JwtResponse fixedBuilder() throws UnsupportedEncodingException {
3534
.setExpiration(Date.from(Instant.ofEpochSecond(4622470422L))) // Sat Jun 24 2116 15:33:42 GMT-0400 (EDT)
3635
.signWith(
3736
SignatureAlgorithm.HS256,
38-
TextCodec.BASE64.decode(secretService.getHS256Secret())
37+
secretService.getHS256SecretBytes()
3938
)
4039
.compact();
4140

jjwt/src/main/java/io/jsonwebtoken/jjwtfun/service/SecretService.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,23 @@ public Map<String, String> getSecrets() {
4242

4343
public void setSecrets(Map<String, String> secrets) {
4444
Assert.notNull(secrets);
45-
Assert.isTrue(secrets.get(SignatureAlgorithm.HS256.getValue()) != null);
46-
Assert.isTrue(secrets.get(SignatureAlgorithm.HS384.getValue()) != null);
47-
Assert.isTrue(secrets.get(SignatureAlgorithm.HS512.getValue()) != null);
45+
Assert.hasText(secrets.get(SignatureAlgorithm.HS256.getValue()));
46+
Assert.hasText(secrets.get(SignatureAlgorithm.HS384.getValue()));
47+
Assert.hasText(secrets.get(SignatureAlgorithm.HS512.getValue()));
4848

4949
this.secrets = secrets;
5050
}
5151

52-
public String getHS256Secret() {
53-
return secrets.get(SignatureAlgorithm.HS256.getValue());
52+
public byte[] getHS256SecretBytes() {
53+
return TextCodec.BASE64.decode(secrets.get(SignatureAlgorithm.HS256.getValue()));
5454
}
5555

56-
public String getHS384Secret() {
57-
return secrets.get(SignatureAlgorithm.HS384.getValue());
56+
public byte[] getHS384SecretBytes() {
57+
return TextCodec.BASE64.decode(secrets.get(SignatureAlgorithm.HS384.getValue()));
5858
}
5959

60-
public String getHS512Secret() {
61-
return secrets.get(SignatureAlgorithm.HS512.getValue());
60+
public byte[] getHS512SecretBytes() {
61+
return TextCodec.BASE64.decode(secrets.get(SignatureAlgorithm.HS384.getValue()));
6262
}
6363

6464

jjwt/src/test/java/io/jsonwebtoken/jjwtfun/DemoApplicationTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
@WebAppConfiguration
1212
public class DemoApplicationTests {
1313

14-
@Test
15-
public void contextLoads() {
16-
}
14+
@Test
15+
public void contextLoads() {
16+
}
1717

1818
}

0 commit comments

Comments
 (0)