문제 사항
jwt를 활용한 로그인 개발을 진행 중인데, 위와 같은 에러가 발생했다.
원인 분석
이 에러는 특별히 어려운 점은 없다. 에러 구문을 그대로 읽어보면, secret key가 너무 짧기 때문이라고 한다.
따라서, jwt secret key를 길게 설정해주면 끝난다.
해결 방법
평문 -> Base64 변환
기존엔 평문을 Jasypt로 변환시켜서 넣어놨는데, 이 평문이 너무 짧아서였다. 해당 포스트에 따르면, 키의 길이는 최소 512bits(약 64글자)로 설정해놓는 것을 권장하고 있다.
에러 해결하는 김에 2중 암호화를 하는게 더 좋을 것 같아서 base64로 한번 감싸기로 했다.
https://www.convertstring.com/ko/EncodeDecode/Base64Encode
Base64로 인코딩 - 온라인 Base64로 인코더
www.convertstring.com
여기서 평문을 base64로 변경해주자.
Base64 -> Jasypt 변환
Jasypt에 대한 설명은 이미 다른 블로그에 더 자세하고 친절하게 나와있으니 참고하자.
public한 공간에 올려도 안전하도록 암호화된 문구로 설정해주는 아주 좋은 암호화 도구다.
https://velog.io/@jinny-l/spring-jasypt-encrypt-yml-and-store-encryption-key-as-environment-variable
[Spring] Jasypt로 yml 파일 암호화 및 암호화 키를 환경변수로 저장하는 방법
💬 들어가기 전에 팀 프로젝트를 하면서 협업을 하면서 관리해야 하는 yml 파일이 늘어나며 yml 파일 관리의 필요성과 중요성을 느꼈다. 지금까지 코드스쿼드 팀 미션을 4번 진행하면서 yml 파일
velog.io
키값을 요렇게 바꿔줬다.
그리고 실행해보면..