1. Token 기반 인증


Session 기반인증 = 서버(혹은 DB)에 유저 정보를 담는 방식

"이 부담을 클라이언트에게 넘겨줄수 없을까?" 에서 고안되었다.

나 이 토큰 있으니까 입장시켜줘 (증표)

토큰은 유저 정보를 암호화한 상태로 담을 수 있고, 암호화했기 때문에 클라이언트에 담을 수 있다 .

(세션 기반인증은 데이터를 서버에서 관리)

대표적인 토큰기반 인증 ⇒ JWT(JSON Web Token)

2. Token 인증 절차


인증 절차

  1. 일단 사용자가 로그인을 시도하고
  2. DB에서 사용자의 ID와 PASSWORD가 정확한 것인지 확인한다. (여기까진 session과 동일)
  3. 사용자의 정보가 맞는것이 확인되면 ACCESS TOKEN(JWT)을 발급한다.
  4. ACCESS TOKEN을 응답한다. 이 때 쿠키에 저장할 수도 있고 local storage에 저장할 수도 있다.

인증 이후

  1. 요청과 함께 발급받은 ACCESS TOKEN을 서버에 전달한다.
  2. 이게 유효한 토큰인지 확인을 한다.