설치/인스톨하기
npm install jsonwebtoken
암호화
const jwt = require("jsonwebtoken");
const token = jwt.sign({ myPayloadData: 1234 }, "mysecretkey");
console.log(token);
app.js를 실행 시켜보면
json이 암호화 되어 출력됨
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 |