JWT & Passport

최진서·2023년 2월 21일
0

JWT란

JWT(JSON Web Token)는 당사자간에 정보를 JSON 개체로 안전하게 전송하기위한 컴팩트하고 독립적인 방식을 정의하는 개방형 표준(RFC 7519)입니다.
이 정보는 디지털 서명이 되어 있으므로 확인하고 신뢰할 수 있다

  • 정보를 안전하게 전할 때 혹은 유저의 권한 같은 것을 체크를 하기 위해서 사용하는데 유용한 모듈

JWT의 구조

  • 토큰에 대한 메타 데이터를 포함

Payload

  • 유저정보, 만료기간, 주제 등

Verify Signature

  • 토큰이 보낸 사람에 의해 서명되었으며 어떤 식으로든 변경되지 않았는지 확인하는데 사용되는 서명

JWT 사용 흐름

  • 요청을 보낼 때 보관하고 있던 Token을 Header에 넣어서 같이 보냄
  • 서버에서는 JWT를 이용해서 Token을 다시 생성한 두개를 비교함

    서버에 요청에서 같이 온 headers랑 payload를 가져오고 서버 안에 가지고 있는 Secret을 이용해서 Signature부분을 다시 생성함 그리고 그 둘이 일치하면 통과

Passport

  • 서버에서 secret text를 이용해서 알아내면 payload 안에 유저 이름을 이용해서 데이터베이스 안에 있는 유저 이름에 해당하는 유저 정보를 모두 가져올 수 있는것을 쉽게 처리하는 모듈

참고자료

https://www.inflearn.com/course/lecture?courseSlug=%EB%94%B0%EB%9D%BC%ED%95%98%EB%8A%94-%EB%84%A4%EC%8A%A4%ED%8A%B8-%EC%A0%9C%EC%9D%B4%EC%97%90%EC%8A%A4&unitId=87250&tab=curriculum

profile
Frontend developer

0개의 댓글