JWT - JSON Web Token
JSON으로 표현된 정보를 안전하게 주고받기 위한 Token의 일종
- 사용자 확인을 위한 인증 정보
- 위변조 확인이 용어(위변조가 어려움, 읽는거는 쉽다)
- 토큰 기반 인증 시스템에서 많이 활용(사실상 표준)
header.payload.signature
- header: JWT의 부수적 정보
- payload: JWT로 전달하고자 하는 정보가 담긴 부분
- signature: JWT의 위변조 판단을 위한 부분
Token Based Authentication - 세션을 저장하지 않고 토큰의 소유를 통해 인증 판단
- 상태를 저장하지 않기 때문에 서버의 세션관리 필요 없음
- 토큰 소요가 곧 인증 -> 여러 서버에 걸쳐서 인증 가능
- 쿠키는 요청을 보낸 브라우저에 종속되지만(이동시킬수 없음), 토큰은 쉽게 첨부가 가능함(주로 Header)
- 로그인 상태라는 개념이 사라져서 기본적으로 로그아웃이 불가(프론트엔드에서 폐기 해야함)
https://github.com/joshiaLee/SpringSecurityAndJWT