Node.js/package

jwt - jsonwebtoken 라이브러리 install/토큰발급/암호화/복호화/검증/기간만료옵션

다닿 2023. 11. 7. 23:57

설치/인스톨하기

npm install jsonwebtoken

암호화

 

const jwt = require("jsonwebtoken");

const token = jwt.sign({ myPayloadData: 1234 }, "mysecretkey");
console.log(token);

 

app.js를 실행 시켜보면

 

 

json이 암호화 되어 출력됨

 

https://jwt.io/

 

JWT.IO

JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.

jwt.io

 

여기서 복호화 결과를 알 수 있음

 

암호화 된 것에 대한 키 인증 확인


복호화

 

const decodedValue = jwt.decode(token); // token은 위에 만든 암호화된내용
console.log(decodedValue);

 

node app.js로 실행시켜보면

 

 

복호화 확인


검증

 

암호화된것과 키를 인자로 검증

const decodedValueByVerify = jwt.verify(token, "mysecretkey");
console.log(decodedValueByVerify);

 

"mysecretkey"는 예시를 위해 사용한 키라는 것을 알고 사용하길 바람.

 

실행 결과

 

 

위의 "mysecretkey"키를 다르게 입력하고 app.js를 실행하면 오류가 나옴

 


기간만료

 

sign 함수안에 들어가서

SignOption

 

만료시간 옵션을 넣어줌

 

 

async function main() {
  const jwt = require("jsonwebtoken");

  const token = jwt.sign(
    { myPayloadData: 1234 },
    "mysecretkey",
    { expiresIn: "1s" } // 1초 후 만료
  );

  setTimeout(()=>{
    const decodedValue = jwt.decode(token);
    const verifyToken = jwt.verify(token, "mysecretkey");
    console.log(verifyToken);
  },1500); // 1.5초 후 실행
}

main()

 

 

실행하면 타임아웃 에러가 뜸

'Node.js > package' 카테고리의 다른 글

passport-kakao  (0) 2023.11.22
yarn 처음 사용해보기 설치/사용  (0) 2023.11.21
.env dotenv 라이브러리  (0) 2023.11.12
cryptojs 암호화 라이브러리  (0) 2023.11.12