윤진 ⇒ JWT가 활용되는 곳 모바일, access token&refresh token 보안 강화

도균 ⇒ JWT 서버의 관리

인증 방식의 종류 - Cookie, Session, Token

JWT란?

JWT 구조

JWT 기반 인증 동작과정

  1. [클라이언트] 사용자가 ID, PW를 입력하여 서버에 로그인 인증을 요청한다.서버에서 클라이언트로부터 인증 요청을 받으면, Header, PayLoad, Signature를 정의한다.
  1. [서버] Hedaer, PayLoad, Signature를 각각 Base64로 한 번 더 암호화하여 JWT를 생성하고 이를 쿠키에 담아 클라이언트에게 발급한다.
  2. [클라이언트] 클라이언트는 서버로부터 받은 JWT를 로컬 스토리지에 저장한다. (쿠키나 다른 곳에 저장할 수도 있음) API를 서버에 요청할때Authorization header에 Access Token을 담아서 보낸다.
  3. [서버] 서버가 할 일은 클라이언트가 Header에 담아서 보낸 JWT가 내 서버에서 발행한 토큰인지 일치 여부를 확인하여 일치한다면 인증을 통과시켜주고 아니라면 통과시키지 않으면 된다. 인증이 통과되었으므로 페이로드에 들어있는 유저의 정보들을 select해서 클라이언트에 돌려준다.
  4. [클라이언트] 클라이언트가 서버에 요청을 했는데, 만일 액세스 토큰의 시간이 만료되면 클라이언트는 리프래시 토큰을 이용해서 서버로부터 새로운 엑세스 토큰을 발급 받는다.

Untitled

JWT 장단점

Untitled