Skip to content

[미니 세미나] Jwt 동작 방식

July_6 edited this page Feb 23, 2023 · 4 revisions

JWT 란?

  • 클라이언스 - 서버 사이의 인증이나 인가를 위해 주고받는 일종의 토큰.

프로젝트에서 JWT 동작 방식

  1. 사용자 로그인 요청을 한다.
  2. 서버는 회원DB에 들어가 있는 사용자인지 확인을 한다.
  3. 확인이 되면 secret key를 통해 JWT토큰을 발급 하여 클라이언트에 전달한다.

---- 클라이언트에 저장 후 서비스 요청 -----

  1. 서비스 요청
  2. 헤더에 JWT 토큰을 같이 보냄
  3. 서버에서 JWT를 통해 사용자임을 인증 한다.
  4. 클라이언트 요청에 대한 응답과 요청한 데이터를 전달해준다.

프로젝트 적용 방식

Front

  • Vuex 와 store.js 를 활용한 JWT 저장.
  • 필요한 정보를 JWT decoding 을 통해 사용.
  • 인증이 필요한 요청에는 Header 에 JWT 추가.

Backend

  • 로그인 요청 시 새로운 JWT 토큰 발급
  • 요청 종류에 따라 JWT 를 확인하여 인가.
  • 권한이 확인되면 요청에 따른 데이터 처리.
  • JWT의 유효기간을 확인하여 예외 처리.

INFra - Ngnix

  • allowed-headers 설정을 통해 JWT라는 헤더가 서버에 넘어 갈 수 있도록 설정.
  • 해당 부분은 CORS 와도 연관되어 있음.