Fact
jwt토큰을 기반으로 하는 인증을 사용해서 로그인 기능을 구현했다.
게시판에 글을 쓰고, 수정하는 기능을 구현했다.
두 기능을 한 페이지에 합쳐서, 로그인 후 글을 쓰면 해당 유저의 글로 저장되도록 하고, 수정,삭제는 본인만 가능하도록 구현했다.
Feeling
java를 배울 때보다 많은 기능을 한 번에 습득해야 해서 조금 정신없었다. 그래도 강의를 기반으로 하나씩 따라가니 흐름 정도는 이해할 수 있었다.
Finding
jwt토큰이 어떤 식으로 동작하는지 알게 되었고, jwt토큰의 경우 토큰 자체에 특정 정보를 포함시킬 수 있어서, 페이지를 이동할 때에 토큰에서 값을 추출해 낼 수 있어서 유용하게 사용했던 것 같다. 하지만 반대로 생각했을 때 복호화가 가능한 토큰을 통해 보안 문제가 발생할 수도 있을 것 같다는 생각도 들었다.
그리고 가입, 게시글 수정,삭제 등과 같은 작업을 수행할 때 백엔드에서 예외를 적절하게 처리하지 못하면 클라이언트에는 500번대 서버 에러 응답이 발생한다는 것을 알게 되었다. 사용자가 양식에 맞지 않는 값을 입력하거나 Null값 등이 발생했을 때, 예외를 적절히 처리해줌으로서 서버 에러가 아닌 400번대 응답을 반환해서 잘못된 값이 입력되었다는 것을 사용자에게 나타낼 수 있어야 한다는 것을 알게 되었다.
또, MVC 패턴을 사용해서 데이터를 가지는 객체와, 그 객체를 가지고 view와 db 사이에서 상호작용하는 controller를 분리해서 작성하는 것이 추후에 기능을 분석하기도 쉽고, 잘못된 부분이 있을 때 빠르게 찾아내서 수정할 수 있었다.
Future
비밀번호를 암호화해서 저장하는 방법을 더 찾아보고, 토큰을 통해 사용자를 인증하는 시스템과 관련된 문제점과 현재 많이 사용되는 방식에 대해 조금 더 깊게 살펴보아야겠다. 그리고 데이터가 오고 가는 과정에서 발생할 수 있는 예외들은 최대한 잘 캐치해주어야겠다.
'스파르타 이노캠 > 본과정' 카테고리의 다른 글
2023. 07. 04 화 - Controller의 return값 (0) | 2023.07.04 |
---|---|
2023. 07. 03 월 - Spring Security의 인증/인가 필터 (0) | 2023.07.04 |
2023. 06. 30 금 - 회원 가입/로그인 페이지 + 게시판 기능 합치기 (0) | 2023.06.30 |
2023. 06. 26 월 - Springboot CRUD 기능 구현 (0) | 2023.06.26 |
2023.06 본 과정 Week02 WIL - 알고리즘 문제 풀이/Spring 강의 (0) | 2023.06.25 |