Cute Light Pink Flying Butterfly Cookie와 로그인 :: 브라우저를 닫아도 로그인 유지시키기 :: 놀면서 돈벌기
본문 바로가기
  • 놀면서 돈벌기
log./developer

Cookie와 로그인 :: 브라우저를 닫아도 로그인 유지시키기

by 왓츠뉴 whatsnew 2024. 11. 15.
반응형

처음 개발을 공부할 때

팀 프로젝트를 진행하게 되면

필수로 경험하게 되는 백엔드 개발이 있다.

 

게시판, 회원가입, 로그인... 등등

 

그 중에서도 내가 가장 겁내고 피했던 개발이 '로그인' 이었는데..

DB를 조회해서 아이디 비밀번호를 대조하고, 로그인 시키는 것 자체는 간단하지만

로그인에 엮여있는

쿠키.세션과 같은 설정개발이 당시에는 너무 어려웠고

개념자체도 제대로 들어오지 않아서.. 피하기만 했었는데

 

이번에 회사 업무로 jwt 토큰을 관리하게 되면서

로그인, 로그아웃 시 사용자별 jwt 유저토큰을 쿠키에 저장하고

이어서 헤더에 쿠키를 넣었다, 뺐다, 숨겼다

이러한 업무들을 하게되었다

 

개발이 늘 그렇듯이

하기전에는 두렵고 무섭지만

한 번 활용하고나면 준전문가가 되는데

뭐 대부분의 개발을 팀원분인 프론트엔드 개발자분의 도움으로

구현하긴 했지만 (구글링해서 찾아주신 코드를 복붙해서 빌드한 정도..)

 

저기 체크된 '로그인 기억'도 프론트 개발자분이 아이디어를 내주신 부분인데

 

우리 시스템에서는 사용자 액세스토큰의

(jwt 토큰은 액세스, 리프레시 두가지가 있는데 액세스가 로그인용,

리프레시가 액세스가 만료되었을때 재발급 용이라고 생각하면 됨)의 만료시간이 30분이여서

 

로그아웃을 클릭하기 전까지는 로그인이 풀리지않게

쿠키로 기능을 추가한 것!!

 

저 체크박스를 체크하고 로그인 버튼을 클릭하면

 true가 같이 요청값으로 넘어가고, 로그인할 때 true값이 들어와있으면

쿠키 만료시간을 7일로 연장해주는 기능을 백엔드에서 구현했다.

 

(로직)

체크박스를 선택하고 로그인

-> 로그아웃을 클릭하지 않고, 그냥 브라우저 창을 닫음

-> 웹사이트로 재접속했을때 그대로 로그인 되어있음

 

헤더의 쿠키에 담겨있는 로그인한 사용자의 토큰이 그대~로 7일간 유지되고 있기 때문

 

쿠키(Cookie)라고 이름 지어진 자체가,

쿠키 부스러기를 연상해서.. 발자국을 남긴다.. 뭐 이런뜻인데

그래서 사용자의 정보가 발자국처럼 웹사이트에 남아있는것이기 때문에

개발자는 이러한 발자국을 남게할수도, 남지않게 지워버릴 수도 있음

(사실, 지우는 기능은 쿠키설정에 존재하지않아서, 쿠키 만료시간을 0으로 강제 설정하여 삭제)

 

쿠키도 한 번 다뤄보니 설정하는 방법이 크게 어렵지 않아서..

앞으로 로그인이나 유저 정보 관련해서 구현할 때

빠뜨리지않고 검토해 봐야겠다.!

728x90
반응형