본문 바로가기

웹 프로그래밍/스프링

JWT

JWT - JSON Web Token

JSON으로 표현된 정보를 안전하게 주고받기 위한 Token의 일종

  1. 사용자 확인을 위한 인증 정보
  2. 위변조 확인이 용어(위변조가 어려움, 읽는거는 쉽다)
  3. 토큰 기반 인증 시스템에서 많이 활용(사실상 표준)

header.payload.signature

  • header: JWT의 부수적 정보
  • payload: JWT로 전달하고자 하는 정보가 담긴 부분
  • signature: JWT의 위변조 판단을 위한 부분

Token Based Authentication - 세션을 저장하지 않고 토큰의 소유를 통해 인증 판단

  • 상태를 저장하지 않기 때문에 서버의 세션관리 필요 없음
  • 토큰 소요가 곧 인증 -> 여러 서버에 걸쳐서 인증 가능
  • 쿠키는 요청을 보낸 브라우저에 종속되지만(이동시킬수 없음), 토큰은 쉽게 첨부가 가능함(주로 Header)
  • 로그인 상태라는 개념이 사라져서 기본적으로 로그아웃이 불가(프론트엔드에서 폐기 해야함)

 

https://github.com/joshiaLee/SpringSecurityAndJWT

 

GitHub - joshiaLee/SpringSecurityAndJWT

Contribute to joshiaLee/SpringSecurityAndJWT development by creating an account on GitHub.

github.com

 

'웹 프로그래밍 > 스프링' 카테고리의 다른 글

스프링 시큐리티에서 뷰(View)에 대한 접근 설정  (0) 2024.04.09
OAuth2  (0) 2024.02.14
REST  (0) 2024.01.18
스프링 예외 처리  (0) 2023.06.06
자바 예외 이해  (0) 2023.06.03