전체 글(9)
-
JWT 에 대한 궁금증 해결
이 글은 JWT의 내부 구조, 동작 원리를 떠나서 처음 접했을 때 내가 들었던 궁금증에 관한 글이다. 꼭 JWT 가 아니라 토큰 방식에 대한 궁금증이라고 할 수 있다. JWT 를 학습하면서 여러 의문이 들었다. 이게 왜 안전하지? 토큰을 서버가 아닌 클라이언트에서 관리한다면 탈취하면 끝 아닌가? 만들어진 토큰을 사이트에서 디코딩하면 내용이 다 나오는가 아닌가? 토큰을 클라이언트가 가지고 있으면 이게 사용자인지 어떻게 알지? 이런 의문에 자문자답하는 시간을 가져보겠다. 우선 인증과 인가는 글을 이해하는 데 도움을 줄 수 있는 내용이다. 잘 몰랐던 내용이라 함께 정리한다. 인증과 인가 인증은 사용자의 신원을 확인하는 프로세스이다. 예를 들어, 내가 신분증을 제출할 때나 전화로 이름, 거주지, 주민등록번호 앞..
2022.08.09 -
SpringBoot 테스트 DB가 초기화되지 않는다.
문제 BDD의 Describe-Context-It 패턴을 이용해 테스트 코드를 작성하는 중이었다. 하지만 로직과 관련되지 않은 문제가 발생했다. 아래 사진은 문제를 발생시키는 테스트 코드이다. 이 코드가 통과되는 지 알아보자. 위 테스트 코드와 함께 보면 난 테스트 결과로 id가 1인 경우를 기대하고 있었으나 실제로 생성된 id는 6이라서 테스트가 실패했다는 것이다. 현재 deleteAll 메서드로 매 테스트마다 초기화를 해주고 있지만 auto_increment 는 초기화 되지 않는 것을 확인할 수 있다. 해결 이 문제를 해결하기 위해 다음 블로그를 참고했다. 참고 블로그 블로그의 내용을 보면 두 가지 방법이 있었다. @Sql을 사용하는 방법과 auto_increment를 신경쓰지 않도록 테스트 코드를 ..
2022.07.31 -
TypeReference
시작점 Jackson 라이브러리의 ObjectMapper를 이용해 Json을 변환하는 작업을 하고 있었다. HashMap hashMap = objectMapper.readValue("{\"title\": \"BJP\"}", HashMap.class); Json을 HashMap으로 변환하는 중 아래와 같은 경고 메시지가 나왔다. 현재 HashMap의 타입이 내가 명시한 String인지 확인이 되지 않았다는 것이다. HashMap.class 로 변환했기에 당연한 결과이기도 하다. 실행 결과에도 unchecked or unsafe라는 경고문이 나타난다. 해결 방법 이것을 해결하기 위한 방법은 아래와 같다. TypeReference typeReference = new TypeReference() {}; 이렇게 ..
2022.07.11