클라이언트가 회원가입, 로그인, 글작성 등을 할 때, 서버에서 사용자를 식별하기 위해 인증이 필요합니다.
http는 Stateless Protocol
입니다. 따라서 상태를 저장하지 않기 때문에 인증을 하기 위해 다음 두가지의 방법을 사용해 사용자를 식별할 수 있습니다.
사용자에게 암호화된 고유한 ID를 부여하고, 사용자의 정보를 서버에 보관하는 방법입니다.
클라이언트가 로그인을 하면 서버에서 사용자가 유효한지 확인합니다. 사용자가 유효하다면 세션을 확인합니다. 세션이 없다면 세션을 만들어 저장하고 세션ID가 담긴 쿠키를 사용자에게 전달합니다.
클라이언트는 다른 요청을 보낼 때 쿠키와 함께 전달되어 세션을 확인하여 사용자를 파악할 수 있게 됩니다.
JWT라고도 하며, JSON을 통해 Web Token을 주고받아 인증을 하는 방법입니다.
클라이언트가 로그인을 하면 서버에서 사용자가 유효한지 확인합니다. 사용자가 유효하다면 Token을 만들어 클라이언트에게 보내줍니다. 클라이언트는 다른 요청을 보낼 때 이 Token을 Header에 포함하여 서버에 전달합니다. 그럼 서버는 이 Token이 유효한지 확인을 하고 클라이언트에게 요청에 대한 응답을 보내줍니다.