개발/library, framework

[JWT | Node.js] expiresIn 만료기간 적용이 안될때

prpn97 2023. 9. 6. 08:58

문제점

새로 사이드 프로젝트를 준비하면서 jwt쪽을 구현하고 있는데, 갓 생성한 토큰인데도 jwt expired로 이미 토큰이 만료되었다는 이슈가 있었다. 

환경변수로 expiresIn에 해당 값을 넣어줬으나 적용되지 않아서 생긴 문제로 보인다. 

아래와 같이 구성했다. 

      const accessToken = jwt.sign(
        accessTokenPayload,
        authConfig().ACCESS_JWT_SECRET,
        {
          expiresIn: authConfig().ACCESS_JWT_EXPIRATION,
          audience: 'onlyou',
          issuer: 'test',
        },
      );

 

 

해결

 expiresIn: parseInt(authConfig().ACCESS_JWT_EXPIRATION, 10),

 

간단하다. env에서 가져온 환경변수가 문자열로 되어있어서 정수로 바꿨더니 잘 적용되었다. 

적용되지 않았을 때 에러를 보면 UTC시간 기준으로 현재 시간이 만료시간으로 잡혀있었는데, 아예 적용되지 않았던 것이다.

728x90