Coding History/Team Project

팀플) 디테일 수정 사항

BlackBirdIT 2024. 12. 5. 16:22

프론트

  • useUserLoction 함수 수정
  • 날씨 데이터 새로고침 문제 해결
  • 유저 위치 저장, 수정 로직 이슈 해결

백엔드

  • 위치 삭제시 만약 즐겨찾기라면 초기화 로직 구현

자잘한 문제가 발견될 때 마다 재깍재깍 수정중.


아 그리고 첫 로그인 사용자에 대한 처리가 있으면 좋겠다는 생각이 들어서 어떻게 구현할지 고민을 좀 해봤는데 첫 로그인이라면 JWT에 뭐 new customer 같은 값을 태워 보내주면 되지 않을까라는 생각을 함.

하는김에 이상하게 userId 태워보내던거 제대로 JWT 토큰에 추가함.


첫 로그인 사용자에 대한 처리 함.

이렇게 하고 기존 사용자에 대한 알람도 처리함.

어떻게 했냐면 JWT에 isNewUser라는 참 거짓 하나 추가해서 첫 로그인인지 아닌지 판별하게끔 했음.

여기 보면 이게 트루라서 작동한거.


그리고 가만 생각해보니까 로그아웃 하지 않고 브라우저를 끈 경우에, 다시 사이트 접속시 엑세스 토큰은 없고 리프레시 토큰은 redis에 존재할텐데 이런 경우 대비를 해놓지 않아서 다시 로그인 해야되는 상황이 옴.

그래서 기존initializeAuth의 로직에 이에 대한 조건을 추가하고 기존의 스토리지에 리프레시 토큰을 저장하던 것들은 전부 지워버림.

테스트에서 rediskey 가 일치 하지 않는 이슈가 있었는데 수정해서

이렇게 완료함.

백엔드 로그는 이럼

프론트에서의 요청 방식은 먼저 만료된 엑세스 키를 디코딩하고 userId 값을 헤더에 태워 보내는데, 만료된 엑세스 키도 없으면 스토리지에 저장한 userId를 사용해서 요청을 보냄. 이것마저도 없으면 재로그인 해야되는 식으로.


그럼 이제 엑세스 토큰 관리를 스토리지로 하지 말고 쿠키로 해야겠지..?

이건 다음 포스팅으로.