JWT(JsonWebToken)을 생성하고, 검증하는 방법과 과정을 이미지와 설명을 통해 내용을 정리하였습니다. 아래 내용은 생활코딩 유튜브를 참고하여 간략히 정리하였습니다.

JWT 생성 개념

1.png

JWT 확인(검증) 개념

2.png

JWT 생성

클라이언트에서 서버로 Authentication 요청 및 생성

3.png

  1. 클라이언트에서 인증(Authentication) 정보를 서버로 넘긴다.
  2. 서버에서 클라이언트로 부터 받은 인증 정보를 DB로 부터 조회하여 유효한 정보인지 확인한다.
  3. 서버에 저장된 비밀키와 암호화 알고리즘을 통해 인증 정보를 암호화 하여 서명을 생성한다.
  4. 생성된 Header(암호화 알고리즘 방식)와 Payload(인증 정보), Signature(서명)을 base64 방식으로 인코딩하여 토큰 형식의 문자열이 생성된다. → JWT 토큰 생성

서버에서 클라이언트로 Authentication 응답

2.png

  1. 서버에서 만들어진 JWT을 클라이언트에 응답으로 전달해 주고, 서버는 이제 JWT에 대해 아무런 데이터도 가지고 있지 않는다.
  2. 클라이언트로 받은 JWT는 주로 쿠키(http-only)에 저장된다.

JWT 확인(검증)

클라이언트에서 서버로 권한 작업을 요청