개발/Web
[Node.js] jwt토큰 발급과 인증 (jsonwebtoken 라이브러리)
유훈 | Yuhun
2022. 1. 12. 14:22
반응형
jwt로 토큰을 발급해 사용함으로써 사용자 인증을 할 수 있습니다.
여기서는 발급과 인증을 하는 방법을 알아보겠습니다.
토큰 발급
jwt.sign(토큰화할 것, 토큰키, 옵션, 콜백 함수 )
이제 1분동안 유효한 id 값을 가진 토큰을 생성해 보겠습니다.
const jwt = require('jsonwebtoken');
cosnt tokenKey = '임의의 키 설정' // 물론 실제 개발시에는 따로 숨겨놔야합니다.
const id = 'example_id'
const token = jwt.sign({ id : id }, tokenKey, { {id:id}면 {id}로 축약 가능
expiresIn: 60, // 1분 유효한 토큰 발급(초 단위)
});
이제 이 token을 응답으로 넘겨주고 사용하면 됩니다.
자 만약 클라이언트에서 토큰을 보내 요청하면 토큰을 해석해 보겠습니다.
const jwt = require('jsonwebtoken');
cosnt tokenKey = '토큰을 만들때 쓴 값'
cosnt token = '요청에서 받아온 token'
const data = jwt.verify(token, tokenKey);
// 이제 data를 클라이언트로 보내서 사용.
토큰이 유효하다면 해석해 만들때 넣은 오브젝트를 반환하고 아니라면 error메세지를 응답합니다.
이제 이 토큰을 이용해 사용자의 로그인 상태를 관리할 수 있습니다.
저는 cookie에 저장해 사용할 예정인데 다음 포스팅에서 token을 cookie에 저장해 사용자 인증을 하는 방법을 알아보겠습니다.
반응형