JWT는 로그인, 회원가입같이 인증이 필요한 정보를 검증할 때 사용되는 토큰이다.
Node.js에서는 jsonwebtoken이라는 라이브러리가 있어 npm 를 통해 설치가 가능하다.
More About JWT, Click Here
터미널에 입력해서 설치하기
npm i jsonwebtoken -S
app.js에 jsonwebtoken 호출하기
const jwt = require('jsonwebtoken');
JWT는 주어진 정보와 Secret key를 이용해서 토큰을 발급해 주는데,
토큰은 어디서나 복호화가 가능하기에 JWT를 암호화라기 보단 Serialize라고 부른다.
실제 사용 가능 유무는 Secret key로 확인하기 때문에 보안을 위해서라면 secret key는 최대한 어렵게 만들어줘야한다.
const token = jwt.sign({ test: true }, 'secertkey');
console.log(token)
발급받은 토큰은 아래와 같이 확인할 수 있다.
//decode()는 유효성 검사없이 토큰의 실제 값만 확인할 때 사용
jwt.decode('token값')
// verify()는 유효성도 같이 검사하며 secret key가 틀릴 시 invaild signature가 출력된다.
jwt.verify('token값')