728x90
JWT 추가
아래의 내용이 모두 포함되어 있습니다.
의존성 추가
implementation 'io.jsonwebtoken:jjwt:0.9.1'
- jwt 추가
implementation 'javax.xml.bind:jaxb-api:2.3.1'
- javax.xml.bind.DatatypeConverter 에러방지
JwtUtil 클래스 추가
@Slf4j
public class JwtUtil {
public static String createJwt(String userName, String secretKey, Long expiredMs) {
Claims claims = Jwts.claims();
claims.put("userName", userName);
return Jwts.builder()
.setClaims(claims)
.setIssuedAt(new Date(System.currentTimeMillis()))
.setExpiration(new Date(System.currentTimeMillis() + expiredMs))
.signWith(SignatureAlgorithm.HS256, secretKey)
.compact();
}
}
yml에 token 추가
jwt:
secret: secretKey
환경변수에 추가
yml에 설정한
jwt:
secret:
양식에 맞춰 환경 변수 이름에 JWT_SECRET를 입력하고 value에는 복잡한 값을 넣어줍니다.
value의 길이가 짧을경우 에러가 발생할 수 있으므로 충분히 긴 값을 입력해주시면 됩니다.
token을 발급 받을 곳에 secret key, expireTimeMs 추가
public class UserService {
...
@Value("${jwt.secret}")
private String secretKey;
private long expireTimeMs = 1000 * 60 * 60;
...
}
반응형
'프로젝트 > Archive' 카테고리의 다른 글
[02] 로그인 기능 만들기 - 2 (0) | 2022.12.21 |
---|---|
[02] 로그인 기능 만들기 - 1 (1) | 2022.12.21 |
[01] 회원가입 기능 만들기 - 1 (0) | 2022.12.21 |
[01] 회원가입 기능 만들기 - 0 (1) | 2022.12.21 |
[스프링 부트 쇼핑몰 프로젝트 with jpa] Thymeleaf 소개 (0) | 2022.10.06 |