JWT에 userI와 email을 넣었는데 어떻게 꺼낼까?

먼저! 그 전에 JWT와 Filter에 대해서 알아보자!
JWT에 대하여 말하기 전에 Http의 stateless와 connectionless에 대하여 이야기를 해보자
- HTTP의 stateless? conntectionless?
stateless → 상태가 없는
conntectionless → 비연결성의
이는 다시 말하자면, HTTP의 요청들은 서로 독립적이라는 뜻!
로그인이 되어있다는 것은 분명 상태(데이터)를 가지고 있다는 뜻
유저 데이터를 갖고 있어야만 로그인이 유지가 될테니까요!
즉, 클라이언트(유저)나 서버 둘 중 하나는 데이터를 갖고 있어야한다는 뜻

💡 클라이언트와 서버 둘 다 상태(데이터)를 갖고 있을 수 있다.
1. 클라이언트에서 상태를 관리할 때 쓰는 방식을 JWT
2. 서버에서 상태를 관리할 때 쓰는 방식을 Session
즉, 로그인 상태일 때
- JWT → 클라이언트에서는 JWT(유저정보)를 갖고 있고 이를 HTTP 요청마다 같이 보내서 항상 자신이 누구인지를 알려서 HTTP 요청들 간의 독립성을 극복
ex) : 매번 식당을 갈 때마다 '나는 OOO입니다!'라고 정보를 알려주는 것- Session → 서버에서는 서버에 Session(유저정보)를 갖고 있고, 클라이언트는 Session Key(랜덤하고 무의미한 값)를 갖고 이를 HTTP 요청마다 같이 보내서 HTTP 요청들 간의 독립성을 극복하는 것
ex) : 식당을 갈 때 받은 암호를 알려주는 것
- 클라이언트에서 JWT를 삭제한다.

- 클라이언트에서 session key를 삭제한다.
- 서버에서 session 데이터를 삭제한다.

- Q. JWT의 특징을 한 단어로 말해보면?
A. (서버 기준) stateless- Q. Session의 특징을 한 단어로 말해보면?
A. (서버 기준) stateful
💡 스프링에 있는 하나의 도구일 뿐

Client의 요청이 왔을 때 서버의 가장 앞에서 요청을 Filtering하는 용도로 쓰는 것