1. Token 기반 인증
Session 기반인증 = 서버(혹은 DB)에 유저 정보를 담는 방식
"이 부담을 클라이언트에게 넘겨줄수 없을까?" 에서 고안되었다.
나 이 토큰 있으니까 입장시켜줘 (증표)
토큰은 유저 정보를 암호화한 상태로 담을 수 있고, 암호화했기 때문에 클라이언트에 담을 수 있다 .
(세션 기반인증은 데이터를 서버에서 관리)
대표적인 토큰기반 인증 ⇒ JWT(JSON Web Token)
2. Token 인증 절차
인증 절차
- 일단 사용자가 로그인을 시도하고
- DB에서 사용자의 ID와 PASSWORD가 정확한 것인지 확인한다. (여기까진 session과 동일)
- 사용자의 정보가 맞는것이 확인되면 ACCESS TOKEN(JWT)을 발급한다.
- ACCESS TOKEN을 응답한다. 이 때 쿠키에 저장할 수도 있고 local storage에 저장할 수도 있다.
인증 이후
- 요청과 함께 발급받은 ACCESS TOKEN을 서버에 전달한다.
- 이게 유효한 토큰인지 확인을 한다.