로그인 유지 버튼 만들기-Server

공부중인 개발자·2021년 9월 2일
0

project

목록 보기
3/4

로그인 유지버튼을 만들어 봤다.

로그인 유지를 하기위해서 우리 프로젝트에서 사용한 것은 토큰이었다.
JWT 토큰을 쿠키에 넣어서 리랜더링 될때 클라이언트가 서버로 쿠키를 보내고 서버는 쿠키를 확인해서 필요한 정보를 넘겨주는 방식이다.

cookie option-MDN
사용한 방법은 쿠키의 옵션 중 하나인 maxAge를 이용했다.
maxAge 옵션을 주지 않는다면 cookie는 세션이 유지될때까지 수명을 가지고 있고 브라우저를 끄면 쿠키 역시 사라지게됐다. 그렇기 때문에 로그인 상태 유지 체크박스를 체크 유무를 boolean 값으로 서버에 넘겨줬고

sendToken: (res, keepLogin, accessToken, refreshToken) => {
    let cookieOptionA = {
      httpOnly: true,
      secure: true,
      sameSite: "None",
    };
    let cookieOptionR = {
      httpOnly: true,
      secure: true,
      sameSite: "None",
    };
    if (keepLogin) {
      cookieOptionA.maxAge = 60 * 60 * 24 * 1000;
      cookieOptionR.maxAge = 60 * 60 * 24 * 7 * 1000;
    }
    res.cookie("jwtA", accessToken, cookieOptionA);
    res.cookie("jwtR", refreshToken, cookieOptionR);
    res.status(200).json({ message: "The access_token is ready." });
  },

쿠키 옵션을 넣어주게 됐다.

꽤 기본적인 기능중 하나인데 아예 생각을 못하고 있다가 작업 후반에야 팀원분의 말을 듣고 깨달았다.

profile
열심히 공부하자

0개의 댓글