[인증/인가] JJWT JwtBuilder signWith(Key key, SignatureAlgorithm aalg) 메서드 deprecated 관련

Kim Hyen Su·2024년 4월 14일

🔒인증인가

목록 보기
8/9
post-thumbnail

JWT 관련 기능 구현 중 다음과 같이 signWith() 메서드에 deprecated 되었다는 내용의 경고문이 나왔습니다.

해당 내용을 자세하게 확인해보니 다음과 같이 jjwt 0.10.0 버전 이후부터 deprecated 된 것을 확인할 수 있습니다.

deprecated 관련 이유 설명 - stack-overflow

간략하게 요약하면, signWith(SignatureAlgorithm var1, String var2) 메서드의 중단 이유는 원시 문자열과 Base64로 인코딩된 문자열 사이의 혼란 때문입니다.

이로 인해서 개발자들 사이에서 오해가 발생하고, 잘못 사용하게 되는 사례를 방지하고자 deprecated 됐다고 합니다.

결론적으로 권장하는 대체 메서드는 다음과 같습니다.

JwtBuilder signWith(Key key, SignatureAlgorithm aalg)

해당 메서드는 키를 명확하게 구분하고, 보안성을 확실히 높일 수 있게 됩니다.

해당 키를 생성하는 방법은 다음과 같습니다.

SecretKey secretKey = Keys.hamacShaKeyFor(Decoders.BASE64.decode(base64EncodedSecretKey))

해당 메서드를 통해 Base64로 인코딩된 비밀키를 명확하게 처리할 수 있게 됩니다.

profile
백엔드 서버 엔지니어

0개의 댓글