diff --git a/json-web-token/src/test/java/kr/pe/elex/examples/SampleTest.java b/json-web-token/src/test/java/kr/pe/elex/examples/SampleTest.java index ae7e690..60f8dc1 100644 --- a/json-web-token/src/test/java/kr/pe/elex/examples/SampleTest.java +++ b/json-web-token/src/test/java/kr/pe/elex/examples/SampleTest.java @@ -7,9 +7,17 @@ package kr.pe.elex.examples; +import io.jsonwebtoken.Header; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.security.Keys; import org.junit.jupiter.api.Test; +import java.security.Key; +import java.time.Instant; +import java.time.temporal.ChronoUnit; import java.util.Base64; +import java.util.Date; +import java.util.Random; import static org.junit.jupiter.api.Assertions.*; @@ -17,6 +25,22 @@ class SampleTest { @Test void test(){ - System.out.println(new String()); + byte[] key = new byte[32]; + new Random().nextBytes(key); + final Key signingKey = Keys.hmacShaKeyFor(key); + String jwt = Jwts.builder() + .setHeaderParam(Header.TYPE, Header.JWT_TYPE) + .setIssuer("Elex") + .setExpiration(Date.from(Instant.now().plus(3, ChronoUnit.HOURS))) + .claim("userId", 3) + .signWith(signingKey) + .compact(); + System.out.println(jwt); + String issuer = Jwts.parserBuilder() + .setSigningKey(signingKey) + //.requireIssuer("Elex") // 토큰의 Issuer 일치 여부 확인 + .build() + .parseClaimsJws(jwt).getBody().getIssuer(); + System.out.println(issuer); } }