12개의 프로젝트 일지를 작성해 가면서, 기초적인 앱 구동 설계가 얼추 완료되었다.
해당 내용들을 복기하면서, 보안 상 놓친 부분을 다시 수정하였다.
OAuth2 인증 유저도, 인증 객체로써 판별되기 때문에, 글 작성 요청을 보낼 수 있다. 물론 서비스 내부에서 회원인지 감별하는 로직이 있어 문제는 없겠지만, 서비스 로직을 수행하지 않고, 컨트롤러 단에서 쳐낼 수 있도록 아래와 같이 수정하였다.
// Controller의 파라미터를 다음과 같이 변경
Authentication authentication
-> UsernamePasswordAuthenticationToken authentication
물론, 글 조회 등 OAuth2 유저가 접근해도 괜찮은 부분들은 Authentication을 그대로 작성하여 두 타입 모두 받을 수 있게 하였다. 위 변경 사항은 아래의 로직에 적용하였다.
좀 구체적인 파라미터를 적어두게 된 것이어서, 좋은 선택인지는 당장 알 수 없다. 이런 부분도 항상 고민해보면 좋을 듯 하다.
앞으로 더 해야할 것들은 다음과 같다.
IllegalStateException
따로 처리해줘야 한다.(인증 유저가 다를 때 발생)먼저 예외 처리부터 시작해보자.