Session

세션 기반 인증 시스템에서 사용자가 로그인하면, 서버는 사용자 정보를 조회하고, 세션 저장소에 회원 정보 세션을 생성한 다음, 세션 id를 발급한다. 발급된 id는 주로 브라우저의 쿠키에 저장한다.

로그인 이후 사용자가 요청을 보낼 때마다 서버는 세션 저장소에서 세션을 조회한 후 로그인 여부를 결정하여 작업을 처리하고 응답한다.

세션 저장소는 주로 메모리, 디스크, 데이터베이스 등을 사용한다.

Untitled

Json Web Token

토큰은 로그인 이후 서버가 만들어주는 문자열이다. 해당 문자열 안에는 사용자의 로그인 정보가 있고, 해당 정보가 서버에서 발급되었음을 증명하는 서명이 있다. 서명이 있기 때문에 무결성이 보장된다. (무결성: 정보가 변경되거나 위조되지 않았음을 의미하는 성질)

사용자가 로그인하면 서버에서 사용자에게 해당 사용자의 정보를 지니고 있는 토큰을 발급해주고, 추후 사용자가 다른 API를 요청할 때 토큰과 함께 요청해야 한다. 서버는 해당 토큰이 유효한지 검사하고, 결과에 따라 작업을 처리하고 응답한다.

Untitled