221210 어드민 서비스 각 단계에 access token 적용하기

샨티(shanti)·2022년 12월 10일
0

하루를 마무리 하기 전, 오늘 있었던 일들을 잔잔히 되짚어봅니다.
성공과 실패의 모든 요소에서 '배울 점'을 찾아내어 기록하고,
더 성장하는 내일의 나를 위해 'action plan'을 세웁니다.

실질적으로 오늘 모든 기능구현 및 보완을 마무리지어야 하지만 역시나 할 일은 많고 청구서는 계속 날아오는 중 ㅎㅎ.
일정이 너무 촉박해서 적용할지 말지 꽤 오랜 시간 고민하다가..
그래도 '어드민'이라는 서비스 특성을 살리기 위해 반드시 필요하다고 생각했던 'access token'을 어드민 서비스단에 적용했다.
솔직히 시간이 그리 오래 걸리지 않을거라 생각하고 시작했는데 나의 크나큰 착각이었다.
정말 아침 일찍부터 시작했는데 오후 3시가 넘어서야 끝났던 이 작업.
오늘 access token을 적용하면서 아직 access token에 대한 이해도가 낮고 또 각 컴포넌트, 페이지 단, service 단에서 어떻게 불러와주고 어디서 넣어줘야 하는지를 잘 모르고 있다는 점을 알았다.
매번 헷갈리는데... 작은 프로그램들을 자주 만들어보면서 좀 더 이해도를 높여가야 겠다고 다시한번 생각했다.

우선 access token이 정상적으로 발급되지 않은 상태로 url을 직접 입력하여 접속을 시도할 경우 아래와 같은 화면이 뜨도록 모두 처리해두었다.

구현하는데 시간이 오래 걸렸던 이유를 복기해보니 @RequestAttribute를 통해 중간에 낚아채는(ㅎㅎ?) 과정을 잘 이해하지 못하고 있었기 때문이다.

물론 각 페이지 단에서 처음 렌더링 될 때 어떤 요소들을 불러와주는지에 따라 다르긴 하지만, access token이 없이 url 주소 입력으로 직접 접근을 시도할 경우
@RequestAttribute로 들어가는 socialLoginId(jwt를 통해 변환해 줄 원 리소스)이 없어서 에러가 발생한다.
이 에러는 다른 에러들(예. fetch 시 필요한 user id 값이 없어서 발생하는 exception)보다 먼저 발생한다.
근데 그 흐름을 이해하지 못하고 계속 단순 예외 상황만 처리해주려고 하다 보니 결국 시간이 많이 소요되었고
다 구현했다고 생각했는데 생각지 않은 authentication error가 발생하여 또다시 수정에 수정을 거듭하고...

전체 흐름을 알지 못한 채 다짜고짜 리팩터링에 들어가니 그만큼 인지자원 뿐만 아니라 시간도 많이 소요되는 경험을 했다.
그렇다고 한 번 시작한 일을 증간에 무를수도 없고. 진퇴양난의 시간을 보낸듯 ㅠㅠ.

어쨌든 서비스의 모든 세부 정보들에 접근할 수 있는 admin 기능에 최소한의 보안장치를 적용해두니 마음이 좀 낫긴 하다.
오늘 이 경험을 통해 배운점이 있다면
(1) 촉박한 시간 속에서 업무를 할 때는 투입 예상 시간과 자원을 최대한 근사치로 예상하고,
(2) 예상보다 실제 자원/시간 투입량이 커지는 시점에서 플랜을 재점검 해야한다는 점이다.

아직도 내 업무 가능 범위와 자원 소요분을 예상하는 것이 쉽지는 않다.
결국 개발과 마찬가지로 어느정도의 오차와 실수를 거듭하면서 평균치를 만들어가야 하지 않을까.
결국 많이 해 봐야 그만큼 실제값에 근사한 평균치가 나타날 것이니..!!! 주눅들지 말고 가장 안전한 지금 이 때에 더욱더 실수하고 배워나가자.

profile
가벼운 사진, 그렇지 못한 글

0개의 댓글