
1. JwtUtil 클래스 만들기
- 내가 생성하고 검증할 것이기에 RSA할 필요 없음
- SIGN은 나중에 환경변수(OS변수)로 사용해야 함
package shop.mtcoding.blog._core.utils;
import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import shop.mtcoding.blog.user.User;
import java.util.Date;
public class JwtUtil {
// 토큰 생성
public static String create(User user){ // user 객체가 필요함
String jwt = JWT.create()
.withSubject("blog")
.withExpiresAt(new Date(System.currentTimeMillis() + 1000L * 60L * 60L))
.withClaim("id", user.getId())
.withClaim("username", user.getUsername())
.sign(Algorithm.HMAC512("metacoding")); // 나중에 환경변수(OS변수)로 사용해야 함
return jwt;
}
// 토큰 검증
public static void verify(){
}
}
- test 해보기
env: // 바껴도 됨
java_home: ${JAVA_HOME}

package shop.mtcoding.blog._core.utils;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import shop.mtcoding.blog.user.User;
@DataJpaTest
public class JwtUtilTest {
@Test
public void create_test() {
//given
User user = User. builder ()
.id(1)
.username("ssar")
.build();
//when
String jwt = JwtUtil . create (user);
System.out.println("jwt: " + jwt);
}
}
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJibG9nIiwiaWQiOjEsImV4cCI6MTcxMjAzODcwMSwidXNlcm5hbWUiOiJzc2FyIn0.VGGXfy8W0x0wuQ8Yz1IT7tqG9efxTm-v_Uw-h4QiiG1OshXZ-PLtRSVWREO9n6JUtVpONyuG4Hmkfmj_mMzLEQ


Share article