발표 피드백
음식점이 카테고리를 여러개 가질수있으므로 다대다 관계로 변경
주문보기 시간순정렬, 주문상태별로 주문완료끼리/미완료끼리 볼수있게 새로운기능 구현 해보기
httponly true로 하고 기능구현하는게 좋다
미들웨어 코드 분석
라이브러리 및 환경 변수 로드
generateAccessToken(payload): 주어진 페이로드를 사용해 액세스 토큰을 생성
액세스 토큰은 1시간동안 유효
generateRefreshToken(payload): 주어진 페이로드를 사용해 리프레시 토큰 생성
7일 동안 유효
refreshTokenPair(res, payload): 액세스 토큰 및 리프레시 토큰 쌍을 새로 생성하고, 생성된 액세스 토큰을 http 쿠키에 설정
authMiddleware(req, res, next): http요청을 처리하고 사용자 및 소유자의 인증상태 확인
요청에서 액세스 토큰과 리프레시 토큰을 가져오고, 없는 경우 401코드와 오류메세지 반환
액세스 토큰의 유효성 검사, 토큰의 페이로드에 따라 사용자 또는 사장으로 각각 인증
토큰이 만료되었을 경우 리프레시 토큰의 유효성을 확인하고 새로운 액세스 토큰과 리프레시토큰 쌍을 생성해 http 쿠키에 설정
인증 성공 시 res.locals.user 또는 owner에 사용자(사장) 정보를 저장하고 다음 미들웨어 함수로 제어를 넘김
리프레시 토큰 만료시 재로그인이 팔요하다는 메시지오 ㅏ함께 401상태코드 반환, res.locals.user 또는 owner를 null로 설정하고 액세스 토큰과 리프레시 토큰 쿠키 삭제
좋은 글 감사합니다. 자주 올게요 :)