JWT에서 Web Token에서 verify 함수

togongs·2021년 10월 7일
0

2021

목록 보기
25/30

웹서비스들을 운영할 때 로그인, 회원가입을 구현하는 방법이 몇 가지가 있다.

쿠키로 구현하는 방법 (위험하다. 해커한테 어서 가져가십쇼 하는 꼴)
세션으로 구현하는 방법
외부 서비스를 빌려 Oauth로 구현하는 방법
토큰 방식으로 구현하는 방법. (<-- JWT가 이 방식을 사용한다)


첫 번째 파라미터 token은 이름 그대로 우리가 검증할 토큰이다.
만약 이 토큰이 유효하면 우리는 원하는 decoded data를 반환값으로 얻을 수 있다

두 번째 secretOrPublicKey는 JWT로 생성할 해쉬 생성에 쓰이는 문자열이다.

예시)
1) 동기적으로 진행하는 인증 과정

var decoded = jwt.verify(token, 'shhhhh');
console.log(decoded.foo) // bar

2) 비동기적으로 진행하는 인증 과정

jwt.verify(token, 'shhhhh', function(err, decoded) {
  console.log(decoded.foo) // bar
});

3) 동기적으로 확인하는 invalid token

try {
  var decoded = jwt.verify(token, 'wrong-secret');
} catch(err) {
  // err
}

4) 비동기적으로 확인하는 invalid token

jwt.verify(token, 'wrong-secret', function(err, decoded) {
  // err
  // decoded undefined
});

verify 함수가 반환하는 것이 decoded 형태인 것은 알것같다
그리고 decoded가 callback의 매개변수로 전달되는 것도.

profile
개발기록

0개의 댓글