2023-04-16

This commit is contained in:
2023-04-16 13:50:17 +09:00
parent bd1440e1a5
commit 28cddcb77b

View File

@@ -7,9 +7,17 @@
package kr.pe.elex.examples; 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 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.Base64;
import java.util.Date;
import java.util.Random;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
@@ -17,6 +25,22 @@ class SampleTest {
@Test @Test
void 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);
} }
} }