오늘은 바로 즐거운 토요일~ 따위는 없고 그저 코딩하는 날이다.
허허 쉬는 날이라고 생각... 하기보다는 집에서 편안하게 하는 날이라고 슬슬 느끼는 시점이다.
뭐 이러저러 말은 하지만 오늘은 그래도 주어진 과제를 하며 평소보다 널널 한 시점에서 코드를 작성했다... 정도로 생각한다. 그러려니 하는 거지만 처음 토요일에 견디지 못하고 아무것도 못하던 것에 비하면 양반이라고 스스로 발전했다며 나름 대로의 자기 발전을 이뤄냈다고 느낀 하루였다.
일단은 그렇긴 하지만 오늘은 과제를 하면서 jwt 토큰을 이용하는 것에 대하여 많은 고민을 한 것 같다. 처음으로 과제가 토큰을 중심으로 인증과 인가가 이뤄지는 것을 통해 그 결과가 유지되며 다른 부차적인 액션을 취하는 것이 가능한 것과 인증된 것과 아닌 것에 대한 결괏값의 차이에 대하여 알아보는 과제였다.
그렇게 느낀 이 과제의 중심점은 다음과 같다.
1. 데이터 칼럼에 조건을 걸어 아이디, 비밀번호에 대한 제한 걸기.
2. 로그인 시 토큰을 생성하고 토큰을 쿠키에 넣어 유지시키기.
3. 그 인가 결과를 통해 인가 된 이후 여러 가지 액션 취하기 ( 메모 프로그램을 통해 액션 일으키기 )
4. 쿠키의 데이터를 활용하여 요청받은 데이터와 대조 가능한지 알아보기
이런 방식인데 내가 가장 힘들었던 것은 토큰에 대한 이해였다. 토큰은 생성 시마다 값이 달라지는 것으로 알고 있는데, 반대로 이 과제의 요구조건이 토큰 값을 비교하여 일치하는지 안 하는지 결정하는 값이라고 생각했다. 하지만 그런 방식으로는 데이터의 수정과 삭제가 불가능하다는 것을 알았다. 즉, 인가받은 상태를 유지하면서 값을 연동시켜 이어나가는 것이 중요하다는 것을 한 참이야 있다 생각나서 라는 점이 슬펐다....
일단은 위와 같은 토큰을 비교하는 방식으로 시도하다가 머리로 아무리 생각해도 이상하여 아침부터 고민하다가 저녁이야 돼서 이해하여 저녁에야 수정하고 블로그를 작성하는 하였다.
현재 백엔드 spring을 공부하며 느끼는 것은 가장 중요한 것이 데이터의 흐름을 이해하는 것이라고 생각한다. 즉, 지금같은 경우도 토큰에 대한 이해가 부족했기 때문에 일어난 현상으로 머리로만 생각하는 것보다 좀 더 생각해 보는 것이 좋을 것이라 느꼈다.