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

JWT 확인(검증) 개념

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

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

- 서버에서 만들어진 JWT을 클라이언트에 응답으로 전달해 주고, 서버는 이제 JWT에 대해 아무런 데이터도 가지고 있지 않는다.
- 클라이언트로 받은 JWT는 주로 쿠키(http-only)에 저장된다.
- base64 형태의 인코딩된 상태로 토큰(문자열) 저장
JWT 확인(검증)
클라이언트에서 서버로 권한 작업을 요청