Spring Security 와 Jwt 현재 진행중인 프로젝트는 Spring Security 프레임워크를 토대로 하고 있으며, username/password 기반의 Form 로그인이 아닌 OAuth 2.0을 통해 로그인 처리를 수행한다. 또한, stateless 한 서버를 만들기 위해 Session 을 사용하지 않고 Jwt 를 발급/검증 하여 Authentication 을 하고 있다. 이는 단일 서버로 구동중인 본 프로젝트에서는 불필요한 방식이라고도 볼 수 있으나, 서비스가 커져서 여러개의 서버로 구성되는 상황을 염두에 둔 설계이다. Spring Security + OAuth2.0 + JWT 는 최근 프로젝트에서 꽤 정형화된 패턴의 보안 설계로 보인다. 그런데 그만큼 프레임워크가 많은 부분을 커버하고 ..
전체 글

부끄러운 이야기지만 아직까지 프로젝트의 로그인 처리 로직이 완성되지 못했었다. 나도, 다른 팀원도 전부 로컬환경에서 작업을 하다가 이번에 DB를 바꾸면서 서버 환경에서 다시 로그인 및 회원가입 로직을 시험했었는데 로컬에서는 멀쩡하게 작동하는데 서버에서는 403 에러가 뜨는 것이었다. (앞으로는 잘 사진을 찍어서 남겨야겠다.) 이런 경우 EC2 에 접속해서 에러 로그를 찾아보아야 하나, 아직 에러로그를 어떻게 확인하는 지 잘 모른다. (이전에 Log4j2 설정을 공부하면서 만져보긴 했는데 도무지 로그파일이 어디에 저장되는지 찾아내는 데에 실패해서 약간 포기상태에서 머물고 있는 상태이다.) 그래서 수동으로 서버를 중지하고 다시 켜서 실시간으로 에러 메세지를 확인해보니, Token 이 만료되었다는 메세지를 확..

일주일 넘게 Test Code 작성과 씨름하고 있다 처음부터 잘 만들어진 교육자료로, 예제 하나하나 따라가면서 학습 했으면 이렇게 오래 걸리지 않았을텐데 처음부터 다 따라 하기에는 프로젝트에 당장 적용해야하니 마음은 급하지 사실 좀 그럴듯한 강의는 죄다 영어로 되어서 중간 중간 띄엄띄엄 속성으로 학습하는 것도 무리였다 (역시 내 깜냥으로 프로젝트에 뛰어드는게 아니었다는 생각이 또 한번 느껴지는 순간이었다) 몇번의 좌절의 순간을 겪다가 오늘 또 2시간 정도의 시간을 잡아먹은 대목이 있었는데 간단히 해결되어서 남겨둔다. 문제는 Controller 테스트 시 mockMvc의 permform 메서드를 통해 Controller 와 요청과 응답을 주고 받는데, Get 요청에서는 응답을 잘 받아오더니 Put, Pat..