카테고리 없음

개발일지 77일차

index.ys 2023. 6. 23. 14:11

유저피드백 반영

  • 푸댕 앱 메인에서 document.cookie 명령어를 콘솔에 입력했을때 리프레쉬 토큰이 노출되어서 보안설정을 위해 쿠키에 옵션을 추가로 설정했다.

  • 로그인 요청시 요청객체에 액세스토큰과 리프레쉬 토큰을 담아 클라이언트로 전송해준다
  • 이때 httponly 설정과 sercure설정을 true로 설정하여 클라이언트 스크립트에서 쿠키에 접근할 수없도록 설정하고 쿠키가 https 프로토콜을 통해서만 전송되도록 설정했다
res.cookie("accesstoken", `Bearer ${accessToken}`, { httpOnly: true, secure: true });
res.cookie("refreshtoken", `${refreshToken}`, { httpOnly: true, secure: true });

궁금한점

  • 액세스토큰을 재발급할 때도 httponly 설정을 추가로 해줘야 하는지??
  • 리프레쉬 토큰이 없을때 액세스 토큰을 발급해주는 미들웨어 설정이 존재하는데 액세스 토큰이 만료되었을때 리프레쉬 토큰이 있는지 확인하고 재발급을 하는과정에서 액세스 토큰에 httponly설정과 secure 설정을 추가로 해줘야 하는지??
 if (!isAccessTokenValidate) {
            const accessTokenId = await tokenRepository.findTokenId(refreshtoken);
            if (!accessTokenId) {
                return res.json({ errorMessage: "Refresh Token의 정보가 서버에 존재하지 않습니다.", });
            }
            const newAccessToken = createAccessToken(accessTokenId);
            res.cookie("accesstoken", `Bearer ${newAccessToken}`);
            return res.status(203).json({ newAccessToken });
        }